Jump to content


Photo

Ajuda, Erros Ao Enviar 2 Inputs..


  • Faça o login para participar
2 replies to this topic

#1 Mullets

Mullets

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 23/06/2007, 22:58

Galera, to com um probleminha aqui, não to consiguindo enviar pro DB o ESTADO e a CIDADE, segue o cadastro

cadastro.php
<?php
$estado[1] = "AC";
$estado[2] = "AL";
$estado[3] = "AP";
$estado[4] = "AM";
$estado[5] = "BA";
$estado[6] = "CE";
$estado[7] = "DF";
$estado[8] = "GO";
$estado[9] = "ES";
$estado[10] = "MA";
$estado[11] = "MS";
$estado[12] = "MG";
$estado[13] = "PA";
$estado[14] = "PB";
$estado[15] = "PR";
$estado[16] = "PE";
$estado[17] = "PI";
$estado[18] = "RJ";
$estado[19] = "RS";
$estado[20] = "RO";
$estado[21] = "RR";
$estado[22] = "SP";
$estado[23] = "SC";
$estado[24] = "SE";
$estado[25] = "TO";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Teste Cadastro</title>
</head>

<body>
<div align="center">
<h1>Cadastro de usu&aacute;rios</h1>
<p>&nbsp;</p>
<form name="form1" method="post" action="cad.php">
<p>Login:
<input name="nome" type="text" id="nome">
</p>
<p>Senha:
<input name="senha" type="password" id="senha">
</p>
<p> Confirma&ccedil;&atilde;o Senha :
  <input name="senha2" type="password" id="senha2">
</p>
<p>Nome: 
  <input name="nome2" type="text" id="nome2">
</p>
<p>Sobrenome:
  <input name="sobrenome" type="text" id="sobrenome">
</p>
<p>Banda: 
  <input name="banda" type="text" id="banda">
</p>
<p>Estilo: 
  <input name="estilo" type="text" id="estilo">
</p>
<p>Email:
  <input name="email" type="text" id="email">
</p>
<p>Estado:
  <select name='estados'>
	  <option value="$estado[1]">AC</option>
	  <option value="$estado[2]">AL</option>
	  <option value="$estado[3]">AP</option>
	  <option value="$estado[4]">AM</option>
	  <option value="$estado[5]">BA</option>
	  <option value="$estado[6]">CE</option>
	  <option value="$estado[7]">DF</option>
	  <option value="$estado[8]">GO</option>
	  <option value="$estado[9]">ES</option>
	  <option value="$estado[10]">MA</option>
	  <option value="$estado[11]">MS</option>
	  <option value="$estado[12]">MG</option>
	  <option value="$estado[13]">PA</option>
	  <option value="$estado[14]">PB</option>
	  <option value="$estado[15]">PR</option>
	  <option value="$estado[16]">PE</option>
	  <option value="$estado[17]">PI</option>
	  <option value="$estado[18]">RJ</option>
	  <option value="$estado[19]">RS</option>
	  <option value="$estado[20]">RO</option>
	  <option value="$estado[21]">RR</option>
	  <option value="$estado[22]">SP</option>
	  <option value="$estado[23]">SC</option>
	  <option value="$estado[24]">SE</option>
	  <option value="$estado[25]">TO</option>
	</select>
</p>
<p>Cidade:
  <input name="cidade1" type="text" id="cidade">
</p>
<p>
	<input name="envia" type="submit" id="envia" value="Enviar &gt;&gt;"></p>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>


cad.php
<?php
$login   = $_POST["nome"];
$senha  = $_POST["senha"];
$senha2 = $_POST["senha2"];
$nome   = $_POST["nome2"];
$sobrenome   = $_POST["sobrenome"];
$cidade   = $_POST["cidade1"];
$estado   = $_POST[estado];
$email   = $_POST["email"];
$estilo   = $_POST["estilo"];
$banda   = $_POST["banda"];

$erro   = FALSE;



mysql_connect  ("localhost", "root", "");
mysql_select_db("cover2");

// Verifica ser está vazio o campo login
if (empty($login))
{
	echo "Nome vazio<br />";
	$erro = TRUE;
}
// Verifica se ja existe algum login igual
if (mysql_num_rows(mysql_query("SELECT login FROM perfil WHERE login = '$login'")) != 0) {
	echo "Nome já existe<br />";
	$erro = TRUE;
}
// Checa se a senha está vazia
if (empty($senha))
{
	echo "Senha vazia<br />";
	$erro = TRUE;
}
// Compara as 2 senhas
if ($senha != $senha2)
{
	echo "Senhas diferentes<br />";
	$erro = TRUE;
}
// Testa se o login é numerico
if (is_numeric($login))
{
	echo "Nome incorreto<br />";
	$erro = TRUE;
}
// Testa se a senha tem mais de 8 caracteres
if (strlen($senha) > 8)
{
	echo "Senha com mais de 8 caracteres<br />";
	$erro = TRUE;
}

// Testa se existiu algum erro
// Mesca coisa que ($erro != TRUE)
if (!$erro)
// Caso não tenha erro ele inseri no bd... cadastro completo!
{	
	mysql_query("INSERT INTO perfil VALUES ('','$nome', '$sobrenome', '$cidade', '$estado',
'$email', '$estilo', '$banda', '$login', '$senha')");
	echo "Cadastro Feito com sucesso!";
}
else
// caso tenha erro ele manda essa mensagem!
	echo 'Favor preencher corretamente o cadastro!<br /><a href="cadastro.php">Voltar</a>';
mysql_close()
?>

Aguardo !

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 23/06/2007, 23:17

Bom, a cidade eu não consegui achar o motivo de você não consegui recuperar não, mas sobre o estado:

- O nome do seu <select> é:
name='estados'
E você está tentando recuperar:
$_POST['estado']

Plural e singular faz toda a diferença. (ok2)

E ainda sim, os valores você está informando os valores de array corretamente, mas está faltando as delimitações da tag PHP:
<option value="<?=$estado[12]?>">MG</option>

Flws...
:)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 24/06/2007, 05:06

para a cidade..

verifique se a ordem dos campos no SQL de insert está correta.. Procure utilizar a "syntaxe full":

INSERT INTO tabela (campo1, campo2, campo3) VALUES ('valor1', 'valor2', 'valor3')

e evitarás tais problemas..

Antes de executar a query, imprima-a, para ter certeza de o valor do campo cidade está realmente na variável $cidade:
...
$sql = "INSERT INTO perfil VALUES ('','$nome', '$sobrenome', '$cidade', '$estado',
'$email', '$estilo', '$banda', '$login', '$senha')";
echo $sql;
mysql_query($sql);
...
E se vc for utilizar o atributo ID no campo, procure deixar com o nome valor do atributo name.. Não é o motivo do seu problema, mas é uma boa prática (ok2)

Fui :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq