Cita:
Iniciado por juanPepe Hola soy nuevo en este mundillo del php y queria a ver si me podiais ayudar con las sesiones q me traen de cabeza
Yo tengo un index y aparte una pagina php donde controlo las sesiones esta la incluyo en el index pero siempre q me valido como usuario me entra como invitado porque? el codigo es el siguiente
include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and js_pass='".$_POST['password']."'");
if (mysql_num_rows($rs)>0){
session_start();
$_SESSION["user"]=$_POST["usuario"];
?>
<script type="text/javascript" language="javascript">
alert("Bienvenido");
window.location='index.php?<? echo session_name()."=".session_id() ?>';
</script>
<?
}else {
?>
<script type="text/javascript" language="javascript">
alert("Usted no esta validado");
window.location='index.php?valor=6?errorusuario=si ';
</script>
<?
}
}
mysql_close($c);
?>
Hola
juanPepe!
En tu código estas definiendo una variable de sesión sin antes haber empezado la sesión:
Código:
include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and js_pass='".$_POST['password']."'");
if (mysql_num_rows($rs)>0){
session_start();
$_SESSION["user"]=$_POST["usuario"];
Correcto:
Código:
session_start();
include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and js_pass='".$_POST['password']."'");
if (mysql_num_rows($rs)>0){
$_SESSION["user"]=$_POST["usuario"];
No sé si sea el problema, pero la variable $_SESSION["usuario"] no tiene que tomar el valor del usuario si este existe en la base de datos?, porque tienes 2 variables de sesión $_SESSION["usuario"] y $_SESSION["user"].
Código:
session_start();
include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and js_pass='".$_POST['password']."'");
if (mysql_num_rows($rs)>0){
$_SESSION["usuario"]=$_POST["usuario"];
Un saludo!