Ir para conteúdo

POWERED BY:

Arquivado

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

vitinho.vitor

[Resolvido] Validação

Recommended Posts

Olá, eu estou precisando de uma sistema que valida o login e a senha e, se for correto executa uma query na mesma página, e não direciona para outra. Como eu poderia fazer isso?

 

 

Desde já agradeço!

 

Vitor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sabe programar? Tentou desenvolver algo? Se você não mostrar o que sabe e o que não, o que tentou e o que não, não podemos ajudar.

 

Se quiser que alguém faça por você, pode procurar um profissional no Mercado iMasters ou postar seu job em Oferta de Trabalho http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Ofertas para Freelances

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, sou iniciante em programação, já tenho o sistema de comentários pronto.

 

envia_comment.php


<?php
$host = "-";
$user = "-";
$pass = "-";

$conexao = mysql_connect($host, $user, $pass) OR die ("Erro ao conectar-se");
?>
<?php
$login = addslashes($_POST['login']); 
$senha = addslashes($_POST['senha']); 
$id_user = addslashes($_POST['id_user']); 
$nota = addslashes($_POST['nota']);
$titulo = addslashes($_POST['titulo']);
$comment = addslashes($_POST['comment']);
$erro = addslashes($_POST['erro']);
$id_est = addslashes($_POST['id_est']);
$db = mysql_select_db("w18kilatemvet11");
$query = "INSERT INTO  `w18kilatemvet11`.`comentarios` (
`id` ,
`id_est` ,
`id_user` ,
`nota` ,
`titulo` ,
`comment` ,
`erro`
)
VALUES (
NULL ,  '$id_est',  '$id_user',  '$nota',  '$titulo',  '$comment',  '$erro')";
mysql_query( $query )or die( mysql_error() );
echo "<TABLE center width='95%' border='0' cellspacing='0' cellpadding='0'>
	<TR><body topmargin=0 leftmargin=0 rightmargin=0>
	<TH colspan='3'><p align='right'>
<font face='arial' size='2' color='#228B22'>
	<a href='index.php'>Home</a></b> | <b>
	<a href='classificados.php'><font color='red'><blink>Anuncie!</blink></font></a></b> | 
	<a href='indique.html'><b> Indique esse Site</a></b> | <b>
	<a href='fale conosco.html'>Contato</b></a></font><br></p></TH>
</body></TABLE></font>
<center><a href='images/IVV - Selo Compromisso Ambiental.jpg' title='Selo Compromisso Ambiental'><img src='images/IVV - Selo Compromisso Ambiental.jpg' alt='Selo Compromisso Ambiental' width='120'></a>               <img src='images\logo.png' widht='110' height='150'>               <a href='fale conosco.html'><img src='images/banner.png' width='120'></a><br><br>
<br><br><br><table border='1' style='border-collapse: collapse; border:4px dotted forestGreen;'><tr><td width='500' height='200' bgcolor='#E0EEEE'><font face='arial' size='4' align='center' color='forestGreen'><center>Pronto, o seu comentário foi recebido com sucesso!</center></td></tr>";

?>

Porém eu preciso que verifique se o usuário existe. Então peguei um outro código meu de login (o que segue abaixo) e tentei colocar no ELSE essa minha query da gravação dos dados no banco de dados no local em que está o direcionamento para a página restrita; deu erro.

Então eu queria saber se alguém conhece algo semelhante.

 

<?php
session_start();

$login = $_POST['login'];
$senha = $_POST['senha'];

if (strlen($login) > 20 || strlen($senha) > 20 || strlen($login) < 20 || strlen($senha) < 20) { echo "Campos senha e usuário devem contém 20 caracteres no máximo "; }

