
Validar Campos No Formulário
#1
Posted 08/02/2007, 12:05
Tenho o script abaixo mais não está funcionando. Poderiam me orientar sobre isso?
if ($_POST[Nome] == "" || $_POST[Nascimento] == "" || $_POST[Sexo] == "" || $_POST[Est_Civil] == "" || $_POST[Cargo] == ""
|| $_POST[Formacao] == "" || $_POST[Igreja] == "" || $_POST[End_Igreja] == "" OR $_POST[Tel_Igreja] == "" || $_POST[Ativ_Secular] == ""
|| $_POST[Rg] == "" || $_POST[End_Residencia] == "" || $_POST[Bairro_residencia] == "" || $_POST[Cid_Est] == "" || $_POST[CEP] == ""
|| $_POST[Tel_Residencial] == "" || $_POST[Celular] == ""){
print "<font size='2' face='Tahoma'>Preencha todos os campos do formulário, por favor!</font><BR>";
}
Se eu deixo um campo em branco, ele enviar os dados e dá a msg "Preencha todos os campos do formulário, por favor!"... se eu preencho todos os campos ele também envia a msg.
No formulario há campos text e select.
Agradeço a todos!
#2
Posted 08/02/2007, 12:10
$_POST[Nome] == ""
usar
empty($_POST["Nome"])
if (empty($_POST["Nome"]) || empty($_POST["Nascimento"]) || empty($_POST["Sexo"]) || empty($_POST["Est_Civil"]) || empty($_POST["Cargo"]) || empty($_POST["Formacao"]) || empty($_POST["Igreja"]) || empty($_POST["End_Igreja"]) OR empty($_POST["Tel_Igreja"]) || empty($_POST["Ativ_Secular"]) || empty($_POST["Rg"]) || empty($_POST["End_Residencia"]) || empty($_POST["Bairro_residencia"]) || empty($_POST["Cid_Est"]) || empty($_POST["CEP"]) || empty($_POST["Tel_Residencial"]) || empty($_POST["Celular"]) ){
Edição feita por: xulapa4fun, 08/02/2007, 12:12.
#4
Posted 08/02/2007, 15:34
Té mais!
#5
Posted 08/02/2007, 15:52

Pois aparentemente tá certo, o problema deve estar em outro lugar, mas assim os valores que vem do "$_POST" jão exibidos tipo esta "echo $_POST[Nome];", mas assim o recomendando sempre é usar aspas para ele não confundir os valore '$_POST["Nome"]'.....
#6
Posted 08/02/2007, 16:38
Experimente substituí-lo por ||
Se bem que este tipo de validação, geralmente é feito do lado cliente com javascript.

Edição feita por: aimola, 08/02/2007, 16:39.
e que os passos de amanhã sejam mais largos que os de hoje.
#7
Posted 08/02/2007, 19:01
é impressão minha ou tem um OR alí? :s
Experimente substituí-lo por ||
Se bem que este tipo de validação, geralmente é feito do lado cliente com javascript.
Bem OR e || é a mesma coisa em PHP....
Mas assim só JavaScript é muito inseruro pois o cara pode copiar a pagina e rancar o JavaScript para ficar seguro as 2 verificação é o ideal

#8
Posted 09/02/2007, 14:34
Té mais!
#9
Posted 09/02/2007, 15:59
if($_POST['nome'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Nome');</script>";
}
if($_POST['email'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Email');</script>";
}
if($_POST['senha'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Senha');</script>";
}
Eu sei que assim o código fica mais cumprido, mas veja a vantagem !! você pode criar um alert pra cada campo... eu faço assim pq sempre os forms que eu faço nem todos os campos tem preenchimento obrigatório, e o bom de fazer assim eh que o usuario sempre vai ficar ciente do campo que ele deixou/esqueceu de preencher !!
FLW
#10
Posted 12/02/2007, 09:57
cara do jeito que eu uso eu faço um Echo pra cada if !! exemplo:
if($_POST['nome'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Nome');</script>";
}
if($_POST['email'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Email');</script>";
}
if($_POST['senha'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Senha');</script>";
}
Eu sei que assim o código fica mais cumprido, mas veja a vantagem !! você pode criar um alert pra cada campo... eu faço assim pq sempre os forms que eu faço nem todos os campos tem preenchimento obrigatório, e o bom de fazer assim eh que o usuario sempre vai ficar ciente do campo que ele deixou/esqueceu de preencher !!
FLW
Olá Dark Sonic!
Beleza... era isso mesmo que eu queria... coloquei e deixei em branco e deu o alerta. Só que dou Ok e ele envia os dados do email. Sei que tem algo errado no script... poderia me orientar? Segue abaixo o meu ENVIAR.PHP.
<?
include_once('/home/mvida/ultramail/ultramail.php');
include "config.php";
// primeiro vamos verificar se todos os campos foram preenchidos
if($_POST['nome'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Nome');</script>";
}
// o principal agora, envia o e-mail
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .="From: Missao Vida <mvida@mvida.org.br>\n\r";
$headers .= "Return-Path: <mvida@mvida.org.br>\n";
if ( UltraMail('mvida@mvida.org.br', 'Inscrição II Congresso - Via Internet', $msg, $headers ) == TRUE )
{
print "<font size='2' face='Verdana, Arial, Helvetica, sans-serif'>Dados enviados com sucesso.<br>Confirme a inscrição enviando comprovante de depósito.</font><BR>";
}
else
{
print 'ERRO DE ENVIO: ' . $UltraMailError;
exit;
}
O ultramail é um substituto do email para o HOSTNET... Coloquei só um alerta para testar... Acho que deveria ter um if né.... tipo assim... se o nome e os outros dados estiverem em branco, dá-se o alerta. Deu o OK no alerta a pagina de cadastro fica... se estiver tudo certo... envia-se o email... mas não consigo traduzir para a programação, por ser um tanto que novato em PHP.
?>
#11
Posted 12/02/2007, 10:50
echo "<script>alert('não preencheu o campo NOME');</script>";
você dah outro echo usando o codigo js pra redirecionar pq ao redirecionar ele naum iria ler o resto do codigo fazendo com que não chegasse na parte do codigo que envia o email !! Ou seja, ficaria mais ou menos assim
echo "<script>alert('não preencheu o campo NOME');</script>";
echo "<script>location.url='formulario.php';</script>";
tenta faszer assim e dps vc me diz se deu certo !!!
qualquer coisa eh soh postar ae que tanto eu como qualquer outro user vai tentar lhe ajudar !!1
flw
#12
Posted 12/02/2007, 15:21
if($_POST['nome'] == ""){
echo "<script>alert('É necessario o preenchimento do campo Nome');</script>";
echo "<script>location.url='http://www.mvida.org.br/congresso/form/inscricao2.php';</script>";
}
#13
Posted 12/02/2007, 15:23
<?php include_once("/home/mvida/ultramail/ultramail.php"); include_once("config.php"); // primeiro vamos verificar se todos os campos foram preenchidos if($_POST['nome'] == ""){ echo "É necessario o preenchimento do campo Nome<br>"; echo "<a href=\"java script:windows.history.go(-1);\">[ Voltar ]</a>"; } else { // o principal agora, envia o e-mail $headers = "C?> ontent-type: text/html; charset=iso-8859-1\r\n"; $headers .="From: Missao Vida <mvida@mvida.org.br>\n\r"; $headers .= "Return-Path: <mvida@mvida.org.br>\n"; if (UltraMail('mvida@mvida.org.br', 'Inscrição II Congresso - Via Internet', $msg, $headers ) == TRUE ) { print "<font size='2' face='Verdana, Arial, Helvetica, sans-serif'>Dados enviados com sucesso.<br>Confirme a inscrição enviando comprovante de depósito.</font><BR>"; } else { print 'ERRO DE ENVIO: ' . $UltraMailError; exit; } } ?>
#14
Posted 13/02/2007, 11:53
Seria assim...
<?
include_once('/home/mvida/ultramail/ultramail.php');
include "config.php";
// primeiro vamos verificar se todos os campos foram preenchidos
if($_POST['nome'] == ""){
echo "<font size='2' face='tahoma'>É necessário o preenchimento do campo Nome.</font><br>";
echo "<font size='2' face='tahoma'><a href=\"java script:window.close();\">Fechar Janela</a></font>";
} else {
if ($_POST['Nascimento'] == ""){
echo "<font size='2' face='tahoma'>É necessário o preenchimento do campo Nascimento.</font><br>";
echo "<font size='2' face='tahoma'><a href=\"java script:window.close();\">Fechar Janela</a></font>";
} else {
if ($_POST['Sexo'] == ""){
echo "<font size='2' face='tahoma'>É necessário o preenchimento do campo Sexo.</font><br>";
echo "<font size='2' face='tahoma'><a href=\"java script:window.close();\">Fechar Janela</a></font>";
} else {
// o principal agora, envia o e-mail
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .="From: Missao Vida <mvida@mvida.org.br>\n\r";
$headers .= "Return-Path: <mvida@mvida.org.br>\n";
if ( UltraMail('mvida@mvida.org.br', 'Inscrição II Congresso - Via Internet', $msg, $headers ) == TRUE )
{
print "<font size='2' face='tahoma'>Dados enviados com sucesso.<br>Confirme a inscrição enviando comprovante de depósito.</font><BR>";
}
else
{
print 'ERRO DE ENVIO: ' . $UltraMailError;
exit;
}
}
?>
Fiz assim e tá dando este erro...
Parse error: parse error, unexpected $ in /home/mvida/www/congresso/form/enviar.php on line 36
Edição feita por: Bittencourt, 13/02/2007, 12:52.
#15
Posted 13/02/2007, 13:26
É meio obvio que ai dar erro ... pois vc da erro no "alert", mas ele não segura nada, e continua a execução do script vc deve fazer um jogo de "ELSE's"
<?php include_once("/home/mvida/ultramail/ultramail.php"); include_once("config.php"); // primeiro vamos verificar se todos os campos foram preenchidos if($_POST['nome'] == ""){ echo "É necessario o preenchimento do campo Nome<br>"; echo "<a href=\"java script:windows.history.go(-1);\">[ Voltar ]</a>"; } else { // o principal agora, envia o e-mail $headers = "C?> ontent-type: text/html; charset=iso-8859-1\r\n"; $headers .="From: Missao Vida <mvida@mvida.org.br>\n\r"; $headers .= "Return-Path: <mvida@mvida.org.br>\n"; if (UltraMail('mvida@mvida.org.br', 'Inscrição II Congresso - Via Internet', $msg, $headers ) == TRUE ) { print "<font size='2' face='Verdana, Arial, Helvetica, sans-serif'>Dados enviados com sucesso.<br>Confirme a inscrição enviando comprovante de depósito.</font><BR>"; } else { print 'ERRO DE ENVIO: ' . $UltraMailError; exit; } } ?>
Mais correto seria usar die().
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)