FAQ
Mostrar los ficheros de un directorio
$ruta = "./directorio";
$dir = opendir($ruta);
while (($file = readdir($dir))) {
if (!is_dir("$file")) {
echo "$file\n";
}
}
Usar variables de sesión
Para poder usar variables de sesión lo primero que tenemos que hacer es iniciar la sesión:
session_start();
El uso de las variables de sesión depende de la configuración de register_globals en el php.ini. Es aconsejable que tenga el valor "off".
Cuando register_globals=off, para registrar una variable de sesión tenemos que poner:
$_SESSION['variable_ de_sesion'] = valor;
Si queremos saber si una variable de sesión está registrada simplemente los preguntamos por los cauces habituales:
if (isset($_SESSION['variable_ de_sesion']))
{
echo "Variable registrada";
}
else
{
echo "Variable NO registrada";
}
Cuando register_globals = on entonces las cosas son ligeramente diferentes:
Para registrar una variable en la sesion tienen que hacer
$variable_de_sesion = "valor";
session_register("variable_de_sesion");
Para comprobar si la variable está registrada en la sesion podemos ejecutar
if (session_is_registered("variable_de_sesion"))
{
echo "Variable NO registrada";
}
else
{
echo "Variable NO registrada";
}
A continuación vemos un ejemplo:
<?php
session_start();
if (!isset($_SESSION[sesion]))
$_SESSION[sesion]=0;
echo '<head>
<title>'.$_SERVER[PHP_SELF].'</title>
</head>
<html>
<body>';
echo "Sesion :$_SESSION[sesion]";
$_SESSION[sesion]=$_SESSION[sesion]+1;
echo "<p>";
echo "<a href=$_SERVER[PHP_SELF]>Recargar la Página</a>";
echo '</body>
</html>';
?>
Eliminar una cookie
Para eliminar una cookie simplemente podemos fijarla con una fecha de caducidad ya pasada. En el siguiente ejemplo observamos como podemos crear o eliminar una cookie:
<?php
if($_GET[fijar_cookie]==1)
setcookie("prueba","activa",time()+3600);
if($_GET[fijar_cookie]==0)
setcookie("prueba","",0);
echo '<head>
<title>'.$_SERVER[PHP_SELF].'</title>
</head>
<html>
<body>';
if (isset($_COOKIE[prueba]))
{
echo "Cookie activa con valor $_COOKIE[prueba]<br>";
}
else
{
echo "Cookie NO activa $_COOKIE[prueba] <br>";
}
echo "<a href=$_SERVER[PHP_SELF]?fijar_cookie=1>Fijar Cookie</a><br>";
echo "<a href=$_SERVER[PHP_SELF]?fijar_cookie=0>Eliminar Cookie</a><br>";
echo "<a href=$_SERVER[PHP_SELF]>Recargar la Página</a><br>";
echo '</body>
</html>';
?>
Comprobar si el cliente admite cookies
En el siguiente ejemplo comprobamos si el cliente admite cookies: Si la cookie no está activa y se carga la página por primera vez entonces intentamos crear la cookie y recargamos la página para que la cookie esté activa. Una vez hecha la recarga podemos comprobar si efectivamente la operación ha tenido o no éxito.
<?php
if (! isset($_COOKIE[prueba]) && ! isset($_GET[verifica]))
{
setcookie("prueba","activa",time()+3600);
header("Location:$_SERVER[PHP_SELF]?verifica=1");
}
echo '<head>
<title>'.$_SERVER[PHP_SELF].'</title>
</head>
<html>
<body>';
if (isset($_COOKIE[prueba]))
{
echo "El cliente admite cookies: $_COOKIE[prueba]<br>";
}
else
{
echo "El cliente NO admite cookies <br>";
}
echo "<a href=$_SERVER[PHP_SELF]>Recargar la Página</a><br>";
echo '</body>
</html>';
?>