Foros del Web » Programando para Internet » PHP »

practicando PHP, duda sobre session, if, else...

Estas en el tema de practicando PHP, duda sobre session, if, else... en el foro de PHP en Foros del Web. Hola amigos, estoy practicando PHP haber si consigo soltura al programar, pero tengo un ligero problema, he hecho este pequeño y sencillo script de un ...
  #1 (permalink)  
Antiguo 02/12/2009, 12:44
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
practicando PHP, duda sobre session, if, else...

Hola amigos, estoy practicando PHP haber si consigo soltura al programar, pero tengo un ligero problema, he hecho este pequeño y sencillo script de un formulario el cual recoge variables y el la pagina de validación quiero que aparezcan las $_POST del form dependiendo de lo que haya escrito o seleccionado en el form:


<?php session_start();?>// esto lo tengo en la primera linea de la pagina, antes de nada

<?php
$hombre=$_POST['hombre'];
$mujer=$_POST['mujer'];
$nombre=$_POST['nombre'];

if (isset($_SESSION['prueba'])) {

echo "session abierta ";}

if (($nombre == Joan) and ($hombre== hombre)){

echo "mi nombre es " .$nombre . " y soy Hombre";
}
else {
echo "Eres mujer " . $nombre ;
}
?>
<?php
if (!isset($_SESSION['prueba'])) {
echo " No hay sesison abierta";
}
?>


mi problema es que ejecutando esto, me muestra:

"mi nombre es Joan y soy Hombre No hay sesison abierta"

pero mi duda es que creo yo que deberia haber session ¿¿ no ????
  #2 (permalink)  
Antiguo 02/12/2009, 13:00
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: practicando PHP, duda sobre session, if, else...

A que te referis con que "deberia haber sesion"? A que te deberia imprimir "sesion abierta"???

Cuando haces el session_start() deberias setear la varable de sesion, asi:

Código PHP:
<?php 
session_start
();
$_SESSION['prueba']="algo";
?>
  #3 (permalink)  
Antiguo 02/12/2009, 13:03
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

ok... voy a probar

mil gracias !!!
  #4 (permalink)  
Antiguo 02/12/2009, 13:09
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

He echo esto, pero no sale nada de "session abierta":

<?php session_start();?>// esto lo tengo en la primera linea de la pagina, antes de nada
<?php
$hombre=$_POST['hombre'];
$mujer=$_POST['mujer'];
$nombre=$_POST['nombre'];
session_start();
$SESSION['prueba'] = "Bienvenido usuario";
if (isset($_SESSION['prueba']))

{
echo "session abierta ";}

if (($nombre == Joan) and ($hombre== hombre)){

echo "mi nombre es " .$nombre . " y soy Hombre";
}
else {
echo "Eres mujer " . $nombre ;
}


?>
<?php
if (isset($_SESSION['prueba'])) {
echo " No hay sesison abierta";
}
?>

pero si modifico asi:

<?php
$hombre=$_POST['hombre'];
$mujer=$_POST['mujer'];
$nombre=$_POST['nombre'];
session_start();
$SESSION['prueba'] = "Bienvenido usuario";
if (!isset($_SESSION['prueba']))

{
echo "session abierta ";}

if (($nombre == Joan) and ($hombre== hombre)){

echo "mi nombre es " .$nombre . " y soy Hombre";
}
else {
echo "Eres mujer " . $nombre ;
}


?>
<?php
if (isset($_SESSION['prueba'])) {
echo " No hay sesison abierta";
}
?>

entonces si me muestra el : session abierta mi nombre es Joan y soy Hombre

Última edición por jonysi_d; 02/12/2009 a las 13:16
  #5 (permalink)  
Antiguo 02/12/2009, 13:20
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: practicando PHP, duda sobre session, if, else...

Y el problema cual es, no entiendo
  #6 (permalink)  
Antiguo 02/12/2009, 13:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

