Foros del Web » Programando para Internet » PHP »

ayuda con codigo php/session.

Estas en el tema de ayuda con codigo php/session. en el foro de PHP en Foros del Web. hola , tengo un archivo php que "intenta" recibir e enviar datos a un archivo de flash. Mi consulta es si el codigo está bien. ...
  #1 (permalink)  
Antiguo 20/10/2005, 18:26
 
Fecha de Ingreso: enero-2005
Mensajes: 11
Antigüedad: 12 años, 11 meses
Puntos: 0
ayuda con codigo php/session.

hola , tengo un archivo php que "intenta" recibir e enviar datos a un archivo de flash. Mi consulta es si el codigo está bien.
[
Código PHP:
<?php

/* igualamos las variables enviadas */
$usernick $_POST['usernick'];
$userpass $_POST['userpass'];
$validlogin=$_POST['validlogin'];

$usernick="admin";
$userpass="flojeritis";

$db_conexionmysql_connect("localhost","miusuario","micontraseña") or die("No se pudo conectar a la base ");

mysql_select_db("laboratorio"); /* aqui llamamos a la tabla */

//Consulta a la base de datos para un determinado nick de usuario y se extrae el iduser

$query="SELECT * from usuarios where usernick='".$usernick."'";
$resultmysql_query($query);
if (
$row=mysql_fetch_array($result))
{
    if ((
"$userpass")==$row["userpass"])
            { 
                 echo 
$validlogin="autorizado";
                echo 
$row["iduser"];                 
             }        

    else
    { echo 
$validlogin="no autorizado"
    
;};
}

?>
en el siguiente codigo he puesto valores a $usernick y $userpass para probar si se puede crear una sesion en "http://localhost/otraswf.php" , pero tampoco me liga.


éste es el codigo php de mi login.php:
Código PHP:
<?php
//implementacion de la codificaion de la sesion
session_name();
session_start();
session_register("iduser");
session_encode();
// no sé si esto esté bien, quiero indicar que la siguiente página despues de logear sea otra swf embebida en un archivo.php.

$url="location:http://localhost/login/otraswf.php?PHPSESSID=".$PHPSESSID;
// creo que el header se utiliza para poder "continuar con la sesion" en las demás páginas.
header($url)
?>
<?php
$usernick
="admin";
$userpass="flojeritis";
/* igualamos las variables enviadas */
$usernick $_POST['usernick'];
$userpass $_POST['userpass'];
$validlogin=$_POST['validlogin'];

$usernick="admin";
$userpass="flojeritis";

$db_conexionmysql_connect("localhost","juliocesar","domi2003") or die("No se pudo conectar a la base ");

mysql_select_db("laboratorio"); /* aqui llamamos a la tabla */

//Consulta a la base de datos para un determinado nick de usuario y se extrae el iduser

$query="SELECT * from usuarios where usernick='".$usernick."'";
$resultmysql_query($query);
if (
$row=mysql_fetch_array($result))
{
    if ((
"$userpass")==$row["userpass"])
            { 
                 echo 
$validlogin="autorizado";
                echo 
$row["iduser"];                 
             }        

    else
    { echo 
$validlogin="no autorizado"
    
;};
}

?>
y el siguioente es el codigo de mi archivo "otraswf.php":
Código PHP:
<?php
session_name
();
session_start();
if (!(
session_is_registered("iduser")))
{
session_unset();
session_destroy();
die(
"por favor ¡<a href=\"login.html\">inicie la sesion</a> primero ! <br>");
}
?>
<?php
echo "bienvenido" ;
echo 
$iduser;
?>
estos son los errores:

Código:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\miweb\login\otraswf.php:2) in C:\miweb\login\otraswf.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\miweb\login\otraswf.php:2) in C:\miweb\login\otraswf.php on line 4
bienvenido
Espero que me puedan orientar, muchas gracias por anticipado.
  #2 (permalink)  
Antiguo 21/10/2005, 03:17
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
Porque en vez de redefinir dos veces la session (session_start) en login y en otroswf, no creas un archivo que verifique la session y lo incluyes en los dos con un require_once o parecido?? Asi te ahorras el header. Mucho me temo que el problema viene de esta funcion. A lo mejor tendrias que ahorrartela.
__________________
abe_k

Si quieres visitar Andorra, consulta la guia de este pequeño pais y conseguiras toda la información que necesites. La guia del visitante en Andorra
  #3 (permalink)  
Antiguo 21/10/2005, 09:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para que usas session_name() ... ? (si no le das ni valor? .. ) Esa función, es completamente opcional, es decir no la uses (por lo menos hasta que sepas que hace realmente).

Por lo demás el uso de sesiones que haces está anticuado y no es seguro .. Debes usar -para todo- los arrays superglobales (que los usas cuando usas $_POST .. y algunas más) .. En tu caso .. debes usar el array $_SESSION para referirte a sesiones (no funciones como session_register() y afines!!!!).

En las FAQ's de este foro tienes un par de FAQ's al respecto .. te invito a verlas.

De todas formas .. el error que obtienes está en tu linea 2 de C:\miweb\login\otraswf.php

No puede existir ni un espacio antes de <? .. ni un salto de línea . .ni algo de HTML por médio .. ni echo "algo" .. Revisalo.

Un saludo,
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 17:12.