Ir ao conteúdo
  • Cadastre-se

dificuldade em html + php


CrowDark

Posts recomendados

Boa tarde pessoal...

Bom... sou iniciante em programação para web, e comecei pegando html e php, fiz um site de cadastro mas toh tendo dificuldade. Tipo, fiz a parte de html e tá fufando direitinho, mas a parte de php q fica responsavel por pegar os dados e passar para variaveis, nao tá funfando, simplesmente parece q nao pega os dados, só sei q sempre mostra só a mensagem de erro do primeiro if. Irei colocar os codigos aqui, eles estão em dois arquivos separados, gostaria q se alguem pudesse me ajudasse, ficarei bastante grato. :l:)

formulario.html



<html>
<head><title>Site de Cadastro</title></head>

<body>

<FONT FACE="Times New romam" SIZE="3" COLOR="blue">
<FORM NAME="cadastro" METHOD="post" ACTION="cadastro.php"

<pre>
Usuario:
<INPUT TYPE="text" name="usuario" size=20>
Senha: <i>(Maximo de 10 caracteres)</i>
<INPUT TYPE="password" name="senha" size=20 maxlength=10>
Confirmar Senha:
<INPUT TYPE="password" name="conf_senha" size=20 maxlength=10>
</pre>

<HR>

<FONT FACE="Arial" SIZE="3" COLOR="black">


<pre>
Nome:
<INPUT TYPE="text" name="nome" size=30>
Sobrenome:
<INPUT TYPE="text" name="sobrenome" size=30>
</pre>

Sexo:
<input type="radio" name="sex" value="masc">Masculino
<input type="radio" name="sex" value="fem">Feminino
<br>
<br>
Data de Nascimento:<br>

<select name="dia">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>

<select name="mes">
<option value="jan">Janeiro</option>
<option value="fev">Fevereiro</option>
<option value="mar">Março</option>
<option value="abr">Abril</option>
<option value="mai">Maio</option>
<option value="jun">Junho</option>
<option value="jul">Julho</option>
<option value="ago">Agosto</option>
<option value="set">Setembro</option>
<option value="out">Outubro</option>
<option value="nov">Novembro</option>
<option value="dez">Dezembro</option>
</select>

<select name="ano">
<option value="1970">1970</option>
<option value="1971">1971</option>
<option value="1972">1972</option>
<option value="1973">1973</option>
<option value="1974">1974</option>
<option value="1975">1975</option>
<option value="1976">1976</option>
<option value="1977">1977</option>
<option value="1978">1978</option>
<option value="1979">1979</option>
<option value="1980">1980</option>
<option value="1981">1981</option>
<option value="1982">1982</option>
<option value="1983">1983</option>
<option value="1984">1984</option>
<option value="1985">1985</option>
<option value="1986">1986</option>
<option value="1987">1987</option>
<option value="1988">1988</option>
<option value="1989">1989</option>
<option value="1990">1990</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>

<pre>
Rua:
<INPUT TYPE="text" name="rua" size=40>
Numero:
<INPUT TYPE="text" name="num" size=10>
Complemento:
<INPUT TYPE="text" name="comp" size=10>
Bairro:
<INPUT TYPE="text" name="bairro" size=40>
Cidade:
<INPUT TYPE="text" name="cid" size=40>
Estado:
<INPUT TYPE="text" name="est" size=40>
País:
<INPUT TYPE="text" name="país" size=40>
</pre>
<br>
<input type="submit" name="enviar" value="Enviar">
<input type="reset" value="Limpar Tudo">
</form>

</body>
</html>

cadastro.php


<?php
include'formulario.html';

echo "aqui";

