Foros del Web » Programando para Internet » PHP »

errores al iniciar sesion en php...

Estas en el tema de errores al iniciar sesion en php... en el foro de PHP en Foros del Web. bueno, a mi me dijeron que es mejor trabajar con sesiones, pero como soy un novato todavia, me baje un manual que trabajaba con cookies ...
  #1 (permalink)  
Antiguo 15/11/2004, 06:31
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 14 años
Puntos: 88
errores al iniciar sesion en php...

bueno, a mi me dijeron que es mejor trabajar con sesiones, pero como soy un novato todavia, me baje un manual que trabajaba con cookies asi que asi lo hice...

me salen estos errores al iniciar sesion, aunque me inicia la sesion perfectamente...

Código:
Notice: Undefined variable: idusuariol in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 3

Notice: Undefined variable: nickusuaruol in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 4

Notice: Undefined variable: emailusuariol in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 5

Notice: Undefined variable: nombreusuariol in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\www\index.php:6) in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\www\index.php:6) in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 15
y el codigo de login.php es...

Código PHP:
<?php
$logincorrecto 
false;
$idusuariol;
$nickusuaruol;
$emailusuariol;
$nombreusuariol;

if(isset(
$HTTP_COOKIE_VARS["usnick"]) && isset($HTTP_COOKIE_VARS["uspass"]))
{
  
$result mysql_query("SELECT * FROM usuarios WHERE nick='".$HTTP_COOKIE_VARS["usnick"]."' AND password='".$HTTP_COOKIE_VARS["uspass"]."'");

  if(
$row mysql_fetch_array($result))
  {
    
setcookie("usnick",$HTTP_COOKIE_VARS["usnick"],time()+7776000);
    
setcookie("uspass",$HTTP_COOKIE_VARS["uspass"],time()+7776000);
    
$logincorrecto true;
    
$idusuariol $row["id"];
    
$nickusuariol $row["nick"];
    
$emailusuariol $row["email"];
    
$nombreusuariol $row["nombre"];
  }
  else
  {
  
setcookie("usnick","x",time()-3600);
  
setcookie("uspass","x",time()-3600);
  }
  
mysql_free_result($result);
}
?>
nose que podrá ser asi que agradezco su ayuda...
  #2 (permalink)  
Antiguo 15/11/2004, 06:45
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 14 años
Puntos: 0
Hola,
por que pones esas variables al inicio, sin darles valor?, en PHP no hace falta declarar las variables, asi que puedes quitar las lineas:
Código PHP:
$idusuariol;
$nickusuaruol;
$emailusuariol;
$nombreusuariol
Estas lineas son las causantes de los mensajes Notice: Undefined...
De momento no veo el por que de los mensajes de warning, de todos modos, prueba quitando las lineas que te he comentado, y me cuentas como te ha ido,ok?

un saludo,
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #3 (permalink)  
Antiguo 15/11/2004, 06:54
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 14 años
Puntos: 88
ok, muchas gracias, ya quite esas lineas y no me ha causado problema... pero sigo con los otros 2 problemas...

Código:
Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\www\index.php:6) in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 10

Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\www\index.php:6) in C:\Archivos de programa\Apache Group\Apache2\htdocs\www\login.php on line 11
y las lineas de login.php

Código PHP:
setcookie("usnick",$HTTP_COOKIE_VARS["usnick"],time()+7776000); //linea 10
setcookie("uspass",$HTTP_COOKIE_VARS["uspass"],time()+7776000);//linea 11 
y otra duda, se que se puede encriptar las passwords de los usuarios, es con md5, pero nose como se usa ni donde ponerlo para encriptarlas... gracias
  #4 (permalink)  
Antiguo 15/11/2004, 08:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece que ese código lo llamas desde tu index.php (bajo ese código que llamas login.php) con un include() o simiular ..

El caso es que antes de un setcookie() (o un header() .. session_start() ...) no puede existir nada más de salida enviada al navegador; lease: <html> (html en general) .. un echo "algo" ... javascript, un simple espacio o salto de línea .. etc ...

Si tu estructura de tu index.php es tipo

<html>
<header>
</header>
<body>
<?
include ("login.php");
?>
etc ...

Cambia el orden de llamada de tu login.php .. (del include()) .. debe estár antes de tu <html> (y ojo con espacios o saltos de línea antes de tus <? ... y al final de los ?> (en login.php por ejemplo)

Un saludo,


PD: .. settcookie() no son "sesiones" (por lo menos como se suele emplear el término en "PHP" son sus "session") .. no es por corregir ... más bien para no confundir.

Última edición por Cluster; 15/11/2004 a las 08:25
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 19:29.