Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/10/2007, 12:06
sotadeoros
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Duda con el tema de las sesiones

Hola

Lo que quiero es simplemente que dos variables (usuario, y contra), que son usuario y contraseña, me sirvan para todas las páginas(algo parecido a la sentencia "Public" en otros lenguajes de programacion) desde el momento en que el usuario las introduzca, que es aquí:
Código HTML:
<form name="form1" action="inicio.php" onsubmit="return validar(this)" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
    <td colspan="2" align="center"><font face="Arial"><b>Introduzca sus datos para acceder al sistema</b></font></td>
</tr>
<tr>
    <td align="right"><b>USUARIO:</b></td>
    <td><input type="Text" name="usuario" size="10" maxlength="50"></td>
</tr>
<tr>
    <td align="right"><b>CONTRASEÑA:</b></td>
    <td><input type="password" name="contra" size="10" maxlength="8"></td>
</tr>
<tr>
    <td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>

</form> 
Una vez que los ha introducido, llamo a inicio.php que hace la comprobacion:
Código PHP:
<?php  
$usuario
=$_POST['usuario']; 
$contra=$_POST['contra']; 
include 
"configsql.php";
$xusuario=strtoupper($usuario);
$consulta="select PASSWORD,DESCRIP,NIVEL,CODIGO from t4 where password='".$contra."' and descrip='".$usuario."'";
$query=mysql_query($consulta$connect);
$nfilas=mysql_num_rows($query);
if (
$nfilas !=0){  
//Si el usuario y contraseña son válidos  
//defino una sesion y guardo datos  
session_start();  
$_SESSION["usuario"]=$usuario
$_SESSION["contra"]=$contra
session_register("SESSION");
echo 
"<center><font color='Red' face='Arial'>COMPROBACION USUARIO:.....  CORRECTO</font></center>";
echo 
"<center><font color='Red' face='Arial'>COMPROBACION CONTRASEÑA:.....  CORRECTO</font></center>";
echo 
"<META HTTP-EQUIV=REFRESH CONTENT='2; URL=reparte.php'>";
}else {  
//si no existe le mando otra vez a la portada  
echo "<center><font color='Red' face='Arial'>ERROR. ENTRADA NO AUTORIZADA</font></center>";
echo 
"<center><font color='Red' face='Arial'>COMPRUEBE DATOS DE USUARIO Y CONTRASEÑA</font></center>";
echo 
"<META HTTP-EQUIV=REFRESH CONTENT='2; URL=index.php'>";
}  
//mysql_free_result($rs);  
//mysql_close($conn);  
?>
Para lo que verás que he recuperado las variables con $_POST ["usuario"]
Y entiendo que para que se conviertan en públicas desde éste momento, debo hacer lo que he puesto después de "//defino una sesión y guardo datos.
Bien, pues como ves, de aquí se va a reparte.php, que comienza con session_start(), y aunque comienze así, me dice que no existen las variables usuario y contra.
Que otra manera hay de hacer pública una variable que no sea ésta?
Al decir publica me refiero que sea compartida por todos las partes y formularios que sean llamados desde la que se declaren.

Saludos

Última edición por sotadeoros; 28/10/2007 a las 12:14 Razón: añadido