Foros del Web » Programando para Internet » PHP »

Problema con mi codigo

Estas en el tema de Problema con mi codigo en el foro de PHP en Foros del Web. Tengo el siguiente codigo y lo que me pasa es que en mi servidor local (Apache) me funciona a la perfeccion pero cuando lo subo ...
  #1 (permalink)  
Antiguo 18/03/2008, 09:41
Avatar de Alvarix18  
Fecha de Ingreso: marzo-2008
Ubicación: Valencia
Mensajes: 200
Antigüedad: 16 años
Puntos: 5
Problema con mi codigo

Tengo el siguiente codigo y lo que me pasa es que en mi servidor local (Apache) me funciona a la perfeccion pero cuando lo subo al servidor de lycos que tiene php, no me funciona como deberia, creo que el problema esta relacionado con las cookies pero no se exactamente por que. He intentado de todo!
Es un sistema de registro de usuarios, el cual funciona entero en index.php.
Código PHP:
<?php 

include("conexion.php");

if(isset(
$_POST["nickname"])) //Si ha sido completado el formulario, el cual tiene como action "index.php"
{
$nick=$_POST["nickname"];
$password=$_POST["password"];
$password=md5($password);
if(
trim($nick) != "" && trim($password) != "")
{

$result mysql_query("SELECT password FROM usuarios WHERE nick='$nick'");
if(
$row mysql_fetch_array($result))
{
if(
$row["password"] == $password)
{
setcookie("usNick",$nick,time()+7776000);       //Establecemos las cookies si todo esta correcto
setcookie("usPass",$password,time()+7776000);

?>
<SCRIPT LANGUAGE="javascript">  //Retornamos a "index.php" pero ahora no existen post y si las cookies, por lo que se ejecuta lo siguiente
location.href = "index.php";
</SCRIPT>
<?php

}
else
{
echo 
'<p class="Estilo18">Password incorrecto --- <a href="index.php">Reintentar</a></p>';
$Si="Si";
}
}
else
{
echo 
'<p class="Estilo18">Ese usuario no existe --- <a href="index.php">Reintentar</a></p>';
$Si="Si";
}
mysql_free_result($result);
}
else
{
echo 
'<p class="Estilo18">Debe especificar un nick y contraseña --- <a href="index.php">Reintentar</a></p>';
$Si="Si";
}
}
?>
<?php
      $idUsuarioL
;
      
$nickUsuarioL;
      
$emailUsuarioL;
      
$nombreUsuarioL

if(isset(
$_COOKIE["usNick"]) && isset($_COOKIE["usPass"])) //Cuando es redirigido existen las cookies por lo que esto se ejecuta
{

$results mysql_query("SELECT * FROM usuarios WHERE nick='".$_COOKIE["usNick"]."' AND password='".$_COOKIE["usPass"]."'");

if(
$row mysql_fetch_array($results))
{
setcookie("usNick",$_COOKIE["usNick"],time()+7776000);  //Renovamos las cookies
setcookie("usPass",$_COOKIE["usPass"],time()+7776000);

$idUsuarioL $row["id"];
$nickUsuarioL $row["nick"];        //Asignamos valores
$emailUsuarioL $row["email"];
$nombreUsuarioL $row["nombre"];

echo 
'<p class="Estilo18"> ¡Hola ';
echo 
$nombreUsuarioL;                  //mensaje de bienvenida
echo '! --- <a href="quitar cookies.php">Cerrar sesión</a></p>';
$Si="Si";
}
}
mysql_free_result($results);
?>
<?php
if($Si!="Si")
{
include(
"login.txt");  //Si no ha habido comprobacion o ingreso exitoso entonces aparece el formulario
}

?>
El codigo no esta muy depurado, pero en el servidor apache funciona, muchas cosas se podran mejorar, si me las dicen se lo agradecia mucho.

Última edición por GatorV; 18/03/2008 a las 10:18 Razón: Agregar tags PHP
  #2 (permalink)  
Antiguo 18/03/2008, 10:13
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 7 meses
Puntos: 56
Re: Problema con mi codigo

Holas Alvarix18

Antes de ayudarte, podrías poner tu código dentro de las tags de PHP que ofrece el foro, es que así como lo pones se ve muy desordenado y tomará tiempo leerlo y entenderlo... Gracias.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 18/03/2008, 10:17
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 20 años, 6 meses
Puntos: 3
Re: Problema con mi codigo

