edudebom Postado Julho 25, 2009 Denunciar Share Postado Julho 25, 2009 Estou usando o seguinte para passar para outra página:header ('location: ../../servidor.php?s=form&msg='.rawurlencode(serialize($msg))); Tenho a seguinte função que é peguei na net e funcionou beleza no Wamp function checkSerialization($string, &$errmsg) { $str = 's'; $array = 'a'; $integer = 'i'; $any = '[^}]*?'; $count = '\d+'; $content = '"(?:\\\";|.)*?";'; $open_tag = '\{'; $close_tag = '\}'; $parameter = "($str|$array|$integer|$any):($count)" . "(?:[:]($open_tag|$content)|[;])"; $preg = "/$parameter|($close_tag)/"; if(!preg_match_all($preg, $string, $matches)) { $errmsg = 'not a serialized string'; return false; } $open_arrays = 0; foreach($matches[1] as $key => $value) { if(!empty($value) && ($value != $array xor $value != $str xor $value != $integer)) { $errmsg = 'undefined datatype'; return false; } if($value == $array) { $open_arrays++; if($matches[3][$key] != '{') { $errmsg = 'open tag expected'; return false; } } if($value == '') { if($matches[4][$key] != '}') { $errmsg = 'close tag expected'; return false; } $open_arrays--; } if($value == $str) { $aVar = ltrim($matches[3][$key], '"'); $aVar = rtrim($aVar, '";'); if(strlen($aVar) != $matches[2][$key]) { $errmsg = 'stringlen for string not match'; return false; } } if($value == $integer) { if(!empty($matches[3][$key])) { $errmsg = 'unexpected data'; return false; } if(!is_integer((int)$matches[2][$key])) { $errmsg = 'integer expected'; return false; } } } if($open_arrays != 0) { $errmsg = 'wrong setted arrays'; return false; } return true; } E uso o seguinte para exibir na página final: $erro = false; $msg = isset($_GET['msg']) ? rawurldecode($_GET['msg']) : false; $msg = checkSerialization($msg, $erro) ? unserialize($msg) : '<p class="msg">'.$msg.'</p>'; if(is_array($msg)) { $msgList = '<ul>'; foreach($msg as $item) $msgList.= '<li class="msg">'.$item.'</li>'; $msgList.= '</ul>'; $msg = $msgList; } print $msg;No navegador exibe algo tipoVocê deve digitar o nomeVocê deve digitar a senhaIsto no Wamp Server, porém testei onde hospedo e não funcionou normalmente. Neste, aparece algo tipo "a:6:{i:0;s:33:\"Você deve preencher o campo Nome.\";i:1;s:32:\"" mas no meu print $msg; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 edudebom Postado Julho 25, 2009 Autor Denunciar Share Postado Julho 25, 2009 Mais algumas informacoes:Num teste, a string:a:6:{i:0;s:33:\"Você deve preencher o campo Nome.\";i:1;s:32:\"Você deve preencher o campo CPF.\";i:2;s:35:\"Você deve preencher o campo E-mail.\";i:3;s:34:\"Você deve preencher o campo Senha.\";i:4;s:36:\"Você deve selecionar o cargo funcao.\";i:5;s:34:\"Você deve preencher o campo login.\";}Tem como erro da funcao checkSerialization o seguinte: 'undefined datatype'; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
edudebom
Estou usando o seguinte para passar para outra página:
Tenho a seguinte função que é peguei na net e funcionou beleza no Wamp E uso o seguinte para exibir na página final:No navegador exibe algo tipo
Você deve digitar o nome
Você deve digitar a senha
Isto no Wamp Server, porém testei onde hospedo e não funcionou normalmente. Neste, aparece algo tipo "a:6:{i:0;s:33:\"Você deve preencher o campo Nome.\";i:1;s:32:\"" mas no meu print $msg;
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.