else{

$sql = mysql_query("Select Count(*) as total From user Where login = '$login' AND senha = '$senha' LIMIT 1");
$total = mysql_result($sql, 0, 'total');

if ($total==1) { 

$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;

$id_user = addslashes($_POST['id_user']); 
$nota = addslashes($_POST['nota']);
$titulo = addslashes($_POST['titulo']);
$comment = addslashes($_POST['comment']);
$erro = addslashes($_POST['erro']);
$id_est = addslashes($_POST['id_est']);
$db = mysql_select_db("w18kilatemvet11");
$query = "INSERT INTO  `w18kilatemvet11`.`comentarios` (
`id` ,
`id_est` ,
`id_user` ,
`nota` ,
`titulo` ,
`comment` ,
`erro`
)
VALUES (
NULL ,  '$id_est',  '$id_user',  '$nota',  '$titulo',  '$comment',  '$erro')";
mysql_query( $query )or die( mysql_error() );
echo "<TABLE center width='95%' border='0' cellspacing='0' cellpadding='0'>
	<TR><body topmargin=0 leftmargin=0 rightmargin=0>
	<TH colspan='3'><p align='right'>
<font face='arial' size='2' color='#228B22'>
	<a href='index.php'>Home</a></b> | <b>
	<a href='classificados.php'><font color='red'><blink>Anuncie!</blink></font></a></b> | 
	<a href='indique.html'><b> Indique esse Site</a></b> | <b>
	<a href='fale conosco.html'>Contato</b></a></font><br></p></TH>
</body></TABLE></font>
<center><a href='images/IVV - Selo Compromisso Ambiental.jpg' title='Selo Compromisso Ambiental'><img src='images/IVV - Selo Compromisso Ambiental.jpg' alt='Selo Compromisso Ambiental' width='120'></a>               <img src='images\logo.png' widht='110' height='150'>               <a href='fale conosco.html'><img src='images/banner.png' width='120'></a><br><br>
<br><br><br><table border='1' style='border-collapse: collapse; border:4px dotted forestGreen;'><tr><td width='500' height='200' bgcolor='#E0EEEE'><font face='arial' size='4' align='center' color='forestGreen'><center>Pronto, o seu comentário foi recebido com sucesso!</center></td></tr>";
; }

else {echo "Dados inválidos"; }

}

?>

Desde já agradeço!!

 

Vitor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

o seguinte, achei um código melhor para utilizar porém ele está sempre acusando usuário inválido!

O que pode estar errado??

 

Segue o código:

<?php
$login = addslashes($_POST['login']);
$senha = addslashes($_POST['senha']);
$id_user = addslashes($_POST['id_user']); 
$nota = addslashes($_POST['nota']);
$titulo = addslashes($_POST['titulo']);
$comment = addslashes($_POST['comment']);
$erro = addslashes($_POST['erro']);
$id_est = addslashes($_POST['id_est']);
$db = mysql_select_db("w18kilatemvet11");

$query =  mysql_query("SELECT * FROM user Where login = '$login' AND senha = '$senha' LIMIT 1");
$contagem = mysql_num_rows($query);
if ($contagem == 0) {
	echo'<script>alert("Usuário não Encontrado")</script>';

} else {
$query = "INSERT INTO  `w18kilatemvet11`.`comentarios` (
`id` ,
`id_est` ,
`id_user` ,
`nota` ,
`titulo` ,
`comment` ,
`erro`
)
VALUES (
NULL ,  '$id_est',  '$id_user',  '$nota',  '$titulo',  '$comment',  '$erro')";
mysql_query( $query )or die( mysql_error() );
echo "<TABLE center width='95%' border='0' cellspacing='0' cellpadding='0'>
        <TR><body topmargin=0 leftmargin=0 rightmargin=0>
        <TH colspan='3'><p align='right'>
<font face='arial' size='2' color='#228B22'>
        <a href='index.php'>Home</a></b> | <b>
        <a href='classificados.php'><font color='red'><blink>Anuncie!</blink></font></a></b> | 
        <a href='indique.html'><b> Indique esse Site</a></b> | <b>
        <a href='fale conosco.html'>Contato</b></a></font><br></p></TH>
</body></TABLE></font>
<center><a href='images/IVV - Selo Compromisso Ambiental.jpg' title='Selo Compromisso Ambiental'><img src='images/IVV - Selo Compromisso Ambiental.jpg' alt='Selo Compromisso Ambiental' width='120'></a>               <img src='images\logo.png' widht='110' height='150'>               <a href='fale conosco.html'><img src='images/banner.png' width='120'></a><br><br>
<br><br><br><table border='1' style='border-collapse: collapse; border:4px dashed forestGreen;'><tr><td width='500' height='200' bgcolor='#E0EEEE'><font face='arial' size='4' align='center' color='forestGreen'><center>Pronto, o seu comentário foi recebido com sucesso!</center></td></tr>";

exit();
}
?>

 

Desde já agrdeço

vitor

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que eu testei aqui em casa se você colocar as aspas no nome das colunas.

também adiciona um var_dump para ver com a contagem das lihas está voltado da consulta

 

o problema do nome das colunas pode ser pela plataforma onde está rodando o seu site (linux, windows) procure padronizar o case da fonte

 

$consulta = "SELECT * FROM cadastro where `login`='".$login."' and `senha` = '".$senha."' limit 1";
$query =  mysql_query($consulta);
$contagem = mysql_num_rows($query);
var_dump($contagem);

