Esses dias um cliente me pediu para atulizar a versão do php dele do 4 para a versão 5 (a última) e tudo certo nenhum sistema deu erro, com excessão de um formulário de indicação.
É um formulário extremamente simples:
<?phpif( isset( $_POST['validar']) ){$assunto = "Um amigo lhe recomendou o site xxx";$mensagem = "Mensagem de indicação";//Verificaçõesif ( $nome == "" ) {$errors .= "Você não digitou seu nome.<br>";}if ( $email == "" ) {$errors .= "O campo e-mail deve ser preenchido para que possamos entrar em contato.<br>";}if ( $nomeamigo == "" ) {$errors .= "Digite o nome de seu amigo.<br>";}if ( $emailamigo == "" ) {$errors .= "O campo e-mail do amigo deve ser preenchido para que possamos entrar em contato.<br>";}if ( $errors == "" ) {//Se não tiver erros, enviar mensagem$headers = "From: mymail@myserver.com \nContent-type: text/html"; mail ($emailamigo, $assunto, $mensagem, $headers); echo "Mensagem enviada";}else{echo "Ocorreu os seguintes erros ao tentar enviar o formulário:<br><br>$errors";}}else{//Exibir formulário simplesprint "<form action='" . $_SERVER['PHP_SELF'] . "' method='post' name='indika'>";print('Seu nome:<br> <input type="text" name="nome" id="nome" size="30"><br>Seu e-mail:<br> <input type="text" name="email" size="30"><br>Nome do amigo:<br> <input type="text" name="nomeamigo" size="30"><br>Email do Amigo(a):<br> <input type="text" name="emailamigo" size="30"><br><br><br><input type="submit" name="validar" value="Enviar" /><input class="reset" type="reset" name="reset" value="Limpar"></form>');}?>Agora não sei se foi exatamente por causa da alteração da versão do php ou se o próprio cliente foi editar alguma coisa no código, acabou errando, não tinha a outra versão salva e não quis dizer.
Sempre que preenche todos os dados no form, clica em enviar, ele exibe as mensagens de erro, como se não tivesse preenchido nenhum campo:
E pelo que eu sei, para pegar um campo de formulário, é só definir o "name" como uma variável, ou seja:Ocorreu os seguintes erros ao tentar enviar o formulário:
Você não digitou seu nome.
O campo e-mail deve ser preenchido para que possamos entrar em contato.
Digite o nome de seu amigo.
O campo e-mail do amigo deve ser preenchido para que possamos entrar em contato.
<input type="text" name="nome" id="nome" size="30">
Para pegar esse campo, usar: $nome.
Ou é isso o erro, que não identifica o que é preenchido no campo dos formulários?
Alguém percebeu algum erro? Ou também achou tudo muito estranho?
