Foros del Web » Programando para Internet » PHP »

Necesito ayuda con este código

Estas en el tema de Necesito ayuda con este código en el foro de PHP en Foros del Web. Estoy intentado (pero solo eso, intentando), hacer un sistema de registro y login para mi web. El registro lo he conseguido, pero no soy capaz ...
  #1 (permalink)  
Antiguo 01/02/2007, 10:41
 
Fecha de Ingreso: enero-2007
Mensajes: 76
Antigüedad: 17 años, 4 meses
Puntos: 0
Necesito ayuda con este código

Estoy intentado (pero solo eso, intentando), hacer un sistema de registro y login para mi web. El registro lo he conseguido, pero no soy capaz de hacer que funcione el login. Este es el código que he hecho, a ver si me echais una mano: en los casos en que el usuario no existe o no se introducen lo datos correctamente si que funciona; lo que me falla es cuando intenta ingresar un usuario que si que esta registrado.

<?php

include("config.php");

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["pass"]) != "")
{
$nickN = $HTTP_POST_VARS["nick"];
$passN = $HTTP_POST_VARS["pass"];
$result = mysql_query("SELECT pass FROM usuarios WHERE nick='$nickN'");

if($row = mysql_fetch_array($result))
{
if($row["pass"] == $passN)
{
setcookie("usNick",$nickN,time()+7776000);
setcookie("usPass",$passN,time()+7776000);
echo "Ingreso exitoso, ahora será dirigido a la zona privada";
?>
<script type="text/javascript">

var pagina = 'entrada.php';
var segundos = 5000;

function redireccion() {

document.location.href=pagina;

}

setTimeout("redireccion()",segundos);

</script>
<?
}
else
{
echo "Password incorrecto";
?>
<script type="text/javascript">

var pagina = 'login.php';
var segundos = 5000;

function redireccion() {

document.location.href=pagina;

}

setTimeout("redireccion()",segundos);

</script>
<?
}
}
else
{
echo "Usuario no existente en la base de datos";
?>
<script type="text/javascript">

var pagina = 'login.php';
var segundos = 5000;

function redireccion() {

document.location.href=pagina;

}

setTimeout("redireccion()",segundos);

</script>
<?
}
mysql_free_result($result);
}
else
{
echo "Debe especificar un nick y password";
?>
<script type="text/javascript">

var pagina = 'login.php';
var segundos = 5000;

function redireccion() {

document.location.href=pagina;

}

setTimeout("redireccion()",segundos);

</script>
<?
}
mysql_close();
?>
  #2 (permalink)  
Antiguo 01/02/2007, 10:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Necesito ayuda con este código

Intercambia

Código PHP:
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["pass"]) != "")
{
$nickN $HTTP_POST_VARS["nick"];
$passN $HTTP_POST_VARS["pass"];
$result mysql_query("SELECT pass FROM usuarios WHERE nick='$nickN'"); 
por

Código PHP:
if(trim($_POST["nick"]) != "" && trim($_POST["pass"]) != "")
{
$nickN $_POST["nick"];
$passN $_POST["pass"];
$result mysql_query("SELECT pass FROM usuarios WHERE nick='$nickN'")or die(mysql_error()); 
Comentanos si sigue sin funcionarte o arrojo algun error

Saludillos.
  #3 (permalink)  
Antiguo 01/02/2007, 11:07
 
Fecha de Ingreso: enero-2007
Mensajes: 76
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Necesito ayuda con este código

Muchas gracias por tu rápida respuesta. Sigue sin funcionarme, hace exactamente lo mismo. Tu cuento lo que hace:

Cuando pongo los datos correctos de un usuario registrado, me dice que el ingreso es exitoso y que redireccionara a la zona privada, sin embarlo cuando redirecciona pone:

"Debe especificar un nick y passwordPara ver esta sección debes estar registrado"

Como puedes ver lo de "debe especificar...." corresponde al final del código que he puesto, pero es que lo de "para ver esta sección...." corresponde al fichero entrada.php, es decir al que redirecciona cuando es login es correcto
  #4 (permalink)  
Antiguo 01/02/2007, 11:14
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: Necesito ayuda con este código

1)Estas seguro que pasa al código del if?
2)Por lo que pude entender creo que estas redireccionando a la misma página, de serlo vas a tener que asignarle los valores de tu nick y pass a la url

Código:
var pagina = 'login.php?nick=nick&pass=pass';
de lo contrario explica un poco mas tu código. No tengo mucho tiempo para estar checando el código en detalle

Yo te recomiendo que uses sesiones para que esta forma mantegas que la info del usuario.

Saludillos.
  #5 (permalink)  
Antiguo 01/02/2007, 11:23
 
Fecha de Ingreso: enero-2007
Mensajes: 76
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Necesito ayuda con este código

Gracias de nuevo por tu atención.

En cuanto a lo de las sesiones, es que no tengo mucha idea... (se nota, verdad?). ¿No tendrás por ahí algún código que me puedas pasar para que yo lo pueda adaptar a mi web? ¿o donde conseguir uno?
  #6 (permalink)  
Antiguo 01/02/2007, 13:52
 
Fecha de Ingreso: enero-2007
Mensajes: 76
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Necesito ayuda con este código

No consigo hacer que mi login funcione... ¿Alguien me puede pasar algun script de autentificación de usuarios, que sea bueno?

Gracias
  #7 (permalink)  
Antiguo 01/02/2007, 14:24
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 19 años
Puntos: 1
Re: Necesito ayuda con este código

yo uso el autentificador de Cluster, no te doy la página web porque por ahora no funciona la descarga de archivos, busca a cluster en esta direccion y enviale un mensaje privado:

http://www.forosdelweb.com/memberlis...name&order=asc
  #8 (permalink)  
Antiguo 02/02/2007, 04:13
 
Fecha de Ingreso: enero-2007
Mensajes: 76
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Necesito ayuda con este código

OK. Muchas gracias por la información. Ya me he puesto en contacto con el. Estoy ansioso por que me responda... jejejeje
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 12:47.