Foros del Web » Programando para Internet » PHP »

Problemas con Login...No funciona el Select...???

Estas en el tema de Problemas con Login...No funciona el Select...??? en el foro de PHP en Foros del Web. Hola, Hace poco que estoy trabajando con PHP, necesito si me pueden ayudar a encontrar un error en este código, por el que aparentemente no ...
  #1 (permalink)  
Antiguo 15/03/2006, 18:05
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 11 años, 9 meses
Puntos: 0
Problemas con Login...No funciona el Select...???

Hola, Hace poco que estoy trabajando con PHP, necesito si me pueden ayudar a encontrar un error en este código, por el que aparentemente no anda el select:

Los campos d ela BD son:
usuaide (int2)autoinc
usuanom(varchar30)not null
usuapas(varchar8)


el código es el siguiente:

<?php include("../conex.php"); ?>
<html>
<head>
<title>INGRESO AL AREA RESTRINGIDA</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body leftmargin="0" topmargin="0">
<?php
if ($enviar) {
conectarse();
$sql = "SELECT usuaide, usuanom, usuapas FROM usua WHERE usuanom = " . $usuario . " and usuapas = " . $passw;
echo "sql " . $sql . "<br>";
$resulta = mysql_query($sql);
echo "resulta" .$resulta . "<br>";
$cant_filas = mysql_num_rows($sql);
echo $cant_filas . "<br>";

if ($cant_filas > 0) {
$myrow = mysql_fetch_array($resulta);
$_SESSION[autorizado] = $myrow['usuaide'];
header ("Location: lista_noticias.php");
}
else{
echo "USUARIO O CONTRASEÑA INCORRECTOS";
}
}
else {
?>

<table width="100%" height="100%" border="0" cellpadding="8" cellspacing="0">
<tr bgcolor="#99CCCC">
<td height="50" colspan="2"><div align="center"><strong><font size="5"><em>CADENA
SER ARGENTINA</em></font></strong></div></td>
</tr>
<tr>
<td width="21%" valign="top" bordercolor="#CCCCCC" bgcolor="#99CCCC"> <div align="center">
<table width="85%" height="157" border="1" align="left">
<tr>
<td bgcolor="#66CC99"><font size="3"><strong><em>NOTICIAS</em></strong></font></td>
</tr>
<tr>
<td bgcolor="#99CCCC"> <div align="center"><a href="alta_noticias.php">Agregar</a></div></td>
</tr>
<tr>
<td bgcolor="#99CCCC"> <div align="center"><a href="consulta_noticias.php">Consultar</a></div></td>
</tr>
<tr>
<td bgcolor="#66CC99"><font size="3"><strong><em>SECCIONES</em></strong></font></td>
</tr>
<tr>
<td bgcolor="#99CCCC"> <div align="center"><a href="alta_secciones.php">Agregar</a></div></td>
</tr>
<tr>
<td bgcolor="#99CCCC"> <div align="center"><a href="lista_secciones.php">Consultar</a></div></td>
</tr>
<tr>
<td bgcolor="#66CC99"><font size="3"><strong><em>AUTORES</em></strong></font></td>
</tr>
<tr>
<td bgcolor="#99CCCC"> <div align="center"><a href="alta_autor.php">Agregar</a></div></td>
</tr>
<tr>
<td bgcolor="#99CCCC"> <div align="center"><a href="lista_autor.php">Consultar</a></div></td>
</tr>
</table>
</div></td>
<td width="81%" valign="top"> <p>&nbsp; </p>
<H1 align="center"> <font size="4"><em>INGRESO A &Aacute;REA RESTRINGIDA</em></font></H1>
<Form method="Post" action="index.php">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="13%">Usuario:</td>
<td width="87%"><input name="usuario" type="text" id="usuario"></td>
</tr>
<tr>
<td>Password:</td>
<td><input name="passw" type="password" id="contra"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="enviar" type="submit" id="enviar" value="Enviar"></td>
</tr>
</table>
</Form>

</td>
</tr>
<tr>
<td valign="top" bordercolor="#CCCCCC" bgcolor="#99CCCC">&nbsp;</td>
<td valign="top">&nbsp;</td>
</tr>
</table>
<?php } ?>
</body>
</html>


Es la primera vez que consulto y no se si esta todo lo que hace falta.
Gracias, desde ya
__________________
:stress: Patri:corazon:
  #2 (permalink)  
