Problema con las sesiones en php
    
		    Hola, estoy casi recien empezado en php, intentando crear un juego de estrategia online, y lo primero que necesito es poder tener sesiones de usuario. Me informé al respectó y averigué que la manera más sencilla es de utilizar las funciones session que vienen incorporadas en el PHP. 
Los usuarios y las claves están guardados en una base de datos MySQL.
La primera página que pongo es una donde puedes escribir tu usuario y tu contraseña de usuario, y cuando le das al botón submit recarga la página con los datos, comprueba que la contraseña que has puesto se corresponde al usuario escrito (comparándolo en la base de datos). Antes de utilzar las sesiones, me funcionaba bien, y podÃa pasar las variables a través de las páginas, especificándolas en la URL.
El problema que tengo ahora con las sesiones es que ponga lo que ponga en las casillas de usuario y contraseña, cuando le doy a submit en la página de inicio de usuario la información que manda la página es la del usuario que estuve utilizando inicialmente.
Pueden ver un ejemplo de lo que digo en http://doomsday.webcindario.com/
estuve utilizando el usuario "bruceland" de contraseña "gromenawer". Si pruebo a poner otro usuario, por ejemplo "republica" de contraseña "capitan", cuando le de al boton sumbit estará enviando la información del usuario "bruceland".
Les envio el código que he utilizado para esta página:
<html>
<body>
<?php
if ($submit) {
session_start();
session_register("txt_usuario");
$session=session_id();
// process form
$dbDoomsday = mysql_connect("localhost","***","***");
mysql_select_db("***",$dbDoomsday);
$consultaUsuarios = mysql_query("SELECT * FROM naciones WHERE nick='$txt_usuario'",$dbDoomsday);
$resultadoConsultaUsuarios = mysql_fetch_array($consultaUsuarios);
if ($resultadoConsultaUsuarios["contraseña"] == $txt_contraseña){
printf("Contraseña introducida correctamente, viva %s ! %s<BR>",$resultadoConsultaUsuarios["Nombre"],$txt_usuario);
$nacion = $resultadoConsultaUsuarios["Nombre"];
printf("<A href='doomsday_index.php?%s'>Entra y gobierna tu nación!</A>", $session);
} else{
echo "No has escrito bien la contraseña, o el usuario...o estás intentando colarte en el usuario de otra persona...tramposo! Que me he quedado con tu cara, eh! Los tramposos suelen acabar con sus provincias contaminadas por la explosión de una bomba nuclear, asà que yo que tú no volverÃa a 'equivocarme' de nuevo, susio!<BR><BR>";
// display form
?>
<CENTER>
<B><FONT size="6">Inicio de sesión</FONT></B> <BR>
Introduce el nombre de tu nación y la contraseñA <BR>
<BR>
<BR>
<BR>
<form method="post" action="<?php echo $PHP_SELF?>">
Nación:<input type="Text" name="txt_usuario"><br>
Contraseña:<input type="Password" name="txt_contraseña"><br>
<input type="Submit" name="submit" value="Dicta tus mandatos">
</form>
</CENTER>
<?php
} // end if
} else{
?>
<CENTER>
<B><FONT size="6">Inicio de sesión</FONT></B> <BR>
Introduce el nombre de tu nación y la contraseñA <BR>
<BR>
<BR>
<BR>
<form method="post" action="<?php echo $PHP_SELF?>">
Nación:<input type="Text" name="txt_usuario"><br>
Contraseña:<input type="Password" name="txt_contraseña"><br>
<input type="Submit" name="submit" value="Dicta tus mandatos">
</form>
</CENTER>
<?php
}
?>
</body>
</html>
He probado a meter session_start(), session_register() y session_id(), por todas partes, pero con idénticos resultados.
A ver si alguien pudiese resolverme este problema que tengo.
	    
    Los usuarios y las claves están guardados en una base de datos MySQL.
