Foros del Web » Programando para Internet » PHP »

Problema con logeo y creacion de cookie

Estas en el tema de Problema con logeo y creacion de cookie en el foro de PHP en Foros del Web. hola, tengo el siguiente codigo Código PHP: $loginFormAction  =  $_SERVER [ 'PHP_SELF' ]; if (isset( $accesscheck )) {    $GLOBALS [ 'PrevUrl' ] =  $accesscheck ;    session_register ...
  #1 (permalink)  
Antiguo 28/07/2006, 12:45
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con logeo y creacion de cookie

hola, tengo el siguiente codigo

Código PHP:
$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$accesscheck)) {
  
$GLOBALS['PrevUrl'] = $accesscheck;
  
session_register('PrevUrl');
}

if (isset(
$_POST['user'])) {
  
$loginUsername=$_POST['user'];
  
$password=$_POST['pass'];
  
$MM_fldUserAuthorization "id_perfil";
  
$MM_redirectLoginSuccess "listado.php";
  
$MM_redirectLoginFailed "listado.php?error=Datos Incorrectos";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_chistesvip$chistesvip);
      
  
$LoginRS__query=sprintf("SELECT nombre_web, pass, id_perfil FROM owners WHERE nombre_web='%s' AND pass='%s'",
  
get_magic_quotes_gpc() ? $loginUsername addslashes($loginUsername), get_magic_quotes_gpc() ? $password addslashes($password)); 
   
  
$LoginRS mysql_query($LoginRS__query$chistesvip) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
    
    
$loginStrGroup  mysql_result($LoginRS,0,'id_perfil');
    
    
//declare two session variables and assign them
    
$GLOBALS['MM_Username'] = $loginUsername;
    
$GLOBALS['MM_UserGroup'] = $loginStrGroup;          

    
//register the session variables
    
session_register("MM_Username");
    
session_register("MM_UserGroup");

    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
//

    
$nn=$_POST['user'];
    
mysql_select_db($database_chistesvip$chistesvip); 
    
$query_crea_cookie "SELECT owners.id_ow FROM owners WHERE owners.nombre_web ='$nn'"
    
$crea_cookie mysql_query($query_crea_cookie$chistesvip) or die(mysql_error()); 
    
$row_crea_cookie mysql_fetch_assoc($crea_cookie); 
    
$totalRows_crea_cookie mysql_num_rows($crea_cookie); 

    
$valor $row_crea_cookie['id_ow']; 
  [
COLOR="Red"]  setcookie("id_usuario"$valor); ////aca es la linea 215, donde da error[/COLOR]
    
header("Location: " $MM_redirectLoginSuccess );

  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }

La logica es la siguiente, tengo un form chico en la pagina a.php. El afiliado se logea y lo redirecciono a a.php (pero con permisos de logeado). El tema es que quiero que cree una cookie, que uso para otra cosa. Y no la crea

Ademas de que no me escribe la cookie, me tira el siguiente error

Warning: Cannot add header information - headers already sent by (output started at c:\appserv\www\chistesvip\listado.php:30) in c:\appserv\www\chistesvip\listado.php on line 215


y dos lineas mas abajo..
Warning: Cannot add header information - headers already sent by (output started at c:\appserv\www\chistesvip\listado.php:30) in c:\appserv\www\chistesvip\listado.php on line 217
  #2 (permalink)  
Antiguo 28/07/2006, 12:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
listado.php:30

La línea 30 de listado.php es donde tienes el problema.

Cual es esa línea? . .que tienes ahí .. es todo el código que presentas el que tiene "listado.php"? ..

Por cierto: NOOOOO uses session_register() .. ese método está completamente OBSOLETO y es inseguro .. Usa los arrays superglobales: $_SESSION

más info:
www.php.net/session

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:45.