En todos los ejemplos q veo .. se está asumiendo que propagas el SID (Id unico de session) automático (osese, tu en tu código no lo propagas a mano ...)
Revisa en tu php.ini el estado de la directiva:
session.use_trans_sid = 1
(a 1 es como deberias tenerlo segun los códigos q usa (en las FAQ's que leistes se hacia mencion a esto ..).
Otra directiva que tendras que revisar es tu:
register_globals = ON
En el último ejemplo q pusistes haces esto:
session_register("user"); //Aquí guardas las variables
$_SESSION["user"]=$_POST["user"];
Usa uno u otro método pero no los dos .. El segundo es el deberias usar ... El el session_register .. estas asumiendo que user es gobal .. osese q si haces un echo $user; antes del register verias su valor ..
Tambien hay q ver como llamas a tu codigo este: (el último ejemplo):
prueba1.php
<?php
if(!isset($op))
{
echo "<form action=\"prueba1.php?op=1\" method=\"post\">
Usuario: <input type=\"text\" name=\"user\"><input type=\"submit\" value=\"Reg\">
</form>";
}
else
{
session_start(); //Con esto empiezas la sesión
session_register("user"); //Aquí guardas las variables
$_SESSION["user"]=$_POST["user"];
echo " <a href=\"prueba2.php\">Probar</a>";
}
?>
le tendras q pasar o definir al menos la variable $op ?¿ .. Si el ejemplo q quieres hacer es q registre o te lea la variable USER de tu session para mostrarte el link de hacia prueba2.php deberias hacer:
prueba1.php
Código PHP:
<?php
session_start(); //inicio del uso de sessiones.
// Si no lo inicias no podras acceder a ninguna variable de session.
// lo inicio al principio del script, pues o bien se ha de leer una variable de session.
// o se ha de registrar una variable en la session.
if(!isset($_SESSION['user']))
{
echo "<form action=\"prueba1.php?op=1\" method=\"post\">
Usuario: <input type=\"text\" name=\"user\">
<input type=\"submit\" value=\"Reg\">
</form>";
}
else
{
$_SESSION["user"]=$_POST["user"];
echo "<a href=\"prueba2.php\">Probar</a>";
}
?>
Un saludo,