Ir para conteúdo

POWERED BY:

Arquivado

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

Magrelo_iniciante

Select

Recommended Posts

Olá pessoal,

Ainda 'engatinho' no php, e estou tomando um baile em algo aparentemente fácil. Quando o usuário loga no sistema, deveria aparecer seus dados, mas nada aparece. Quando eu peço um select * sem especificar os campos, carrega todos os dados (como era de se esperar), mas quando o select é de acordo com os campos, não consigo mostrar os dados.

Exemplo: usuario e senha... o usuario se 'loga', mas não consigo mostrar os seus dados. Onde estou errando?

Segue código:

======

<?

include 'setup.php';

			  
		  $sql=("select * from clientes where usuario = '$login' and senha = '$pass'")or die(mysql_error());
		  $sql=mysql_query($sql,$con);
		  while($l=mysql_fetch_array($sql)) { 
		  
		  $id=$l[id];
		  $nome=$l[nome];
		  $endereco=$l[endereco];
		  $bairro=$l[bairro];
		  $cep=$l[cep];
		  $cidade=$l[cidade];
		  $uf=$l[uf];
		  $cpf=$l[cpf];
		  $rg=$l[rg];
		  $telefone=$l[telefone];
		  $fax=$l[fax];
		  $email=$l[email];
		  $nascimento=$l[nascimento];
		  $celular=$l[celular];
		  $responsavel=$l[responsavel];
		  $sexo=$l[sexo];
		  $conjuge=$l[conjuge];
		  $profissao=$l[profissao];
		 $estado_civil=$l[estado_civil];
		  }
?>
=======

 

Obrigado

 

Magrelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Beraldo,

seguindo tus sugestão, retornou esse resultado: Resource id #6

 

 

esse é o retorno de mysql_query

 

dê o echo logo após iniciar a variável com a string.

 

e use aspas nos índices dos arrays, como o Femak disse

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá Beraldo,

seguindo tus sugestão, retornou esse resultado: Resource id #6

 

 

esse é o retorno de mysql_query

 

dê o echo logo após iniciar a variável com a string.

 

e use aspas nos índices dos arrays, como o Femak disse

 

Olá Beraldo / Femak, tranquilos?

 

infelizmente ainda não rolou... o lado do admin já está tudo ok, inserindo, alterando e excluindo, mas o lado do cliente tá de rosca, velho!

vou fuçando por aqui.

 

abraços

 

Medrado

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o que o Beraldo falou..

 

de echo na variavel

$l
e poste o resultado aki

 

E aí Femak, jóia?

Brother, vou dar uma parada por hoje, talvez eu descansando, consiga pegar amanhã com mais calma... hoje isso já me estressou. hauhauhaua

veja aí parte do script, quem sabe você me dá uma luz.

 

valeu!

 

==================

<? layout_cima("Cliente"); ?>

<?

 

?>

<table width="100%" border="0" cellspacing="1" cellpadding="1">

<tr>

<td><table width="100%" class="stLabelCampo">

<tr>

<td width="16%" class="style3"><div align="right" class="style3"><span class="normal">Categoria: </span></div></td>

<td width="24%" class="stLabelCampo"><?

 

include '../procedimentos/setup.php';

 

 

$sql = mysql_query("select * from clientes where usuario = '$login' and senha = '$pass'")or die(mysql_error());

$sql = mysql_query($sql,$con);

while($l = mysql_fetch_array($sql)) {

 

$id=$l["id"];

$nome=$l["nome"];

$endereco=$l["endereco"];

$bairro=$l["bairro"];

$cep=$l["cep"];

$cidade=$l["cidade"];

$uf=$l["uf"];

$cpf=$l["cpf"];

$rg=$l["rg"];

$telefone=$l["telefone"];

$fax=$l["fax"];

$email=$l["email"];

$nascimento=$l["nascimento"];

$celular=$l["celular"];

$responsavel=$l["responsavel"];

$sexo=$l["sexo"];

$conjuge=$l["conjuge"];

$profissao=$l["profissao"];

$estado_civil=$l["estado_civil"];

 

}

 

?>

</td>

<td width="7%" align="right" class="normal"> </td>

<td width="26%" class="stLabelCampo"> </td>

<td width="8%" align="right" class="normal"> </td>

<td width="19%" class="stLabelCampo"> </td>

</tr>

<tr>

<td width="16%" class="style3"><div align="right" class="normal">Nome:</div></td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$l"; ?></font></td>

<td align="right" class="style3"><span class="normal"><span class="normal">Endereço:</span></span></td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo $nome ?></font></td>

<td align="right" class="style3"><span class="normal">Estado Civil</span></td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$estado_civil"; ?></font></td>

</tr>

<tr>

<td width="16%" class="style3"><div align="right" class="normal"><span class="normal">CPF/CNPJ:</span></div></td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$cpf"; ?></font></td>

<td align="right" class="style3">Bairro:</td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$bairro"; ?></font></td>

<td align="right" class="style3">Conjuge</td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$sql"; ?></font></td>

</tr>

<tr>

<td width="16%" class="style3"><div align="right" class="normal"><span class="normal">RG:</span></div></td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$rg"; ?></font></td>

<td align="right" class="style3">Cidade</td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$cidade"; ?></font></td>

<td align="right" class="style3">Profissão</td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$profissao"; ?></font></td>

</tr>

<tr>

<td width="16%" class="style3"><div align="right" class="normal">Responsável:</div></td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$responsavel"; ?></font></td>

<td align="right" class="style3">Estado:</td>

<td class="stLabelCampo"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><? echo "$uf"; ?></font></td>

<td align="right" class="normal"> </td>

<td class="stLabelCampo"> </td>

</tr>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha...apesar de ser iniciante em php...vou tentar falar o que acho que está errado ok???

 

