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

Cita:
Iniciado por WeSoRz Ver Mensaje
Los "Notice", es recomendable solucionarlos siempre, aunque en la mayoría de los casos se quedan en un aviso sin consecuencias.

Por ejemplo, en tu caso, esa query la deberías hacer única y exclusivamente si dispones de las cookies que pides para ella. Con un if, lo solucionarías.

A las malas, y si ya lo tienes protegido y la aplicación te funciona sin problemas, podrías ocultar los mensajes Notice (que será lo que ocurra en el hosting que comentas). Hay dos formas de ocultarlo, a través de la configuración del PHP, o utilizando la función [URL="http://es2.php.net/manual/es/function.error-reporting.php"]error_reporting[/URL].

Por cierto, y como consejo de seguridad, te recomiendo escapar SIEMPRE las cadenas que puedan ser modificadas por el cliente (cookies, get, post...) y que utilices para querys:
[url]http://www.php.net/manual/es/function.mysql-real-escape-string.php[/url]
Sé que con un if lo solucionaría, lo intento pero no se me soluciona, tengo lo siguiente:
Código PHP:
while ($not mysql_fetch_array($select)){
// Mostramos el título, hipervinculado a otra página donde se motrarán los comentarios.
echo "<a href=m.php?id=$not[ID_noticias]><h1>$not[titulo]</h1></a>";
// Mostramos el contenido de la noticia.
echo nl2br($not['noticia'])."<br /><br /> Posteado por $not[autor] el $not[fecha] a las $not[hora]";
if(isset(
$_COOKIE['nick']) && $_COOKIE['email'] && $_COOKIE['pass']){
// Hacemos un select para comprobar si el usuario está logueado o no y mostrar o no las opciones de editar o borrar.
$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);
// 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.
if(mysql_result($slctsgrdd,0,0)){
if(
$_COOKIE['nick'] == $not['autor'] or $_COOKIE['rango'] == 1){
echo 
" || <a href=editnot.php?id=$not[ID_noticias]>Editar</a> || <a href=borrar.php?id=$not[ID_noticias]>Borrar</a>.";
}
}
echo 
"<br /><br />";
}

El if es el siguiente:
Código PHP:
if(isset($_COOKIE['nick']) && $_COOKIE['email'] && $_COOKIE['pass']) 
Y sobre la función que mencionas de escapar las querys, no entendí lo que me quieres decir, no sé como usarla, ya miré la documentación, pero no entendí mucho.

Muchas gracias.

EDITO: Ya lo solucioné, el problema es que abría el index.php desde la copia de seguridad, no desde la carpeta www del servidor.