Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2011, 18:37
erikcf
 
Fecha de Ingreso: enero-2011
Ubicación: Internet
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta ¿Problemas de servidor?

Hola,

estoy creando un proyecto, y para ello necesito un sistema de noticias. Me iba todo bien, iba haciéndolo a mi ritmo, pero lo fui dejando de lado hasta que ayer me puse de nuevo.

Sin tocar nada, corrí el script en el server local (localhost) desde Wamp Server y me daba un error, que lo pondré más adelante. Pero después, lo corría en otro servidor, un free server y no me salía ningún error, no sé si será porque se ha cambiado la configuración de PHP o yo que sé. Primero, el código de la página es este:
Código PHP:
Ver original
  1. <?php
  2. // Página para mostrar las noticias que tenemos en la base de datos.
  3. // Incluimos el archivo de conexión, en este caso conect.php
  4. include("conect.php");
  5. include("cat.php");
  6. ?>
  7. <!-- Creamos el div de las noticias -->
  8. <div style="float:left;width:50%;">
  9. <?php
  10.  
  11. // Mostramos un titulo
  12. echo "<h1>Noticias</h1><br />";
  13. // Seleccionamos los datos de la base de datos.
  14. $select = mysql_query("select * from noticias $where order by ID_noticias DESC", $conectar);
  15. // Hacemos el array de todas las celdas de la tabla de noticias.
  16. while ($not = mysql_fetch_array($select)){
  17. // Mostramos el título, hipervinculado a otra página donde se motrarán los comentarios.
  18. echo "<a href=m.php?id=$not[ID_noticias]><h1>$not[titulo]</h1></a>";
  19. // Mostramos el contenido de la noticia.
  20. echo nl2br($not['noticia'])."<br /><br /> Posteado por $not[autor] el $not[fecha] a las $not[hora]";
  21. // Hacemos un select para comprobar si el usuario está logueado o no y mostrar o no las opciones de editar o borrar.
  22. $slctsgrdd = mysql_query("select count(USR_id) from usuarios where nick_usr = '$_COOKIE[nick]' or email_usr = '$_COOKIE[email]' or pass_usr = '$_COOKIE[pass]'")or die(mysql_error);
  23. // Si la cookie, tiene el mismo valor que el de la celda de la BD, significará que está logueado, si la cookie está "vacía" significará que no está logueado.
  24. if(mysql_result($slctsgrdd,0,0)){
  25. if($_COOKIE['nick'] == $not['autor'] or $_COOKIE['rango'] == 1){
  26. echo " || <a href=editnot.php?id=$not[ID_noticias]>Editar</a> || <a href=borrar.php?id=$not[ID_noticias]>Borrar</a>.";
  27. }
  28. }
  29. echo "<br /><br />";
  30. }
  31. ?>

El error es el siguiente:
Cita:
Notice: Undefined index: nick in C:\wamp\www\SistemaNoticias\index.php on line 28
La línea 28 es la siguiente:
Código PHP:
$slctsgrdd mysql_query("select count(USR_id) from usuarios where nick_usr = '$_COOKIE[nick]' or email_usr = '$_COOKIE[email]' or pass_usr = '$_COOKIE[pass]'")or die(mysql_error); 
ATENCIÓN: El error me da cuando aún no se ha iniciado NUNCA sesión en el sistema, ya que no existen las variables, por eso probé a usar un if y la función isset, para que solo corriera la función si las cookies 'nick', 'email' y 'pass' estaban definidas, pero aún así me sale el error.

Si el usuario ya ha iniciado sesión en el sistema, no sale ningún error, ya que aunque este cierre sesión, seguirán existiendo las cookies mencionadas anteriormente, aunque vacías, pero seguirán estando creadas.

Muchas gracias a los usuarios de Foros del Web por la ayuda que prestan, gracias por adelantado.

Última edición por erikcf; 05/02/2011 a las 18:58