Smarf 0 Denunciar post Postado Junho 26, 2007 Olá pessoal, Bom estou com uma duvida que está me matando... Tenho um formulario de Envio de dados que se eu não preencher nenhum dado mesmo assim ele envia. Eu gostaria de saber se tem jeito de verificar se os campos estão incorretos e vazios. Obrigado PS.: Este é o Formulario <form action="orcamento.php" method="post" name="form1ario" target="_self"> <table width="450" height="216" border="0" align="center" cellpadding="2" cellspacing="2" style="border: 0 solid #003366"> <center> <tr align="center" valign="top"> <td height="60" colspan="2"><div align="left"> <h5 align="center"><br> </h5> </div></td> </tr> <tr> <td width="110" height="12" align="right" valign="top" class="style3"><div align="right" class="style10"><strong>Nome:</strong></div></td> <td width="318" height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="nome" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="5" align="right" valign="top" class="style3"><div align="right" class="style10">Empresa:</div></td> <td width="318" height="5"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="empresa" type="text" id="empresa" style="border: 1 solid #333333" size="30"> </font></div></td> </tr> <tr> <td height="1" align="right" valign="top" class="style3"><div align="right" class="style10">Endereço:</div></td> <td width="318" height="1"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="endereco" type="text" id="endereco" style="border: 1 solid #333333" size="30"> </font></div></td> </tr> <tr> <td height="2" align="right" valign="top" class="style3"><div align="right" class="style10">Cidade: </div></td> <td height="2"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="cidade" type="text" id="cidade" style="border: 1 solid #333333" size="30"> </font></div></td> </tr> <tr> <td height="5" align="right" valign="top" class="style3"><div align="right" class="style10">Cep:</div></td> <td width="318" height="5"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="cep" type="text" id="cep" style="border: 1 solid #333333" size="10"> </font></div></td> </tr> <tr> <td height="5" align="right" valign="top" class="style3"><div align="right" class="style10">Estado:</div></td> <td width="318" height="5"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="estado" type="text" id="estado" style="border: 1 solid #333333" size="10"> </font></div></td> </tr> <tr> <td height="12" align="right" valign="top" class="style3"><div align="right" class="style9"><span class="style10">Telefone:</span></div></td> <td width="318" height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="telefone" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="12" align="right" valign="top" class="style3"><div align="right" class="style9"><span class="style10">E-mail:</span></div></td> <td width="318" height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="email" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="58" align="right" valign="top" class="style3"><div align="right" class="style10">Mensagem:</div></td> <td width="318" align="left" valign="top"><div align="left"> <font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <textarea rows="5" name="mensagem" cols="30" style="border: 1 solid #333333"></textarea> </font></div></td> </tr> </center> <tr> <center> <td height="20" colspan="2" align="right" valign="top"><p align="center"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="submit" name="Submit" value="Enviar"> <input type="reset" name="Submit2" value="Limpar"> </font></td> </center> </tr> </table> </form> Compartilhar este post Link para o post Compartilhar em outros sites
inforsis 1 Denunciar post Postado Junho 26, 2007 /*Bom dia.crie uma pagina com as funções para validar e formatar os campos do formulário antes de gravar no banco de dados...com um if else... (voce acha varios exemplos aqui no forum...)até mais...qualquer duvida soh falar... */ Compartilhar este post Link para o post Compartilhar em outros sites
Smarf 0 Denunciar post Postado Junho 26, 2007 Pode me passar um aqui mesmoObrigado Compartilhar este post Link para o post Compartilhar em outros sites
inforsis 1 Denunciar post Postado Junho 26, 2007 * pode fazer assim... if($nome == "" || $empresa == "" || $email == "" || $cidade == "" || $mensagem == ""){ [b]// inclua aqui os campos onde o preenchimento no formulario é obrigatorio...[/b]echo "<script>alert(\"Retorne e preencha os dados corretamente.\"); [b]// mensagem de retorno[/b]window.location = 'java script:history.back(-1)';</script>";}else {} só um modelo... até mais... */ Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 26, 2007 Lembre-se de receber os valores do formulário usando as superglobais $_POST ou $_GET. Uma maneira eficiente é assim: $nome = isset($_POST['nome']) ? $_POST['nome'] : ''; Daí você pode fazer a verificação citada pelo inforsis. ;) Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
Smarf 0 Denunciar post Postado Junho 27, 2007 Ainda tenho duvidas...Bom eu coloco isso na página html ou na PHP?Tipo eu coloco onde está o Formulario ou já na Pagina de confimação de envio?Preciso de o código completinho por favor.Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 27, 2007 Você coloca isso no código PHP. O código que postei deve ser inserido antes do código de exemplo do inforsis, pois deve-se criar as variáveis antes de verificar seus valores. ;) Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
Smarf 0 Denunciar post Postado Junho 27, 2007 Mais sera que voce não pode passar o código pra mim desse formulario aqui: Que seja só para mim copiar :D Obrigado Esse é no ORCAMENTO.HTML <form action="orcamento.php" method="post" name="form1ario" target="_self"> <table width="450" height="244" border="0" align="center" cellpadding="2" cellspacing="2" style="border: 0 solid #003366"> <center> <tr align="center" valign="top"> <td height="60" colspan="2"><div align="left"> <h5 align="center"><br> </h5> </div></td> </tr> <tr> <td width="110" height="12" align="right" valign="top" class="style3"><div align="right" class="style10"><strong>Nome:</strong></div></td> <td width="318" height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="nome" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="5" align="right" valign="top" class="style3"><div align="right" class="style10">Empresa:</div></td> <td width="318" height="5"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="empresa" type="text" id="empresa" style="border: 1 solid #333333" size="30"> </font></div></td> </tr> <tr> <td height="1" align="right" valign="top" class="style3"><div align="right" class="style10">Endereço:</div></td> <td width="318" height="1"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="endereco" type="text" id="endereco" style="border: 1 solid #333333" size="30"> </font></div></td> </tr> <tr> <td height="2" align="right" valign="top" class="style3"><div align="right" class="style10">Cidade: </div></td> <td height="2"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="cidade" type="text" id="cidade" style="border: 1 solid #333333" size="30"> </font></div></td> </tr> <tr> <td height="5" align="right" valign="top" class="style3"><div align="right" class="style10">Cep:</div></td> <td width="318" height="5"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="cep" type="text" id="cep" style="border: 1 solid #333333" size="10"> </font></div></td> </tr> <tr> <td height="5" align="right" valign="top" class="style3"><div align="right" class="style10">Estado:</div></td> <td width="318" height="5"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input name="estado" type="text" id="estado" style="border: 1 solid #333333" size="10"> </font></div></td> </tr> <tr> <td height="12" align="right" valign="top" class="style3"><div align="right" class="style9"><span class="style10">Telefone:</span></div></td> <td width="318" height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="telefone" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="12" align="right" valign="top" class="style3"><div align="right" class="style9"><span class="style10">E-mail:</span></div></td> <td height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="email" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="12" align="right" valign="top" class="style3"><div align="right" class="style9"><span class="style10">Quantidade:</span></div></td> <td height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="quantidade" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="12" align="right" valign="top" class="style3"><div align="right" class="style9"><span class="style10">Peça desejada:</span></div></td> <td width="318" height="12"><div align="left"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="peca" size="30" style="border: 1 solid #333333"> </font></div></td> </tr> <tr> <td height="58" align="right" valign="top" class="style3"><div align="right" class="style10">Mensagem:</div></td> <td width="318" align="left" valign="top"><div align="left"> <font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <textarea rows="5" name="mensagem" cols="30" style="border: 1 solid #333333"></textarea> </font></div></td> </tr> </center> <tr> <center> <td height="20" colspan="2" align="right" valign="top"><p align="center"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="submit" name="Submit" value="Enviar"> <input type="reset" name="Submit2" value="Limpar"> </font></td> </center> </tr> </table> </form> E esse é no ORCAMENTO.PHP <?php$corpo = "Nome: ".$_POST['nome']."\n";$corpo .= "Empresa: ".$_POST['empresa']."\n";$corpo .= "Endereço: ".$_POST['endereco']."\n";$corpo .= "Cep: ".$_POST['cep']."\n";$corpo .= "Estado: ".$_POST['estado']."\n";$corpo .= "Telefone: ".$_POST['telefone']."\n";$corpo .= "E-mail: ".$_POST['email']."\n";$corpo .= "Quantidade: ".$_POST['quantidade']."\n";$corpo .= "Peça desejada: ".$_POST['peca']."\n";$corpo .= "Mensagem: ".$_POST['mensagem']."\n";/*mail: preencha com teu email;o parâmetro que está escrito "Contato via site" é título do email;o parâmetro mensagem é o que coleta os dados.*/mail("bsmarf@gmail.com", "Orçamento site", $corpo);/*Mensagem que será exibida na tela após o envio do formulário.*/ echo "<center><h4>Muito Obrigado!</h4></center>"; #Texto um de agradecimentoecho "<center><h3>Em breve entraremos em contato</h3></center>";#Texto dois de agradecimento;?> Eu gostaria de saber onde colocar esses códigos. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 27, 2007 Vou dar um exemplo, daí voc6e segue o raciocínio. Para as variáveis $nome e $empresa: $nome = isset($_POST['nome']) ? $_POST['nome'] : ''; $empresa = isset($_POST['empresa']) ? $_POST['empresa'] : ''; if ($nome == '' || $empresa == '') { //mostre o erro aqui } else { $corpo = "Nome: ".$nome."\n"; $corpo = "Nome: ".$empresa."\n"; } Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 27, 2007 Cara posso dar uma dica para você.. pq você naum valida os campos via JavaScript???? Acho bem melhor doke fazer isso ai que vcs taum fazendo, pois a pessoa jah na hora sabe se esta tudo preenchido... exemplo: <script>function ValidaCampo() { var nome = document.formulario.nome.value; var end = document.formulario.endereco.value; if (nome != "" && end != "") { document.formulario.submit(); } else { if (nome == "") { alert('O campo NOME é obrigatorio'); document.formulario.nome.focus(); } else if (end == "") { alert('O campo END é obrigatorio'); document.formulario.endereco.focus(); } }}</script><form name="formulario" method="post" action="enviar.php"> <p>Campos com * sao obrigatorios <br><br> Nome: <input name="nome" type="text" id="nome"> * <br><br> Tel: <input name="telefone" type="text" id="telefone"> <br><br> End: <input name="endereco" type="text" id="endereco"> * <br><br> <input type="button" name="Button" value="Enviar" onClick="java script: ValidaCampo();"></form> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 27, 2007 Cara posso dar uma dica para você.. pq você naum valida os campos via JavaScript???? Dá para fazer também. O problema de fazer a validação somente com JavaScript é que permite que o usuário desabilite JS e envie o formulário vazio. Compartilhar este post Link para o post Compartilhar em outros sites
Smarf 0 Denunciar post Postado Junho 27, 2007 Nenhum deu certo....Por favor, etou aflito ;DMe expliquem Compartilhar este post Link para o post Compartilhar em outros sites