Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/11/2005, 08:39
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cluster, si te fijas, donde uso @ hago control de errores con die(). Símplemente es una forma más elegante de mostrar el error. Excepto en las declaraciones de nombres cortos para las variables de formulario, que en realidad no tendrían que dar ningún error (en mi servidor símplemente me salía un "Notice:" indicándome que tal vez se le podría asignar un valor inexistente, cosa que arreglaba con el @). Pero en el resto de líneas donde uso @ es en las funciones de bases de datos, y fíjate que aunque evite el error por defecto del servidor, hago después una validación y si hay error lo muestro de forma personalizada con el die(). Además, en mi servidor de hosting (no el local) tienen la opción de errores desactivada por motivos de seguridad, por eso uso die(), para poder ver el error.

Con el @ delante .. el error se sigue originando (en los log's de tu servidor lo verías) .. Me refiero a los "Notice" que mencionas. Su uso "correcto" sería:

Código PHP:
if (isset($_POST['variable']){
// usas dicha variable ...

Así te haces independiente de la configuración sobre reporte de errores (error_reporting) que PHP pueda usar según el servidor que toque ese código.

Es decir .. no ocultar su mensaje de error sino tratandolo (en ese caso .. en las funciones mysql_xxx() y demás ya veo que lo controlas).

Cita:
El session_start() se encuentra al principio de index.php. Como he dicho, he puesto el código de login.php que va incluido dentro de index.php. Bueno, ha sido un error mío no haberlo avisado antes. Pero estar está. Al inicio de index.php
OK, tema aclarado.

-----------------------------------------------

Sobre la definción de tu cookie:
setcookie('loginWebVN',"$log_in,$password",false);

Define un tiempo de expiración:
Código PHP:
setcookie("TestCookie"$valuetime()+3600);  // una hora .. define lo que estimes oportuno 
Para no tener que "invetar" una serialización de datos como has hecho, podrías usar la modalidad de registro de "array" en tu cookie:

http://www.php.net/manual/en/function.setcookie.php

Ahora .. no sé por qué creas una cookie donde guardas en ella un "password" (que según alcanzo a ver NO está encriptado, pese que tu almacenas o creas a tus usuarios encritado con el hash: sha1 (se usa mucho el MD5() ... como comentario), pero luego sólo tomas el nombre del usuario para recordarlo (no piensas recordar el login completo al sistema? .. sólo necesitas eso? ...)

Un saludo,