Foros del Web » Programando para Internet » PHP »

Ayudaa

Estas en el tema de Ayudaa en el foro de PHP en Foros del Web. Bueno estube haciendo un login de una pagina para que se logueen los administradores y no me funciona queria saber si alguien me puede ayudar ...
  #1 (permalink)  
Antiguo 06/02/2010, 07:25
Avatar de facurouss  
Fecha de Ingreso: enero-2010
Mensajes: 101
Antigüedad: 14 años, 11 meses
Puntos: 0
Ayudaa

Bueno estube haciendo un login de una pagina para que se logueen los administradores y no me funciona queria saber si alguien me puede ayudar a descubrir el error.

Index.php
Cita:
<?php
session_start();
require("conectar.php");
include("header.php");
include("menu.php");
?>
<div class="cuerpo">
<center>
<h2><b>Bienvenido</b></h2>
<br><br>
<div class="logeo">
<form action="index.php" method="post">
Usuario:<br>
<input name="user" type="text"><br >
Password:<br>
<input name="pass" type="text"><br >
<input type="submit" value="Entrar">
</form>

</div>
</div>
Con este calculo que no hay problemas

conectar.php
Cita:
<?php
$host = "localhost";
$user = "root";
$pass = "root";
$db = "manager";

@ $conn = mysql_connect("$host","$user","$pass");
if(!$conn) {
echo "Estamos en mantenimiento intente mas tarde";
}
mysql_select_db($db,$conn);
?>
menu.php
Cita:
<?php
require("conectar.php");
echo "<div class='menu'>";
echo "<div class='menu_vinc'>";
echo '<a href="index.php"><b>Home</b></a> |';
echo "<a href='acercade.php'><b>Acerca de</b></a> |";
echo "<a href='index.php'><b>Ayuda</b></a>";
if(!$_SESSION['logeado']) {
echo "";
} else {
echo "<div class='menuadm'><a href='adm.php'><b>Administracion</b></a>";
}

echo "</div>";
echo "</div>";
echo "</div>";
?>
El problema aca es que siempre me muestra el link Administracion sin importar si estoy logeado o no.

login.php
Cita:
<?php
session_start();
if($_SERVER['REQUEST_METHOD'] =='POST') {
require("conectar.php");
$user = $_POST['user'];
$pass = $_POST['pass'];
$cons = "select * from admin where usuario = '$user'and contraseña ='$pass'";
$res = mysql_query($cons, $conn);
if (mysql_num_rows($res) == 1) {
$_SESSION['logeado'] = true;
$_SESSION['user'] = $user;
header("location:index.php");
}

?>
Aca nunca me devuelve el set de resultados ingrese un usuario correcto o no no me devuelve nada.

Agradeceria al que me pueda ayudar.
Saludos
  #2 (permalink)  
Antiguo 06/02/2010, 07:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Ayudaa

depura tu consulta...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/02/2010, 07:52
Avatar de facurouss  
Fecha de Ingreso: enero-2010
Mensajes: 101
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayudaa

Como depura tu consulta?
  #4 (permalink)  
Antiguo 06/02/2010, 07:59
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 9 meses
Puntos: 14
Respuesta: Ayudaa

Código PHP:
Ver original
  1. $cons = "select * from admin where usuario = '$user'and contraseña ='$pass'";
Ahí te falta un espacio antes del and.
Código PHP:
Ver original
  1. $cons = "select * from admin where usuario = '$user' and contraseña ='$pass'";
Una buena costumbre, como te decían arriba, es no poner sólo esto:
Código PHP:
Ver original
  1. $res = mysql_query($cons, $conn);
Sino esto:
Código PHP:
Ver original
  1. $res = mysql_query($cons, $conn) or die(mysql_error());
Así, si hay algún error con la consulta o la conexión con la base de datos te saldrá el error y te ahorrará tiempo de buscarlo tú.
  #5 (permalink)  
Antiguo 06/02/2010, 08:25
Avatar de facurouss  
Fecha de Ingreso: enero-2010
Mensajes: 101
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayudaa

Ok gracias.
Probe y sigue sin tirar error pero tampoco hace lo que le digo xD
  #6 (permalink)  
Antiguo 06/02/2010, 09:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Ayudaa

En cuanto a la consulta, mi sugerencia incial sería que no uses "ñ" en el nombre de una tabla. Algunas versiones de MySQL no se llevan bien con caracteres extendidos.
A nivel de PHP, antes de enviar a ejecutar la consulta, haz que te muestre en un echo, qué es lo que realmente contiene la variable $cons, ya que puede que la sintaxis no sea correcta por problemas con las variables.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 06/02/2010, 09:13
Avatar de facurouss  
Fecha de Ingreso: enero-2010
Mensajes: 101
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayudaa

Ok gracias a los que me ayudaron :)
Lo pude hacer andar..
  #8 (permalink)  
Antiguo 06/02/2010, 09:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Ayudaa

¿Y en qué consistía, al final, el problema?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 06/02/2010, 10:04
Avatar de facurouss  
Fecha de Ingreso: enero-2010
Mensajes: 101
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayudaa

El session_start() y el header

Etiquetas: logeo
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 09:37.