Ir para conteúdo

POWERED BY:

Arquivado

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

Laer

erro no if de validação (Login)

Recommended Posts


<?php
$login = md5 ($_POST['user[login]']);
$senha = $_POST['user[password]'];


$c = mssql_connect('IP','TABELA','SENHA');
$bd = mssql_select_db('Universus',$c);

$sql = "SELECT DISTINCT aluno.CODALUNOESCOLA as login, pessoa.ciccpf as senha
FROM ALUCURRICULO INNER JOIN ALUNO ON (ALUCURRICULO.CODESCOLA = ALUNO.CODESCOLA AND ALUNO.CODALUNO = ALUCURRICULO.CODALUNO)
INNER JOIN PESSOA ON (ALUNO.CODPESSOA = PESSOA.CODPESSOA)
left JOIN CAMPUS CA ON (alucurriculo.CODCAMPUS = CA.CODCAMPUS)
WHERE alucurriculo.CODESCOLA in (1,3)
AND ALUCURRICULO.CODSTATUS in (402)
and aluno.codalunoescola = '$login'
and PESSOA.CICCPF = '$senha'";
$r = mssql_query($sql,$c);
$nr = mssql_num_rows($r);
if ($nr == 1){ //AQUI ESTÁ CAINDO DIRETO PARA O ELSE MOSTRANDO O ECHO
$linha = mssql_fetch_array($r);
$md5 = $linha['login'];
$codificada = md5($string);
echo $msg;
} else {
echo 'Os dados são invalidos.<br /><br /><a href="consultar_ra.php">« voltar</a>';
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então antes mesmo de eu colocar o login e a senha ele já da em baixo da senha isso 'Resource id #20'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tinha um espaço apos a função MD5 e o login que está criptografado. Para que eu possa te ajudar melhor, preciso que me mostre a estrutura do db e como os dados são cadastrados.

 

Tente assim:

 

<?php

$login = $_POST["login"];
$senha = md5($_POST["password]);


$c
= mssql_connect('IP','TABELA','SENHA');
$bd = mssql_select_db('Universus',$c);

$sql
= "SELECT DISTINCT aluno.CODALUNOESCOLA as login, pessoa.ciccpf as senha
FROM ALUCURRICULO INNER JOIN ALUNO ON (ALUCURRICULO.CODESCOLA = ALUNO.CODESCOLA AND ALUNO.CODALUNO = ALUCURRICULO.CODALUNO)
INNER JOIN PESSOA ON (ALUNO.CODPESSOA = PESSOA.CODPESSOA)
left JOIN CAMPUS CA ON (alucurriculo.CODCAMPUS = CA.CODCAMPUS)
WHERE alucurriculo.CODESCOLA in (1,3)
AND ALUCURRICULO.CODSTATUS in (402)
and aluno.codalunoescola = '$login'
and PESSOA.CICCPF = '$senha'"
;
$r = mssql_query($sql,$c);
$nr = mssql_num_rows($r);
if ($nr == 1){ //AQUI ESTÁ CAINDO DIRETO PARA O ELSE MOSTRANDO O ECHO
$linha = mssql_fetch_array($r);
$md5 = $linha['login'];
$codificada = md5($string);
echo $msg;
} else {
echo 'Os dados são invalidos.<br /><br /><a href="consultar_ra.php">« voltar</a>';
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maick Quem fez esse select foi o responsavel pelo db da empresa, eo md5 a empresa quer que seja o login mesmo :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

então eu trabalho em uma faculdade em que a login é o RA(NUMEROS) e a senha é o CPF, esse código que estou fazendo é pra entra em uma biblioteca virtual em outro site em que eles pedem para criptografar o login

Compartilhar este post


Link para o post
Compartilhar em outros sites
claro


<link rel="stylesheet" type="text/css" href="estilo.css" />


<div align="left"><strong></strong>

</div>

<label for="login">Login :</label>

<input id="login" name="user[login]" type="text" placeholder="Digite seu Login" size=12 maxlength=6 required/>

<div align="left"><br>

<label for="senha">Senha :</label>

<input id="senha" name="user[password]" type="password" placeholder="Digite sua Senha" size=12 maxlength=11 required/>


<br>

<br>

<input name="commit" type="submit" value="Entrar" size=20/>

<br>

</div></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas ainda não, estou esperando o responsavel chegar para fazer a consulta..

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php


$login = md5($_POST['user[login]']);

$senha = $_POST['user[password]'];



$c = mysql_connect('IP','TABELA','SENHA');

$bd = mysql_select_db('Universus',$c);


$sql = mysql_query("SELECT DISTINCT aluno.CODALUNOESCOLA as login, pessoa.ciccpf as senha

FROM ALUCURRICULO INNER JOIN ALUNO ON (ALUCURRICULO.CODESCOLA = ALUNO.CODESCOLA AND ALUNO.CODALUNO = ALUCURRICULO.CODALUNO)

INNER JOIN PESSOA ON (ALUNO.CODPESSOA = PESSOA.CODPESSOA)

left JOIN CAMPUS CA ON (alucurriculo.CODCAMPUS = CA.CODCAMPUS)

WHERE alucurriculo.CODESCOLA in (1,3)

AND ALUCURRICULO.CODSTATUS in (402)

and aluno.codalunoescola = '$login'

and PESSOA.CICCPF = '$senha'") or die(mysql_error());


if (mysql_num_rows($sql) <> false){


/*

$linha = mysql_fetch_array($sql);

$md5 = $linha['login'];

$codificada = md5($string);

echo $msg;

*/


while($res_sql = mysql_fetch_assoc($sql)){


/*

aqui dentro do loop os dados devem ser resgatados. EX:


$user = $res_sql['login'];

*/


}


} else {


echo 'Os dados são invalidos.<br /><br /><a href="consultar_ra.php">« voltar</a>';


}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Maick Gonçalves, vai com calma... o @Laer está usando SQL Server, não MySQL.

 

O mssql_num_rows() retorna o número de linhas encontradas em sua consulta.

 

Verifique o resultado da sua consulta. Para adiantar, verifique a quantidade de linhas:

$nr = mssql_num_rows($r);
echo 'Linhas encontradas: ' . $nr;
exit;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu imaginava, fiz o teste no DB e encontrou normalmente as linhas(O problema não está no BD) :/

 

 

Vou Postar meu código inteiro, talvez seja um pequeno erro que não estou enchergando...

 

<?
$meta_tit = 'Consultar RA - Faculdade São Luís - Jaboticabal/SP';
$meta_key = 'RA,faculdade,sao luis,jaboticabal,matrícula';
$meta_dsc = 'Consultar RA - Faculdade de Educação São Luís em Jaboticabal/SP.';
include('util/fesl.php');
include('include/header.php');
echo '<h1>Pearson</h1>'."\n";
?>
<div id="conteudo">
<h2> Informe o seu Usuário e Senha</h2>
<?php
/*if (empty($_POST['Submit'])) {
if (empty($_POST['user[login]']) && empty($_POST['user[password]'])){
echo 'Verifique os campos em branco.';
} else {*/
$login = md5($_POST["user[login]"]);
$senha = $_POST["user[password]"];
$c = mssql_connect('IP','TABELA','SENHA');
mssql_select_db('Universus',$c);
$sql = "SELECT DISTINCT aluno.CODALUNOESCOLA as login, pessoa.ciccpf as senha
FROM ALUCURRICULO INNER JOIN ALUNO ON (ALUCURRICULO.CODESCOLA = ALUNO.CODESCOLA AND ALUNO.CODALUNO = ALUCURRICULO.CODALUNO)
INNER JOIN PESSOA ON (ALUNO.CODPESSOA = PESSOA.CODPESSOA)
left JOIN CAMPUS CA ON (alucurriculo.CODCAMPUS = CA.CODCAMPUS)
WHERE alucurriculo.CODESCOLA in (1,3)
AND ALUCURRICULO.CODSTATUS in (402)
and aluno.codalunoescola = '$login'
and PESSOA.CICCPF = '$senha'";
$r = mssql_query($sql);
$nr = mssql_num_rows($r);
if ($nr == 1){
$linha = mssql_fetch_array($r);
$md5 = $linha['user[login]'];
$codificada = md5($string);
} else {
echo 'Os dados são invalidos.<br /><br /><a href="consultar_ra.php">« Consultar RA</a>';}
?>
<link rel="stylesheet" type="text/css" href="estilo.css" />
<div align="left"><strong></strong>
</div>
<label for="login1">Login :</label>
<input id="login1" name="user[login]" type="text" placeholder="Digite seu Login" size=12 maxlength=6 required/>
<div align="left"><br>
<label for="senha1">Senha :</label>
<input id="senha1" name="user[password]" type="password" placeholder="Digite sua Senha" size=12 maxlength=11 required/>
<br>
<br>
<input name="commit" type="submit" value="Entrar" size=20/>
<br>
</div></form>
<?php
echo '</div>'."\n";
include('include/footer.php');
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso as linhas no BD, usuarios , só que eu retornou o valor correto no sqlserver, já quando eu faço no site ele não retorna nenhum linha :s

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.