nas linhas 2 e 4 nao tem porque voce abrir php sem colocar nada dentro.

nas linhas 15 e 16... acho que esta sendo redundante...acho que ficaria melhor assim:

 

$sql = "select * from clientes where usuario = '$login' and senha = '$pass'";
$sql = mysql_query($sql,$con)or die(mysql_error());
while($l = mysql_fetch_array($sql)) {

 

na hora que voce mostra as variaveis...particularmente eu prefiro colocar aspas simples...nao sei se isso influencia em alguma coisa..mas ficaria assim:

 

$id=$l['id'];
$nome=$l['nome'];
$endereco=$l['endereco'];
$bairro=$l['bairro'];
$cep=$l['cep'];
$cidade=$l['cidade'];
$uf=$l['uf'];
$cpf=$l['cpf'];
$rg=$l['rg'];
$telefone=$l['telefone'];
$fax=$l['fax'];
$email=$l['email'];
$nascimento=$l['nascimento'];
$celular=$l['celular'];
$responsavel=$l['responsavel'];
$sexo=$l['sexo'];
$conjuge=$l['conjuge'];
$profissao=$l['profissao'];
$estado_civil=$l['estado_civil'];

 

testa ai depois posta os resultados pra gente....abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

nas linhas 15 e 16... acho que esta sendo redundante...acho que ficaria melhor assim:

 

$sql = "select * from clientes where usuario = '$login' and senha = '$pass'";
$sql = mysql_query($sql,$con)or die(mysql_error());
while($l = mysql_fetch_array($sql)) {

O código não mostra de onde vem $login e $pass.

o mysql_error() vai mostrar o erro do MySQL, mas não mostrará o estado da consulta. COmo eu já sugeri antes, dÊ um echo na consulta:

 

$sql = "select * from clientes where usuario = '$login' and senha = '$pass'";
echo '** Consulta: ' . $sql;
$sql = mysql_query($sql,$con)or die(mysql_error());
while($l = mysql_fetch_array($sql)) {

 

 

na hora que voce mostra as variaveis...particularmente eu prefiro colocar aspas simples...nao sei se isso influencia em alguma coisa..mas ficaria assim:

 

$id=$l['id'];
$nome=$l['nome'];
$endereco=$l['endereco'];
$bairro=$l['bairro'];
$cep=$l['cep'];
$cidade=$l['cidade'];
$uf=$l['uf'];
$cpf=$l['cpf'];
$rg=$l['rg'];
$telefone=$l['telefone'];
$fax=$l['fax'];
$email=$l['email'];
$nascimento=$l['nascimento'];
$celular=$l['celular'];
$responsavel=$l['responsavel'];
$sexo=$l['sexo'];
$conjuge=$l['conjuge'];
$profissao=$l['profissao'];
$estado_civil=$l['estado_civil'];

 

testa ai depois posta os resultados pra gente....abrass

 

Essa é a forma correta.

Não colocando aspas, o PHP procura por constantes com esses nomes. Aí gera um E_NOTICE (que provavelmente está desabilitado em seu servidor, por isso não os vê) e, depois, considera-o como uma string,.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pequena dica, eu prefiro assim, deixa o codigo mais limpo e portanto, mais facil de ler.

 

while ($l = mysql_fetch_object($sql)) {
$id = $l->id;
$nome = $l->nome;
$endereco = $l->endereco;
$bairro = $l->bairro;
etc...
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí pessoal, tranquilos?

 

fiz as modificações e então surgiu isso:

** Consulta: select * from clientes where usuario = '' and senha = ''

 

O dia está só começando. hehehe... mas vou tentar desmembrar isso.

 

Vou seguir a dica do Srnetcave, também achei que fica mais limpo, valeu pela dica.

 

valeu pessoal!

 

Magrelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí Berardo, tudo bem?

Ta valendo aí o seu apoio, brother!

 

Então, pego as variáveis no formulário de entrada, não sei se era bem isso que você queria saber. na entrada só há os campos login e senha, veja aí o formulário de entrada e o scritp do login.php

 

========

<form name="form1" method="post" action="login.php">

<table width="350" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="126"><div align="right" class="style1"><span class="text">LOGIN:</span></div></td>

<td width="224"><div align="left">

<span class="text">

<input name="usuario" type="text" id="usuario" size="15">

</span></div></td>

</tr>

<tr>

<td height="29"><div align="right" class="style1"><span class="text">SENHA:</span></div></td>

<td><div align="left">

<span class="text">

<input name="senha" type="password" id="senha" size="15">

</span></div></td>

</tr>

<tr>

<td> </td>

<td> </td>

</tr>

<tr>

<td colspan="2"><div align="center">

<span class="text">

<input type="submit" name="Submit" class="botao" value="EFETUAR LOGIN">

</span></div></td>

</tr>

</table>

</form>

======================

 

LOGIN

 

<?

 

$sql=mysql_query("select * from clientes where usuario = '$login' and senha = '$pass'")or die(mysql_error());

$total=mysql_num_rows($sql);

if ($total == 0) {

echo header("location: ../index.php");

} else {

while($l=mysql_fetch_array($sql)) {

$permissao=$l[permissao];

}

 

$logado="logado";

session_register('logado');

session_register('permissao');

mysql_free_result($sql);

mysql_close($con);

echo header("location: ../telas_cliente/index.php");

 

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

As variáveis de formulário só são criadas automaticamente se register_globals estiver em "on" no php.ini, o que não ocorre por padrão desde o PHP 4.2.0.

 

Cria as variáveis usando $_POST['nome_do_campo']:

 

 

$login = $_POST['login'];

 

D[a para usar um if com isset(), empty() etc, para verificar se o campo possui valor

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.