Jump to content


Photo

Problema Com Cadastro De Usuários


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

#1 gnuclear

gnuclear

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino

Posted 05/04/2007, 16:54

Olha não sei o que está acontecendo, sei apenas que a query não está sendo executada (o argumento não é válido) e os dados do formulário não estão chegando.

Codigo do formulário
<form action="add_user.php" method="post" enctype="multipart/form-data" name="form1">
	   <strong>CADASTRAR USU&Aacute;RIO </strong>
	   <table width="368" border="1">
		 <tr>
		   <td width="98">Nome:</td>
		   <td width="254"><input name="nome" type="text" id="nome" size="30" maxlength="100"></td>
		 </tr>
		 <tr>
		   <td>Login</td>
		   <td><input name="login" type="text" id="login" size="15" maxlength="15"></td>
		 </tr>
		 <tr>
		   <td>Senha</td>
		   <td><input name="senha" type="text" id="senha" size="15" maxlength="15"></td>
		 </tr>
		 <tr>
		   <td>Confirma senha </td>
		   <td><input name="confsenha" type="text" id="confsenha" size="15" maxlength="15"></td>
		 </tr>
		 <tr>
		   <td>email</td>
		   <td><input name="mail" type="text" id="mail" size="30" maxlength="200"></td>
		 </tr>
		 <tr>
		   <td>nivel</td>
		   <td><input name="nivel" type="radio" value="1" checked>
			 1 
			  <input name="nivel" type="radio" value="2">
			  2 
			  <input name="nivel" type="radio" value="3">
			  3</td>
		 </tr>
		 <tr>
		   <td>imagem</td>
		   <td><input name="imagem" type="file" id="imagem"></td>
		 </tr>
	   </table>
	   <input name="enviar" type="submit" id="enviar" value="ENVIAR&gt;&gt;">
	 </form>

Código de cadastro
if($_POST["submitOK"]) {

$nome = $_POST["nome"];
$login = $_POST["login"];
$senha = $_POST["senha"];
$mail = $_POST["mail"];
$nivel = $_POST["nivel"];
$imagem = $_POST["imagem"];
}
else{
echo "falha no formulário";
}


$db = mysql_connect (localhost, root, root);
$tabela = mysql_select_db (usuarios);

$pesquisa = mysql_query("SELECT * FROM usuarios WHERE login='$login'", $db);
$contagem = mysql_num_rows($pesquisa);
if ( $contagem == 1 ) {
$erros = "LOGIN JÁ CADASTRADO.<br>";
}
if ( $login == "" ){
$erros = "Você não digitou o LOGIN.<br>";
}
if ( $senha == "" ){
$erros = "Você não digitou a senha.<br>";
}
if ($senha != $confsenha) {
$erros = "Você Digitou 2 senhas diferentes.<br>";
}
if ($erros == ""){

$cadastrar = mysql_query("INSERT INTO usuarios (nome, login, senha, email, nivel, imagem) VALUES ('$nome', '$login', '$senha', '$mail', '$nivel', '$imagem')", $db);
}

else {
echo "deu xxxxxx, ocorreram os seguintes erros $erros";
}


#2 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 05/04/2007, 19:29

olha...

no cadastro.php voce tem esse trecho:
if($_POST["submitOK"]) {

e na pagina do formulario, isso:
<input name="enviar" type="submit" id="enviar" value="ENVIAR&gt;&gt;">

ou seja, você está tentando comparar uma variavel que sequer existe...


tente assim:
<input name="submitOK" type="submit" id="submitOK" value="ENVIAR&gt;&gt;">

--
Samuel Machado
www.samuelmachado.com

#3 gnuclear

gnuclear

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino

Posted 09/04/2007, 14:44

beleza, os dados estão chegando todos, mas mesmo assim o "mysql_num_rows" continua sem executar e continua retornando que os argumentos não são válidos

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in add_user.php on line 21

$pesquisa = mysql_query("SELECT * FROM usuarios WHERE login='$login'", $db);
$contagem = mysql_num_rows($pesquisa);


#4 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 09/04/2007, 18:12

$pesquisa = mysql_query("SELECT * FROM usuarios WHERE login='".$_POST['login']."'", $db) or die(mysql_error());
$contagem = mysql_num_rows($pesquisa);



modifique, e nos diga que erro retorna ;)
--
Samuel Machado
www.samuelmachado.com

#5 gnuclear

gnuclear

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino

Posted 11/04/2007, 20:06

jah está funcionando, agora o defeito é em outro lugar.

estou checando a validade do login, agora está dando o defeito

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 1


eis o codigo

include ("connectauser.php");
$confirma = mysql_query("SELECT * FROM usuarios WHERE login ='$login' AND senha '$senha'", $db)or die (mysql_error());
$contagem = mysql_num_rows($confirma);
if ($contagem == 1) {
setcookie("login", $login);
setcookie("senha", $senha);
echo "clique <a href='index.php'>aqui</a>";
}
else {
echo "não foi possivel logar, tente outra vez<br>";
echo "clique <a href='login.php'>aqui</a>";
}


#6 cachopo

cachopo

    Turista

  • Usuários
  • 51 posts
  • Sexo:Masculino
  • Localidade:Assis, São Paulo

Posted 12/04/2007, 06:57

Você esqueceu de adicionar um símbolo = na SQL query.

SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'

Edição feita por: cachopo, 02/08/2007, 01:48.





1 user(s) are reading this topic

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

IPB Skin By Virteq