Antiguo 15/03/2006, 19:18
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
la linea en la ke haces la consulta a la tabla esta mal concatenada:

Código PHP:
<?
  
// por aki la conex a la BD
  
$sql "SELECT usuaide, usuanom, usuapas FROM usua WHERE usuanom='".$_POST['usuario']."' AND usuapas='".$_POST['passw']."'";
  
// por aki el resto de codigo
?>
prueba con eso, suerte

Última edición por ZydRick; 15/03/2006 a las 19:23
  #3 (permalink)  
Antiguo 15/03/2006, 20:31
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 11 años, 9 meses
Puntos: 0
aca va el error que me da

Gracias por tu respuesta, la verdad no tenia idea de la eficiencia de esto
Es la primera vez que mando mi consulta y en una hora, ya está la respuesta...

Probé la línea como me dijiste, aca te paso el erro que me da: (hice un echo de $sql y de $resulta para ver como funcionaba, asi que ahí va todo....GRACIASSSS


sql SELECT usuaide, usuanom, usuapas FROM usua WHERE usuanom='MARIANO' AND usuapas='456'
resultaResource id #5

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\periodico\admin\index.php on line 18

USUARIO O CONTRASEÑA INCORRECTOS
__________________
:stress: Patri:corazon:
  #4 (permalink)  
Antiguo 15/03/2006, 20:49
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
mas errores de concatenacion:

Código PHP:
<?
  
// codigo por aki
  
echo "sql '".$sql."'<br />";
  
$resulta mysql_query($sql);
  echo 
"resulta '".$resulta."' <br />";
  
$cant_filas mysql_num_rows($sql);
  echo 
"'".$cant_filas."' <br />";
  
// mas codigo por aki
?>
prueba con eso a ver si ya no da error
  #5 (permalink)  
Antiguo 15/03/2006, 21:30
okram
Invitado
 
Mensajes: n/a
Puntos:
me parece que tu error esta aqui:

Código PHP:
//<?
$sql 
"SELECT usuaide, usuanom, usuapas FROM usua WHERE usuanom = " $usuario " and usuapas = " $passw;
    echo 
"sql " $sql "<br>";
    
$resulta mysql_query($sql);
    echo 
"resulta" .$resulta "<br>";
    
$cant_filas mysql_num_rows($sql);
    echo 
$cant_filas "<br>";
no puedes colocar mysql_num_rows($sql), ya que esta funcion se aplica al resultado de la consulta... la variable $sql contiene una cadena SQL sin procesar, por lo que lo correcto seria mysql_num_rows($resulta)

Prueba asi y nos comentas como t fue
  #6 (permalink)  
Antiguo 16/03/2006, 20:48
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 11 años, 9 meses
Puntos: 0
Creo que sta solucionado con lo que me dijiste OKRAM, el tema es que ahora pasa el error por otro lado en el header, no se esto me tiene loca........
aca les paso el error que me da

Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\periodico\admin\index.php:8) in c:\apache\htdocs\periodico\admin\index.php on line 24


y entra al if, siempre...............................SOCORROOOOOO OOO
__________________
:stress: Patri:corazon:
  #7 (permalink)  
Antiguo 16/03/2006, 20:49
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 11 años, 9 meses
Puntos: 0
GRACIAS ZYDRICK POR las correcciones de concatenacion....
__________________
:stress: Patri:corazon:
  #8 (permalink)  
Antiguo 16/03/2006, 21:30
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
El error ke tienes en tu header no es nada extraño. Es fácil de entender: no puedes enviar NADA antes de modificar las cabeceras (con funciones como setcookie(), header() o session_start()). Posiblemente tengas un espacio antes o después de abr/cerrar el modo de PHP, concretamente en el archivo index.php, en la línea 8.

saludos
  #9 (permalink)  
Antiguo 16/03/2006, 21:46
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 12 años, 7 meses
Puntos: 1
lo que podrias hacer es poner todo el script de verificacion de usuario al principio del archivo y el mensaje "USUARIO O CONTRASEÑA INCORRECTOS" lo puedes cargar en una variable e imprimirla en el BODY, esto te permite enviar la cabecera header() antes de imprimir cualquier otra cosa.
  #10 (permalink)  
Antiguo 20/03/2006, 08:07
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 11 años, 9 meses
Puntos: 0
Problema solucionado...mil gracias...
__________________
:stress: Patri:corazon:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:29.