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