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.