$usuario=$_post["usuario"];
$senha=$_post["senha"];
$conf_senha=$_post["conf_senha"];
$nome=$_post["nome"];
$sobrenome=$_post["sobrenoma"];
$sex=$_post["sex"];
$dt_nasc_dia=$_post["dia"];
$dt_nasc_mes=$_post["mes"];
$dt_nasc_mes=$_post["ano"];
$rua=$_post["rua"];
$num=$_post["num"];
$comp=$_post["comp"];
$bairro=$_post["bairro"];
$cidade=$_post["cid"];
$estado=$_post["est"];
$pais=$_post["pais"];
if(empty($usuario))
{
die("Você deve preencher o campo Usuario"); /*só aparece essa parte, mesmo q eu deixe tudo sem digitar, ou digite o usuario*/
}
if(empty($senha))
{
die("Você deve preencher o campo Senha");
}
if(empty($conf_senha))
{
die("Você precisa Confirmar a senha");
}
if((strcmp($senha,$conf_senha))!=0)
{
die("Senhas diferentes! Favor confirmar a senha novamente");
}
if(empty($nome))
{
die("Preencha o campo Nome");
}
if(empty($rua))
{
die("Você deve digitar a Rua em que você mora");
}
if(empty($num))
{
die("Sua casa nao tem numero não?");
}
if(empty($comp))
{
die("Preencha o campo Complemento");
}
if(empty($bairro))
{
die("ou, posso jurar que seu bairro tem um nome!");
}
if(empty($estado))
{
die("Preencha o campo Estado!");
}
if(empty($pais))
{
die("Preencha o campo País");
}
?>

Link para o comentário
Compartilhar em outros sites

Seu maior problema é o "include" que você coloca no cadastro.php. Os dois arquivos devem permanecer separados, não coloque o include. O formulário irá passar os valores para o cadastro.php pelo método post. Depois, não utilize a função empty. Teste com isset(), pois empty vai retornar true para o número zero, para a string "0", para uma string vazia... Se quiser ver se está preenchida com alguma coisa, use, primeiro o isset() e depois o strlen(). Ah, e não esqueça de usar as tags de "code" para destacar seus códigos.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Se você dá o comando die() ele para o script ali, não importa o que haja depois.

Pegue uma variável de nome $erro. A cada erro encontrado, ao invés de dar o die(), você vai concatenando essa variável. No final dos seus if's você testar ver se esse $erro foi preenchido. Se foi tem erro, senão continua.

exemplo:

<?php

$erro = '';
.
.
.
if(empty($estado))
{
$erro .= "Preencha o campo Estado!";
}
if(empty($pais))
{
$erro .= "Preencha o campo País";
}

if(!empty($erro)) {
// ação para o erro
} else {
// ação para tudo OK
}

?>

Obs: o include() não é responsável por não dar certo. Pode parecer estranho assim sem contexto, mas não interfere neste caso.

Obs2: Não use o empty() pra testar. O certo seria a principio você dar um trim() em cada variável, para eliminar os espaços em branco no começo e fim do valor, e depois tratar cada uma delas como você quer: o estado tem que ter 2 caracteres alfabéticos, a data de nascimento tem de ser uma data válida, o número da casa tem de ser numérico, etc. Além disso, em dados que você não tem tanto controle (como o endereço e bairro), você deve tratar antes de inserir no banco, usando por exemplo um mysql_real_escape_string().

Quem não faz desta forma, uma a uma, depois tem lá no banco um monte de dado inconsistente. Crie uma daquelas verificações javascript pros esquecidos e mantenha uma no seu php pros metidos a esperto.

Dá muito mais trabalho, eu sei, mas profissionalmente falando não tem comparação.

Link para o comentário
Compartilhar em outros sites

To com dificuldade com esse código:

<?php

$corpo .= "Nome: ".$_POST['nome']." \n";
$corpo .= "Email:".$_POST['email']." \n";
$corpo .= "Assunto:".$_POST['assunto']." \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.
*/


/*
Mensagem que será exibida na tela após o envio do formulário.

*/
if(mail
("[email protected]", "Agendamento - Explode Sound", $corpo, $headers)
){
echo "<script type=\"text/javascript\">alert(\"Sua mensagem foi enviada com sucesso.\");history.go(-1);</script>\n";
}
else{
echo "<script type=\"text/javascript\">alert(\"Ocorreu um erro ao tentar enviar sua mensagem.\");history.go(-1);</script>\n";
}

?>

quando clico em enviar, ele vai pro meu e-mail, só que chega em branco, sem informação nenhuma!

AJUDA!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!