Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 6 de 6

Tema: Duda sobre cookies y login

  1. #1
    Recien Llegado! Habitante
    Fecha de Ingreso
    13 jun, 11
    Mensajes
    15
    Poder de Reputación
    14

    Question Duda sobre cookies y login

    Bueno, como siempre he hablado antes de la cuenta señores... el código funciona bien (lo pongo a continuación:


    Código:
    <?php
    $conexion=mysql_connect('mysql.webcindario.com','grupo221','drilis89');
    mysql_select_db('grupo221',$conexion);
    $nick=$_POST[USUARIO];
    $pass=$_POST[PASSWORD];
    $registrado=mysql_query("select USUARIO,PASSWORD from SOCIOS where USUARIO='$nick' and PASSWORD='$pass'",$conexion) or die (mysql_error());
    if($usuario=mysql_fetch_array($registrado))
    {setcookie("usuario",$usuario['nick'],time()+7776000);
    setcookie("contrasena",$usuario['pass'],time()+7776000);
    </form>";}
    else{echo'Los datos ingresados no son correctos.';}
    ?>
    El problema está en la línea marcada con rojo, ya que me dice que me da un error de MySQL. He mirado por internet y la explicación que dan es que las cookies deben ir en <head></head> por que si no no funcionan. He probado a cambiarlas a <head> pero tampoco me ha dado ningún resultado (Cuando intento entrar a la página que comprueba si tengo las cookies SIEMPRE me dice que no estoy registrado ¿Alguna sugerencia?

    PD: Creen que debería cambiar lo que remarco en verde en el siguiente código por mis valores (que son USUARIO Y PASSWORD):

    Código:
    setcookie("usuario",$usuario['nick'],time()+7776000);
    setcookie("contrasena",$usuario['pass'],time()+7776000);
    Muchas gracias por su ayuda.

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Hola:

    Creen que debería cambiar lo que remarco en verde en el siguiente código por mis valores (que son USUARIO Y PASSWORD):
    Eso solucionaría el error de MySQL.

    mysql_fetch_array() devuelve los valores extraídos por mysql_query() como un arreglo clave => valor (por defecto, agrega indices a cada registro), siendo la clave el nombre exacto de la columna (en la base de datos) y valor el contenido de la fila bajo dicha columna.

    Te dejo la documentación de la librería MySQL de PHP, donde podrás encontrar todas las funciones disponibles para utilizar MySQL.

    Saludos.

  3. #3
    Recien Llegado! Habitante
    Fecha de Ingreso
    13 jun, 11
    Mensajes
    15
    Poder de Reputación
    14
    Perfecto, funciónó ahora solo queda modificar el dato que comprueba las cookies en las páginas. Muchas gracias por la ayuda de verdad. Me cuesta entender muchísimo el comando mysql_query() y todo lo relacionado con él. Molaría que ampliara el tutorial de ello ya que tiene cierta dificultad.

  4. #4
    Recien Llegado! Habitante
    Fecha de Ingreso
    13 jun, 11
    Mensajes
    15
    Poder de Reputación
    14
    Si quiero que esas cookies estén disponibles para todo el dominio ¿Es este el código que tengo que poner? Es que me da error creo que la parte en rojo no la tengo bien escrita. Podríais ayudarem porfavor. Mil gracias:

    Código:
    {setcookie("usuario",$usuario['USUARIO'],time()+7776000,string '/');
    setcookie("contrasena",$usuario['PASSWORD'],time()+7776000), string '/';}

  5. #5
    Recien Llegado! Habitante
    Fecha de Ingreso
    13 jun, 11
    Mensajes
    15
    Poder de Reputación
    14
    Finalmente resolví el problema pero sinceramente no entiendo como xD creo que puede ser un espacio que hay delante del "/" pero no lo tengo claro.

    Código:
    setcookie("contrasena", $usuario['PASSWORD'], time() + 3600, "/")

  6. #6
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Solamente quitaste la palabra string, la cual no es necesaria (y causa un error). Una cadena/string es todo aquello que aparece entre comillas simples o dobles (en PHP, porque en otros lenguajes puede tener otro significado), por lo que no es necesario poner la palabra, solamente encerrar el contenido entre comillas.

    Saludos.

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •