Ir para conteúdo
Fórum Script Brasil
  • 0

[ajuda] Com sistema de login.


AristófanesFTP

Pergunta

Boa tarde pessoal.

estou aqui com esse problema, sou novo na area de programar, vamos la.

olha gente tenho um codigo que quando chama pra concluir da isso.

Notice: Undefined variable: login_db in C:\xampp\htdocs\sistemadelogin\enviar_cadastro.php on line 29

Notice: Undefined variable: senha_db in C:\xampp\htdocs\sistemadelogin\enviar_cadastro.php on line 29

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\sistemadelogin\enviar_cadastro.php on line 33

Notice: Undefined variable: errors in C:\xampp\htdocs\sistemadelogin\enviar_cadastro.php on line 43

Ocorreu um erro no servidor ao tentar se cadastrar.

esse é o meu codigo enviar cadastro.

<html>
<head>
<title>Documento sem título</title>
</head>

<body>

<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<?

$nome = $_POST['nome'];
$nascimento = $_POST['nascimento'];
$sexo = $_POST['sexo'];
$tel = $_POST['tel'];
$cel = $_POST['cel'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cep = $_POST['cep'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$login = $_POST['login'];
$senha = $_POST['senha'];
$senha2 = $_POST['senha2'];


include "configuracao.php";

$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

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

if ( $contagem == 1 ) {
$errors .= "- O nome de usuario que você escolheu já está cadastrado.<br>";
}

if ( $senha != $senha2 ) {
$errors .= "- As duas senhas não correspondem.<br>";
}

if ( $errors == "" ) {

$cadastrar = mysql_query("INSERT INTO usuarios_vip (nome, nascimento, sexo, tel, cel, email, endereco, bairro, cep, cidade, estado, login, senha)
VALUES ('$nome','$nascimento','$sexo','$tel','$cel','$email','$endereco','$bairro','$cep','$cidade','$estado','$login','$senha')", $db);

if ( $cadastrar == 1 ) {
echo "<font size=1 face=Verdana, Arial, Helvetica, sans-serif><br><br>Olá, $nome !<br><br>Agora você já pode acessar a área VIP com o seu nome de usuário ($login) e com sua senha.<br><br>A equipe do Kadett Clube DF agradece e espera poder ajudar sempre que preciso.</font></div>";
} else {
echo "Ocorreu um erro no servidor ao tentar se cadastrar.";
}
} else {
echo "Ocorrram os seguintes erros ao tentar se cadastrar:<br><br>";
echo $errors;
}
?>
</font></div>
</body>
</html>

estou disponivél a qualquer hora.

tenho que testar esse sistema mas pra passar por esse ta fogo.

vlw!

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
  MTavares disse:
Corrigindo, se não me engano o mysql_affected_rows(); só é válido para INSERT, UPDATE, REPLACE ou DELETE e não para SELECT... tente colocar mysql_num_rows() mesmo e dar um or die()....

abs

é verdade é este mesmo, mas ainda esa dando erro na linha 47.

Notice: Undefined variable: errors in C:\xampp\htdocs\sistemadelogin\enviar_cadastro.php on line 47

Link para o comentário
Compartilhar em outros sites

  • 0

acredito que isso não seria exatamente um erro, mas apenas uma notificação sobre alguma variável indefinida... caso o seu cadastro tenha ocorrido com sucesso..coloque no topo de sua página esse comando:

<?php error_reporting(0); ?>
abaixo da linha:
$cadastrar = mysql_query("INSERT INTO usuarios_vip (nome, nascimento, sexo, tel, cel, email, endereco, bairro, cep, cidade, estado, login, senha)
VALUES ('$nome','$nascimento','$sexo','$tel','$cel','$email','$endereco','$bairro','$cep','$cidade','$estado','$login','$senha')", $db);
você pode modificar dessa forma:
if ( mysql_affected_rows() > 0) {
echo "<font size=1 face=Verdana, Arial, Helvetica, sans-serif><br><br>Olá, $nome !<br><br>Agora você já pode acessar a área VIP com o seu nome de usuário ($login) e com sua senha.<br><br>A equipe do Kadett Clube DF agradece e espera poder ajudar sempre que preciso.</font></div>";
} else {
echo "Ocorreu um erro no servidor ao tentar se cadastrar.";
}

abs

Link para o comentário
Compartilhar em outros sites

  • 0

dei uma modificada no seu código. Veja se funciona...

<?php

$nome = $_POST['nome'];
$nascimento = $_POST['nascimento'];
$sexo = $_POST['sexo'];
$tel = $_POST['tel'];
$cel = $_POST['cel'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cep = $_POST['cep'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$login = $_POST['login'];
$senha = $_POST['senha'];
$senha2 = $_POST['senha2'];


include "configuracao.php";

$db = mysql_connect ($host);
$basedados = mysql_select_db($database);

$pesquisar = mysql_query("SELECT * FROM usuarios_vip WHERE login = '$login'");
$contagem = mysql_num_rows($pesquisar); 

if ($contagem > 0) { 
$errors[] = "- O nome de usuario que você escolheu já está cadastrado.<br>";
}else if ( $senha != $senha2 ) {
$errors[] = "- As duas senhas não correspondem.<br>";
}else{
  $cadastrar = mysql_query("INSERT INTO usuarios_vip (nome, nascimento, sexo, tel, cel, email, endereco, bairro, cep, cidade, estado, login, senha)
  VALUES ('$nome','$nascimento','$sexo','$tel','$cel','$email','$endereco','$bairro','$cep','$cidade','$estado','$login','$senha')", $db);
   
if(mysql_affected_rows() > 0) {
echo "<font size=1 face=Verdana, Arial, Helvetica, sans-serif><br><br>Olá, $nome !<br><br>Agora você já pode acessar a área VIP com o seu nome de usuário ($login) e com sua senha.<br><br>A equipe do Kadett Clube DF agradece e espera poder ajudar sempre que preciso.</font></div>";
} else {
echo "Ocorreu um erro no servidor ao tentar se cadastrar.";
 }
}
if($erro[0] == TRUE){
echo "Ocorreu um erro no servidor ao tentar se cadastrar.<br>";
echo $erro[0];
    
    }
?>

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

  • 0

o sua linha de codigo deu os erros que o meu dava antes, deixei o meu mesmo.

ta mesmo erro na mesmo linha.

Notice: Undefined variable: errors in C:\xampp\htdocs\sistemadelogin\enviar_cadastro.php on line 47

if ( $errors == "" ) {

$cadastrar = mysql_query("INSERT INTO usuarios_vip (nome, nascimento, sexo, tel, cel, email, endereco, bairro, cep, cidade, estado, login, senha)
VALUES ('$nome','$nascimento','$sexo','$tel','$cel','$email','$endereco','$bairro','$cep','$cidade','$estado','$login','$senha')", $db);

if ( $cadastrar == 1 ) {
echo "<font size=1 face=Verdana, Arial, Helvetica, sans-serif><br><br>Olá, $nome !<br><br>Agora você já pode acessar a área VIP com o seu nome de usuário ($login) e com sua senha.<br><br>A equipe do Kadett Clube DF agradece e espera poder ajudar sempre que preciso.</font></div>";
} else {
echo "Ocorreu um erro no servidor ao tentar se cadastrar.";
}
} else {
echo "Ocorrram os seguintes erros ao tentar se cadastrar:<br><br>";
echo $errors;
}

linha 47 começa no if.

Link para o comentário
Compartilhar em outros sites

  • 0

Coloque dessa forma:

$cadastrar = mysql_query("INSERT INTO usuarios_vip (nome, nascimento, sexo, tel, cel, email, endereco, bairro, cep, cidade, estado, login, senha) VALUES('$nome','$nascimento','$sexo','$tel','$cel','$email','$endereco','$bairro','$cep','$cidade','$estado','$login','$senha')");

Link para o comentário
Compartilhar em outros sites

  • 0

Ainda te aconselho a fazer o que o ESerra falou:

$db = mysql_connect ($host, $login_db, $senha_db)OR DIE(mysql_error());
$basedados = mysql_select_db($database)OR DIE(mysql_error());

$pesquisar = mysql_query("SELECT * FROM usuarios_vip WHERE login = '$login'", $db)OR DIE(mysql_error());

Assim você verá o que pode estar dando de errado...

abs

Link para o comentário
Compartilhar em outros sites

  • 0

Ok pessoal este aviso não é erro certo, obrigo por ter ajudado nesta etapa vlw mesmo estou grato.

so que fui logar e.

dados esta incluindo no banco e tudo mais so que, na hora de logar na esta logando.

não da nenhum erro so não passa para a outra página.

codigo do login.

<html>
<head>
<title>Documento sem t&iacute;tulo</title>
</head>

<body>
<form action="logar.php" method="POST">
<table width="483" align="center">
<tr>
<td width="60"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Usuário:</strong></font></td>
<td width="129"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="login" type="text" id="login" size="20">
</font></td>
<td width="63"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Senha:</strong></font></div>
</td>
<td width="133"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="senha" type="password" id="senha" size="20" maxlength="10">
</font></td>
<td width="74"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" value="Logar" name="entrar">
</font></div></td>
</tr>
</table>
</form>
</body>
</html>
bem simples html que chama logar certo. agora o codigo do logar.
<?
include "configuracao.php";

$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

$resultado = mysql_query("SELECT login, senha FROM usuarios_vip WHERE login='$login' AND senha='$senha'") or print (mysql_error());
while($linha = mysql_fetch_array($resultado)){
$loginbanco = $linha["login"];
$senhabanco = $linha["senha"];
}
if($loginbanco == $login AND $senhabanco == $senha){
session_register(login);
session_register(senha);
header("Location: area_vip.php");
}
else{
echo
"
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
&lt;script type=\"text/javascript\">
alert(\"Erro: Usuário ou senha inválidos!\");
</script>
";
}
?>

Editado por AristófanesFTP
Link para o comentário
Compartilhar em outros sites

  • 0

troque o:

header("Location: area_vip.php");
por:
echo "<script>window.location.href='area_vip.php';</script>";
abs um dica, você não precisa dar um laço para verificar um determinado dado. Veja:
$resultado = mysql_query("SELECT login, senha FROM usuarios_vip WHERE login='$login' AND senha='$senha'") or print (mysql_error());
while($linha = mysql_fetch_array($resultado)){
$loginbanco = $linha["login"];
$senhabanco = $linha["senha"];
}
você pode fazer dessa forma:
$resultado = mysql_query(sprintf("SELECT login, senha FROM usuarios_vip WHERE login='%s' AND senha='%s'",mysql_escape_string($login),mysql_escape_string($senha))) or print (mysql_error());
$contar = mysql_num_rows($resultado);

if($contar > 0){

$linha = mysql_fetch_array($resultado);

$login = mysql_fetch_array[login];
$senha = mysql_fetch_array[senha];

session_register(login);
session_register(senha);

echo "<script>window.location.href='area_vip.php';</script>";

}else{

echo
"
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
&lt;script type=\"text/javascript\">
alert(\"Erro: Usuário ou senha inválidos!\");
</script>
";

}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Não da pra ver os erros porque ele mostra e sai rapido.

acrescentei.

session_start();

e mesmo assim da deu.

consegui tirar um print do erro são esses.

Undefined variable: login in logar.php on line 7

Undefined variable: senha in logar.php on line 7

Undefined variable: login in logar.php on line 12

Undefined variable: loginbanco in logar.php on line 12

Undefined variable: senha in logar.php on line 12

Undefined variable: senhabanco in logar.php on line 12

Use of undefined contant login - assumed 'login' in logar.php line 14

Function session_register() is deprecated in logar.php line 14

Use of undefined contant senha - assumed 'senha' in logar.php line 15

Function session_register() is deprecated in logar.php line 15

Link para o comentário
Compartilhar em outros sites

  • 0

Regras do fórum:

3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

Não me leve a mal, mas você não tem a mínima base de conhecimento sobre a linguagem, logo, o fórum nunca vai conseguir te auxiliar, uma sugestão, pegue alguns tutoriais e aprenda o básico, quando tiver esse mínimo conhecimento, ai sim, se aventure a fazer algo.

Link para o comentário
Compartilhar em outros sites

  • 0

O problema é o seguinte: você não está se esforçando. Algo dá errado e você já posta aqui. Nem chega a pesquisar antes.

Seus erros são muito comuns. Uma pesquisa rápida em qualquer site de buscas resolveria os seus problemas.

Um abraço e boa sorte se quiser continuar com esse tópico.

Link para o comentário
Compartilhar em outros sites

  • 0

Um dica para te ajudar é: quando algo der errado, como por ex. esse seu último erro, copie o erro: Parse error: syntax error, unexpected '[' in , observe que não coloquei seu diretório e jogue no google. Com certeza você irá encontra a resposta que deseja... são nas tentativas que você consegue aprender....

abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...