La primera página que pongo es una donde puedes escribir tu usuario y tu contraseña de usuario, y cuando le das al botón submit recarga la página con los datos, comprueba que la contraseña que has puesto se corresponde al usuario escrito (comparándolo en la base de datos). Antes de utilzar las sesiones, me funcionaba bien, y podÃa pasar las variables a través de las páginas, especificándolas en la URL.
El problema que tengo ahora con las sesiones es que ponga lo que ponga en las casillas de usuario y contraseña, cuando le doy a submit en la página de inicio de usuario la información que manda la página es la del usuario que estuve utilizando inicialmente.
Pueden ver un ejemplo de lo que digo en http://doomsday.webcindario.com/
estuve utilizando el usuario "bruceland" de contraseña "gromenawer". Si pruebo a poner otro usuario, por ejemplo "republica" de contraseña "capitan", cuando le de al boton sumbit estará enviando la información del usuario "bruceland".
Les envio el código que he utilizado para esta página:
<html>
<body>
<?php
if ($submit) {
session_start();
session_register("txt_usuario");
$session=session_id();
// process form
$dbDoomsday = mysql_connect("localhost","***","***");
mysql_select_db("***",$dbDoomsday);
$consultaUsuarios = mysql_query("SELECT * FROM naciones WHERE nick='$txt_usuario'",$dbDoomsday);
$resultadoConsultaUsuarios = mysql_fetch_array($consultaUsuarios);
if ($resultadoConsultaUsuarios["contraseña"] == $txt_contraseña){
printf("Contraseña introducida correctamente, viva %s ! %s<BR>",$resultadoConsultaUsuarios["Nombre"],$txt_usuario);
$nacion = $resultadoConsultaUsuarios["Nombre"];
printf("<A href='doomsday_index.php?%s'>Entra y gobierna tu nación!</A>", $session);
} else{
echo "No has escrito bien la contraseña, o el usuario...o estás intentando colarte en el usuario de otra persona...tramposo! Que me he quedado con tu cara, eh! Los tramposos suelen acabar con sus provincias contaminadas por la explosión de una bomba nuclear, asà que yo que tú no volverÃa a 'equivocarme' de nuevo, susio!<BR><BR>";
// display form
?>
<CENTER>
<B><FONT size="6">Inicio de sesión</FONT></B> <BR>
Introduce el nombre de tu nación y la contraseñA <BR>
<BR>
<BR>
<BR>
<form method="post" action="<?php echo $PHP_SELF?>">
Nación:<input type="Text" name="txt_usuario"><br>
Contraseña:<input type="Password" name="txt_contraseña"><br>
<input type="Submit" name="submit" value="Dicta tus mandatos">
</form>
</CENTER>
<?php
} // end if
} else{
?>
<CENTER>
<B><FONT size="6">Inicio de sesión</FONT></B> <BR>
Introduce el nombre de tu nación y la contraseñA <BR>
<BR>
<BR>
<BR>
<form method="post" action="<?php echo $PHP_SELF?>">
Nación:<input type="Text" name="txt_usuario"><br>
Contraseña:<input type="Password" name="txt_contraseña"><br>
<input type="Submit" name="submit" value="Dicta tus mandatos">
</form>
</CENTER>
<?php
}
?>
</body>
</html>
He probado a meter session_start(), session_register() y session_id(), por todas partes, pero con idénticos resultados.
A ver si alguien pudiese resolverme este problema que tengo.
		    Funciona bien.
El secreto de las sesiones es que duran mientras este abierto el navegador.
Si quieres entrar como otro usuario para hacer tus pruebas cierra el navegador (todas las ventanas).
Eso hice yo y pude entrar a tu sitio con los dos nobres de nacion diferentes
Saludos
    El secreto de las sesiones es que duran mientras este abierto el navegador.
Si quieres entrar como otro usuario para hacer tus pruebas cierra el navegador (todas las ventanas).
Eso hice yo y pude entrar a tu sitio con los dos nobres de nacion diferentes
Saludos
		    Ah, muchas gracias por resolverme la duda. Estuve probando en varios foros, y en ninguno me habÃan contestado.
Intenté probar un botón de session_destroy()...pero no parece funcionar. En todo caso, ahora que sé que cerrando todo se puede meter una nueva sesión, será más fácil.
Venga, gracias por la ayuda, y un saludito.
    Intenté probar un botón de session_destroy()...pero no parece funcionar. En todo caso, ahora que sé que cerrando todo se puede meter una nueva sesión, será más fácil.
Venga, gracias por la ayuda, y un saludito.
