Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No funcionan las cookies

Estas en el tema de No funcionan las cookies en el foro de PHP en Foros del Web. Me gustaría crear un sistema en el que, al hacer click en el index.html en el botón 'Grupo' se fuera a esa misma página sin ...
  #1 (permalink)  
Antiguo 21/10/2015, 13:29
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 10 años
Puntos: 5
No funcionan las cookies

Me gustaría crear un sistema en el que, al hacer click en el index.html en el botón 'Grupo' se fuera a esa misma página sin perder los datos de login. No sé si se haría con session o cookie (yo lo hice con cookie). ¿Cómo podría ser lo que pido? Aquí pongo el código y si tienen alguna duda díganmela (las variables las quiero recibir en head.php y el login se hace a index.php, que tiene a head.php mediante include()).
index.php

Código PHP:
Ver original
  1. <?php
  2. $NombreUsuario = $_POST['NombreUsuario'];
  3. $ClaveUsuario = $_POST['ClaveUsuario'];
  4. ?>
  5. <html>
  6. <head>
  7.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
  8.     <link rel="stylesheet" href="../styles/styles.css"/>
  9.     <title>La Inmaculada-Marillac</title>
  10.     <meta charset="UTF-8">
  11. </head>
  12. <body>
  13.     <?php
  14.         $ruta_a_inicio = 'index.php';
  15.         $ruta_a_logout = '../index.php';
  16.         include ('head.php');
  17.     ?>
  18. </body>
  19. </html>
head.php
Código PHP:
Ver original
  1. <?php
  2. $NombreUsuario = $_POST['NombreUsuario'];
  3. $ClaveUsuario = $_POST['ClaveUsuario'];
  4.  
  5. $sql = mysql_connect('localhost','root',''); mysql_select_db('educamos',$sql);
  6. $sql_query = "SELECT * FROM users WHERE NombreUsuario= '".$NombreUsuario."' AND ClaveUsuario= '".$ClaveUsuario."'";
  7. $sql_exec = mysql_query($sql_query, $sql);
  8. $import = mysql_fetch_assoc($sql_exec);
  9.  
  10. if (mysql_num_rows($sql_exec) == '0'){
  11.     echo 'No hay usuarios con ese nombre';
  12. }else{
  13.     $id = $import['id'];
  14.     $NombreCompleto = $import['NombreCompleto-A'].', '.$import['NombreCompleto-N'];
  15.     $RolUsuario = $import['RolUsuario'];
  16.     setcookie("Cookie1-Rol",$RolUsuario,time()+1800,"/");
  17.     setcookie("Cookie1-NombreCompleto",$NombreCompleto,time()+1800,"/");
  18.     setcookie("Cookie1-NombreUsuario",$NombreUsuario,time()+1800,"/");
  19.     setcookie("Cookie1-ClaveUsuario",$ClaveUsuario,time()+1800,"/");
  20.     $_COOKIE['ID'] = $id;
  21.     $_COOKIE['NombreCompleto'] = $NombreCompleto;
  22.     $_COOKIE['Cookie1-Rol'] = $RolUsuario;
  23. }
  24. ?>
  25. <div class="banner-head bgcolor-educamos-circulares">
  26.     <a class="left" href="<?php echo $ruta_a_inicio; ?>">
  27.         <img src="logo.png" height="22" width="22"/>
  28.         <font>La Inmaculada - Marillac</font>
  29.     </a>
  30.     <div class="right">
  31.         <div class="text"><?php echo $import['NombreCompleto-N'].' '.$import['NombreCompleto-A'].' ('.$RolUsuario.')'; ?> <a href="<?php echo $ruta_a_logout; ?>"><i class="fa fa-chevron-down"></i></a></div>
  32.     </div>
  33. </div>
  #2 (permalink)  
Antiguo 21/10/2015, 13:33
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: No funcionan las cookies

No puedes usar setcookie() si ya imprimiste algo de HTML antes, y básicamente ese es tu error.

Primero debes asegurarte de procesar toda la lógica y al final incluir/imprimir el HTML que necesitas.

Por favor consulta el manual de setcookie() para que entiendas las restricciones.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/10/2015, 13:36
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 10 años
Puntos: 5
Respuesta: No funcionan las cookies

¿Y podría poner los setcookie(); al principio del index.html y ya luego usarlo?
  #4 (permalink)  
Antiguo 21/10/2015, 13:40
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: No funcionan las cookies

Cita:
Iniciado por diegoguerrero Ver Mensaje
¿Y podría poner los setcookie(); al principio del index.html y ya luego usarlo?
Justo es lo que te acabo de decir:

Cita:
Primero debes asegurarte de procesar toda la lógica y al final incluir/imprimir el HTML que necesitas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/10/2015, 14:06
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 10 años
Puntos: 5
Respuesta: No funcionan las cookies

http://codepen.io/diegoguerrero/pen/NGXZVV

Aquí he puesto los códigos todos juntos pero sigue sin funcionar. Se loguea bien pero le doy al enlace y se borra todo, incluso con cookies

Etiquetas: cookies, funcionan, html, mysql, select, sql, usuarios, variable
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 17:53.