te aconselho até em testar essa consulta no phpMyAdmin antes de colocar no código em PHP, assim você sabe se a consulta está com a sintaxe correta ou se o problema é no PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, eu testei no PhpMyAdmin e a consulta foi efetuada com sucesso.

Fiz o teste com o código abaixo e continuou dando usuário não encontrado e " int(0) ".

 

 

<?php
$login = addslashes($_POST['login']);
$senha = addslashes($_POST['senha']);
$id_user = addslashes($_POST['id_user']); 
$nota = addslashes($_POST['nota']);
$titulo = addslashes($_POST['titulo']);
$comment = addslashes($_POST['comment']);
$erro = addslashes($_POST['erro']);
$id_est = addslashes($_POST['id_est']);
$db = mysql_select_db("w18kilatemvet11");

$consulta = "SELECT * FROM user where `login`='".$login."' and `senha` = '".$senha."' limit 1";
$query =  mysql_query($consulta);
$contagem = mysql_num_rows($query);
var_dump($contagem);
if ($contagem == 0) {
	echo'<script>alert("Usuário não Encontrado")</script>';

} else {
$query = "INSERT INTO  `w18kilatemvet11`.`comentarios` (
`id` ,
`id_est` ,
`id_user` ,
`nota` ,
`titulo` ,
`comment` ,
`erro`
)
VALUES (
NULL ,  '$id_est',  '$id_user',  '$nota',  '$titulo',  '$comment',  '$erro')";
mysql_query( $query )or die( mysql_error() );
echo "<TABLE center width='95%' border='0' cellspacing='0' cellpadding='0'>
        <TR><body topmargin=0 leftmargin=0 rightmargin=0>
        <TH colspan='3'><p align='right'>
<font face='arial' size='2' color='#228B22'>
        <a href='index.php'>Home</a></b> | <b>
        <a href='classificados.php'><font color='red'><blink>Anuncie!</blink></font></a></b> | 
        <a href='indique.html'><b> Indique esse Site</a></b> | <b>
        <a href='fale conosco.html'>Contato</b></a></font><br></p></TH>
</body></TABLE></font>
<center><a href='images/IVV - Selo Compromisso Ambiental.jpg' title='Selo Compromisso Ambiental'><img src='images/IVV - Selo Compromisso Ambiental.jpg' alt='Selo Compromisso Ambiental' width='120'></a>               <img src='images\logo.png' widht='110' height='150'>               <a href='fale conosco.html'><img src='images/banner.png' width='120'></a><br><br>
<br><br><br><table border='1' style='border-collapse: collapse; border:4px dashed forestGreen;'><tr><td width='500' height='200' bgcolor='#E0EEEE'><font face='arial' size='4' align='center' color='forestGreen'><center>Pronto, o seu comentário foi recebido com sucesso!</center></td></tr>";

exit();
}
?>

Desde já agradeço,

Vitor!

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa assim:

$consulta = "SELECT * FROM user WHERE `login`='{$login}' AND `senha` = '{$senha}'";
echo $consulta; //cole esse echo no phpMyAdmin, e veja se retorna alguma linha
$query =  mysql_query( $consulta )or die( mysql_error() );
if ( !mysql_num_rows( $query ) ){
        echo"<script>alert('Usuário não Encontrado')</script>";
} else {

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, consegui de alguma forma que imprimisse a $consulta e vi que ele só resgata o login e a senha fica em branco:

 

SELECT * FROM user where `login`='vitor.ferri' and `senha` = '' limit 1int(0)

 

A senha está vazia, o que está errado?

 

$senha = $_POST['senha'];

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque:

echo '<pre>';
var_dump( $_POST );

e poste oque aparecer. Provavelmente, o name do input senha, está diferente do que você tentou resgatar.

o erro de sintaxe, foi erro meu:

if ( !mysql_num_rows( $query ) ){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo!

o que imprimiu foi: SELECT * FROM user WHERE `login`='vitor.ferri' AND `senha` = '35023786'

 

Ultima coisinha!

 

Eu preciso pegar o id desse usuário que se logou. Existe algum jeito de pegar o ID dessa consulta mesmo ou preciso criar uma consulta nova?

 

Muito Obrigado,

Vitor

Compartilhar este post


Link para o post
Compartilhar em outros sites

uai..

 

$query = mysql_query($consulta);
$dados = mysql_fetch_object( $query );
echo 'O ID deste usuário é: '.$dados->id;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.