Porque en el primer script no me muestra el echo "session abierta " ?????
  #7 (permalink)  
Antiguo 02/12/2009, 13:35
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: practicando PHP, duda sobre session, if, else...

Porque no esta seteada la variable de sesion....
  #8 (permalink)  
Antiguo 02/12/2009, 13:46
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

no se setea asi ???

session_start();
$SESSION['prueba'] = "Bienvenido usuario";

si es como esta

¿¿¿ ???
  #9 (permalink)  
Antiguo 02/12/2009, 13:57
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: practicando PHP, duda sobre session, if, else...

nop, es $_SESSION['prueba'], te falto el guion bajo
En el ejemplo que te puse estaba bien
  #10 (permalink)  
Antiguo 02/12/2009, 14:05
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: practicando PHP, duda sobre session, if, else...

una acotación,¿porque inicializas dos veces la función session_start()?
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #11 (permalink)  
Antiguo 02/12/2009, 14:07
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

es verdad, pido disculpas...

perfecto !!!
muchissimas gracias por buestro apoyo a primerizos en programacion.

Gràcias...
  #12 (permalink)  
Antiguo 02/12/2009, 14:23
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

es verdad, pido disculpas...

perfecto !!!
muchissimas gracias por buestro apoyo a primerizos en programacion.

Gràcias...

otra duda que me sale es la siguiente, en este script:

<?php session_start();?>// esto lo tengo en la primera linea de la pagina, antes de nada

<?php
$hombre=$_POST['hombre'];
$mujer=$_POST['mujer'];
$nombre=$_POST['nombre'];

$_SESSION['prueba'] = "hola";
if (!isset($_SESSION['prueba'])) {
echo "Sus datos son : ";}
// si no estoy equivocado esto biene a decir" si NO hay session, haz esto.."

if (($nombre == Joan) and ($hombre== hombre)){

echo "mi nombre es " .$nombre . " y soy Hombre";
}
else {
echo "Eres mujer " . $nombre ;
}


?>
<?php
if (isset($_SESSION['prueba'])) {
echo " No hay sesison abierta, debe rellenar el formulario";
// si no estoy equivocado esto biene a decir" si SI hay session, haz esto.."
}
?>

porque me muestra esto:

"mi nombre es Joan y soy Hombre No hay sesison abierta, debe rellenar el formulario"
  #13 (permalink)  
Antiguo 02/12/2009, 14:32
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: practicando PHP, duda sobre session, if, else...

No entiendo cual es la duda, esta bien lo que se esta ejecutando, vos tenes las ideas al reves me parece...

Si hay sesion vos queres imprimir "No hay sesison abierta, debe rellenar el formulario" ????
  #14 (permalink)  
Antiguo 02/12/2009, 14:45
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

se que no es logico, pero estoy haciendo pruebas para intentar interpretar y entender bien el funcionamiento, pero asi es.
Es decir, segun mi script, si que hay session ya que abro session "session_start()" y tambien esta seteada " $_SESSION['prueba'] = "hola";", entonces no se porque me muestra que no hay session, si en realidad si que hay ?????
  #15 (permalink)  
Antiguo 02/12/2009, 14:54
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: practicando PHP, duda sobre session, if, else...

TE MUETSRA QUE NO HAY SESION PORQUE ACA

<?php
if (isset($_SESSION['prueba'])) {
echo " No hay sesison abierta, debe rellenar el formulario";// si no estoy equivocado esto biene a decir" si SI hay session, haz esto.."
}
?>

HACES QUE SE IMPRIMA ESO CUANDO ESTE SETEADA LA VARIABLE DE SESION!!!!!!!!!!!!!!!

Fijate bien el codigo antes de seguir y seguir preugntando.....
  #16 (permalink)  
Antiguo 02/12/2009, 15:13
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: practicando PHP, duda sobre session, if, else...

ok !!! ya entiendo... gracias por la paciencia y tu ayuda..

garcias
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:06.