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)
?>
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)
?>






