Jump to content

Ganhe $$$ escrevendo tutoriais para nós!


Foto

Erro ao mostrar resultado

Erro ao mostrar resultado




  • Faça login para responder
1 resposta(s) nesse tópico

#1 A. Sobrinho

A. Sobrinho
  • Participante
  • 261 mensagens

Publicado 06 July 2012 - 12:16 PM

sou iniciante no php e não estou conseguindo mostrar o resultado da tabela, esta dando erro... tenho uma prova sabado baseado nesse programa, esta dando esses erros:

Notice: Undefined variable: reg in C:\localhost\www\progprova\home.php on line 55

Warning: mysql_fetch_row() expects parameter 1 to be resource, null given in C:\localhost\www\progprova\home.php on line 55

Notice: Undefined variable: sid in C:\localhost\www\progprova\home.php on line 74


a linha 55 é essa ____ while ($reg = mysql_fetch_row($reg)) {

a linha 74 é essa_____ </CENTER>" ;

home.php


<?php

include "verifica_usuario.php";

?>





<html>

<head>

<title>:LOGADO!!!:</title>

</head>



<body>
<head>
<?php
echo "<HTML>
<HEAD>
<META HTTP-EQUIV='Content-type' CONTENT='application-xhtml+xml; charset=UTF-8'/>
<TITLE>.::Relação de clientes::.</TITLE>
<STYLE>
TD { font-family: arial;
font-size: 11pt;
}
.TIT { font-size: 14pt;
text-align: center;
color: yellow;
}
</STYLE>
</HEAD>
<BODY>
<CENTER>
<H1>Listagem do cadastro de clientes</H1>
<TABLE>
<TR BGCOLOR='#003366'>
<TD CLASS='TIT'>Nome</TD>
<TD CLASS='TIT'>Endereço</TD>
<TD CLASS='TIT'>CPF</TD>
<TD CLASS='TIT'>Telefone</TD>
</TR>
";
# ATENCAO: Colocar tantos TDs na table acima quantos forem os campos a serem exibidos.

# Passo 5.3: Pegar cada registro e mostrar todos os campos!
# Frescurinha: as linhas vao alternando a cor.

$c = 0;
while ($reg = mysql_fetch_row($reg)) {
($c%2) ? $cor = "#cccccc" : $cor = "#ffa000";
echo " <TR BGCOLOR='$cor'>
<TD>$reg[0]</TD>
<TD>$reg[1]</TD>
<TD>$reg[2]</TD>
<TD>$reg[3]</TD>

</TR>\n";
# ATENCAO: Colocar tantos TDs na table acima quantos forem os campos a serem exibidos.
$c++;
}

# PASSO 6: Fechar a table, dar opcao de retornar ao menu (note a passagem do $sid por GET)
#
# ATENCAO para o nome do link, ou seja, o nome do programa que mostra o menu principal

echo " </TABLE>
<b><a href='menuprincipal.php?sid=$sid'>Retorna ao Menu Principal</a></b>
</CENTER>" ;

# PASSO 7: FIM! Torcer para funcionar!!!

?>
<head>

</body>

</html>


ListaCadastro.php


<?php

#
# Como este e' um programa que roda DEPOIS da identificacao, necessariamente ele deve verificar a
# validade da sessao.
#

# PASSO 1. requisitar (require) a biblioteca de sessao

include "sessao.php";

# PASSO 2. abrir conexao com o SGBD e selecionar o banco

$conn = mysql_connect("localhost","root" ,"");
if (!$conn) {
echo "Nao conectou ao MySQL"; exit;
}

$foo = mysql_select_db("alfa",$conn);
if (!$foo) {
echo "Nao selecionou banco"; exit;
}

# PASSO 3. Verificar a sessao
#
# ATENCAO: Como este programa deve ter sido chamado pelo menu do sistema, possivelmente
# o identificador de sessao sera' passado por GET, e nao por POST.
# Altere abaixo, se for o caso.

#
# ATENCAO 2: Deve haver uma funcao chamada VerificaSessao na biblioteca sessao.php...

$sid = $_GET['sid'];

$login = VerificaSessao($conn, $sid);

# PASSO 4: Fazer tela para cancelar a execucao caso o sid seja invalido.
#
if (!$login) {
#
# Coloque aqui seu codigo HTML (use echo ou redirecione usando Header/Location) de uma pagina para finalizar a execucao

exit;
}

# PASSO 5: Se chegamos ate' aqui, o sid e' valido. Entao, vamos mostrar os dados!!!
#
# Altere a query abaixo usando o nome da tabela e do campo que voce deseja ordenar

# Passo 5.1: Selecionando a table
$qry = "SELECT * FROM clientes ORDER BY nome";
$res = mysql_query($qry, $conn); # Submete a query
if (!$res) {echo "Nao selecionou $qry"; exit; } # Verifica sucesso do select

# Passo 5.2: Exibindo o inicio da pagina
#
# ATENCAO: o layout e' por sua conta!!! Este aqui foi aproveitado de um de nossos primeiros programas...
echo "<HTML>
<HEAD>
<META HTTP-EQUIV='Content-type' CONTENT='application-xhtml+xml; charset=UTF-8'/>
<TITLE>.::Relação de clientes::.</TITLE>
<STYLE>
TD { font-family: arial;
font-size: 11pt;
}
.TIT { font-size: 14pt;
text-align: center;
color: yellow;
}
</STYLE>
</HEAD>
<BODY>
<CENTER>
<H1>Listagem do cadastro de clientes</H1>
<TABLE>
<TR BGCOLOR='#003366'>
<TD CLASS='TIT'>Nome</TD>
<TD CLASS='TIT'>Endereço</TD>
<TD CLASS='TIT'>CPF</TD>
<TD CLASS='TIT'>Telefone</TD>
</TR>
";
# ATENCAO: Colocar tantos TDs na table acima quantos forem os campos a serem exibidos.

# Passo 5.3: Pegar cada registro e mostrar todos os campos!
# Frescurinha: as linhas vao alternando a cor.

$c = 0;
while ($reg = mysql_fetch_row($res)) {
($c%2) ? $cor = "#cccccc" : $cor = "#ffa000";
echo " <TR BGCOLOR='$cor'>
<TD>$reg[0]</TD>
<TD>$reg[1]</TD>
<TD>$reg[2]</TD>
<TD>$reg[3]</TD>

</TR>\n";
# ATENCAO: Colocar tantos TDs na table acima quantos forem os campos a serem exibidos.
$c++;
}

# PASSO 6: Fechar a table, dar opcao de retornar ao menu (note a passagem do $sid por GET)
#
# ATENCAO para o nome do link, ou seja, o nome do programa que mostra o menu principal

echo " </TABLE>
<b><a href='menuprincipal.php?sid=$sid'>Retorna ao Menu Principal</a></b>
</CENTER>
</BODY>
</HTML>
";

# PASSO 7: FIM! Torcer para funcionar!!!

?>


login.php


<body>

<h2>::LOGIN::</h2>

<p>

<form action="vlog.php" method="post" name="formulario" id="formulario">

<p>login:<input type="text" name="login" id="login"> <br> </p>

<p>senha:<input type="password" name="senha" id="senha"> <br> </p>

<p><input type="submit" name="botao" id="botao" value="logar"> </p>

</form>

</p>



</body>

</html>

sessao.php


<?php

#
# IMPORTANTE: as FUNCOES, como declaradas abaixo, são interpretadas pelo PHP, mas são executadas apenas quando CHAMADAS
# por um programa (que pode ser o próprio programa em qu elas estão inseridas).
#
# FUNCAO CriaSessao: recebe o login do usuario, pega a data do sistema e gera o SID.
function CriaSessao($conn, $login) {
$agora = microtime();
$sid = md5($agora . $login);
$qry = "INSERT INTO SESSAO VALUES ('$sid','$login',1)";
$res = mysql_query($qry,$conn);
return($sid);
}

# FUNCAO VerificaSessao: recebe o sid e verifica se existe e se a sessao está aberta.
function VerificaSessao($conn, $sid) {
$qry = "SELECT * FROM SESSAO WHERE sid='$sid'";
$res = mysql_query($qry,$conn);
$sessao = mysql_fetch_row($res);
if (!$sessao[1]) return("NAOEXISTE");
if ($sessao[2]) {
return($sessao[1]);
} else {
return("SESSAOFECHADA");
}
}

# FUNCAO FechaSessao: recebe o sid e fecha a sessao.
function FechaSessao($conn, $sid) {
$qry = "UPDATE SESSAO SET aberto=0 WHERE sid='$sid'";
$res = mysql_query($qry,$conn);
return;
}

?>


verifica_usuario.php


<?php



//Esse sesion_start() inicia a sessão dando acesso ao vetor $_session[]//

session_start();



//coletamos os dados existentes no vetor.../*

if(IsSet($_SESSION['nome_usuario']))

$nome_usuario=$_SESSION['nome_usuario'];

if(IsSet($_SESSION['senha_usuario']))

$senha_usuario=$_SESSION['senha_usuario'];



//aqui vamos verificar se temos algo registrado//

if(!(empty($nome_usuario) OR empty($senha_usuario)))

{



//Abre a conexão com o mysql e seleaciona o banco//

$con = mysql_connect("localhost","root","");

mysql_select_db("alfa");



$sql=mysql_query("SELECT * FROM usuario WHERE login='$nome_usuario'");

$conta=mysql_num_rows($sql);



if($conta>=1)

{

if($senha_usuario != mysql_result($sql,0,"senha"))

{

unset($_SESSION['nome_usuario']);

unset($_SESSION['senha_usuario']);

echo "você não efetuou o login!";

exit;

}

}

else

{

unset($_SESSION['nome_usuario']);

unset($_SESSION['senha_usuario']);

echo "você não efetuou o login!";

exit;

}

}

else

{

echo "você não efetuou o Login!";

exit;

}



mysql_close($con);



?>



vlog.php


<?php

$usuario = $_POST["login"];

$senha = $_POST["senha"];



//Abre a conexão com o mysql//

$con = mysql_connect("localhost","root","");

mysql_select_db("alfa");



//Aqui veificamos se o usuario e senha digitados no formulário existem e estão corretos//

$sql = mysql_query("SELECT * FROM usuario WHERE login='".$usuario."' and senha='".$senha."'")
or die ("".mysql_error());
$qregistro = mysql_num_rows($sql);




if($qregistro<1){

echo "Login ou senha errado(s)!!";

}

else

{

//Apos verificado ele grava o usuario e senha no vetor $_session[]//

session_start();

$_SESSION['nome_usuario']=$usuario;

$_SESSION['senha_usuario']=$senha;

header("Location: home.php");

}



mysql_close($con)



?>




#2 nickosoft

nickosoft

    Hardware Expert

  • Colaborador
  • 3378 mensagens

Publicado 06 July 2012 - 09:53 PM

ta bem baguncado, mas você nao pode usar a mesma variavel ao mesmo tempo pra armazenar o resultado e ser o parametro
VB.Net & C#






Tópicos Relacionados Collapse





Ganhe $$$ escrevendo tutoriais para nós!