Ayuda con PHP y variables de sesion

fer
05 de Febrero del 2006
Estoy intentando resolver una cuestion. Quiero hacer que los parámetros que se pasan en la barra de herramientas no sean visibles.
Es decir, si me aparece http://localhost/hola.php/nombre=name&apellido=surname&... quiero que me aparezca http://localhost/hola.php/

Estoy haciendo unas pruebas pero me sighue saliendo mal, ya que ahora me sale: http://localhost/hola.php/=name&=surname&...
O sea, q me muestra los valores que toman las variables. Lo estoy haciendo con $_SESSION[nombre] . No se si lo estoy haciendo bien, pero va a ser que no. Asi que os agradeceria muchisimo que alguien me indicara el camino correcto. Un saludo. Muchas gracias.

Carlos
05 de Febrero del 2006
Puedes hacerlo de 2 maneras:
La primera forma:
manejando formularios creando el form con el metodo POST de la siguiente manera dentro del <body>:
<form name="form1" method="post" action="procesar_formulario.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nombre:
<input name="txt_name" type="text" id="txt_name"></td>
</tr>
<tr>
<td><input name="cb_enviar" type="submit" id="cb_enviar" value="Enviar"></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</form>

Luego tienes que crear el script (o pagina) procesar_formulario.php y recibir la variable de la siguiente manera:

$nombre= $HTTP_POST_VARS["txt_name"];

Ahora puedes hacer lo que quieras con la variable $nombre. Ejemplo:
echo $nombre;

La segunda forma:
Si lo que quieres es tener disponible el nombre cada vez que lo desees en varias páginas de tu web site, puedes utilizar variables de sesion. Las variables de sesión tienen un manejo distinto en las diferentes versiones de PHP, pero a mi me funciona de la siguiente manera:

Definir en una página las variables de sesión (ejemplo pagina login.php)

session_start();
$HTTP_SESSION_VARS['nombre']= "Carlos";

Listo. En otra(s) página(s) puedes utilizar la variable de sesión de la siguiente manera:
session_start(); // NUNCA TE OLVIDES DE COLOCAR ESTO
//por ejemplo podrías utilizarla imprimiendo en pantalla
echo $HTTP_SESSION_VARS[NOMBRE];

Esto es todo! Depende de lo que quieras hacer. En el 1 caso te puede resultar mejor tabajar con formularios, y en el otro caso te puede servir para validar un nombre, password, etc. que fue escrito en la pagina de login y que quieres validarlo en todas las páginas de tu sistema para restringir el acceso.

Saludos,

Carlos S.

Carlos
05 de Febrero del 2006
En la ultima línea me equivoqué. Es asi:

echo $HTTP_SESSION_VARS['nombre'];

//entre comillas simples y tal como ue definida en la página padre

urioliva
05 de Febrero del 2006
eso no lo solucionas con el POST o el GET del formulario??

fer
05 de Febrero del 2006
He intentado cambiar el post por el get pero sigue sin funcionarme. A ver si alguien me puede dar otra solucion.

Muchas Gracias