Deberías controlar si hace correctamente el query a la BBDD para saber si el problema viene con la BBDD de lycos en algún punto.

Sustituye esto:

Código PHP:
$result mysql_query("SELECT password FROM usuarios WHERE nick='$nick'"); 
Por esto:
Código PHP:
$result mysql_query("SELECT password FROM usuarios WHERE nick='$nick'") or die("Error en query select password"); 
Y en el resto de querys que haces igual, para así saber si falla en la consulta a la BBDD de lycos.

Deberías comprobar tambíen si la conexión a la BBDD la hace correctamente...
  #4 (permalink)  
Antiguo 18/03/2008, 10:42
Avatar de Alvarix18  
Fecha de Ingreso: marzo-2008
Ubicación: Valencia
Mensajes: 200
Antigüedad: 16 años
Puntos: 5
Re: Problema con mi codigo

Si las consultas se hacen mal..¿Aparece un mensaje de error en la pagina web?
No me aparece ninguno, pero parece ser que no realiza las consultas, despues de ese codigo tengo otro que hace conexion con la base de datos pero este si funciona usando el mismo include "conexion.php". ¿Puede ser que sean demasiadas conexiones con la base de datos?¿Tiene solucion?

Gracias, contesta por favor. No parece problema del codigo, pero este no funciona...

La tengo colgada y cuando esta mal escrito el nick o algo funciona y dice que no existe ese nick.

Aqui esta --->> http://usuarios.lycos.es/mundonds/

Última edición por Alvarix18; 18/03/2008 a las 10:47 Razón: Lo he escrito mal :S
  #5 (permalink)  
Antiguo 18/03/2008, 12:37
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 20 años, 6 meses
Puntos: 3
Re: Problema con mi codigo

Puedes hacer lo siguiente en conexion.php?

Código PHP:
$link mysql_connect('TU_SERVIDOR_MYSQL''TU_USUARIO_MYSQL''TU_PASSWORD_MYSQL');
if (!
$link) {
    die(
'No se pudo conectar: ' mysql_error());
}
if (!
mysql_select_db('TU_BBDD'$link)) 
die(
'No se pudo seleccionar DDBB: ' mysql_error()); 
De esta manera sabremos si tu script conecta o no con la BBDD
  #6 (permalink)  
Antiguo 18/03/2008, 12:46
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 7 meses
Puntos: 56
Re: Problema con mi codigo

Hay veces en configuran los servidores para que no muestren los errores php, así que eso tendrías que averiguarlo. Prueba escribiendo mal un script a propósito, de modo de ejecutarlo y que se caiga o muestre error, sólo para comprobar que muestra los errores. Por ejemplo:

Código PHP:
include("conexion.php");
$result mysql_query("SELECT campo_que_no_existe FROM usuarios"); 
Esta sentencia debería darte un error mysql, pues en tu tabla seguramente no tienes ningún campo que se llame "campo_que_no_existe", jejeje.

Para recuperar el error, usa el die() que señaló kaS_aPPeaL, o bien algo como esto:
Código PHP:
include("conexion.php");
$result mysql_query("SELECT campo_que_no_existe FROM usuarios");
// si se produjo un error
if (mysql_errno() > 0)
{  echo
" Error ".mysql_errno().". Detalle: ".mysql_error();  }
// si no hay error
else
{
  
// aqui poner las acciones si no hay errores
}
mysql_free_resuly($result); 
Eso en cuanto a los errores.

Ahora, en cuanto a tu código y que dices que no te funciona, pues lamentablemente yo no te puedo ayudar, pues jamás he usado el $_COOKIE, sorry.

Pero ten paciencia y seguro alguien más te podrá ayudar ^_^. Suerte!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #7 (permalink)  
Antiguo 18/03/2008, 14:19
Avatar de Alvarix18  
Fecha de Ingreso: marzo-2008
Ubicación: Valencia
Mensajes: 200
Antigüedad: 16 años
Puntos: 5
Re: Problema con mi codigo

Muchas gracias a todos!!Ahora voy a repasar aver si hay algun error que no me marca aunque no creo, porque la mayoria los marca... La conexion va perfectamente, por desgracia porque ya sabria el error jajaja, aunque me parece que no hay error y es que el hosting gratuito de lycos esta muy limitado... Pero con tiempo me parece que me voy a rediseñar el codigo.

Venga saludooss!
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 08:19.