Código:
Me genera 3 sesiones:$check_user = mysql_query("SELECT * FROM users WHERE user='".mysql_escape_string($user)."' AND pass='".mysql_escape_string($pass)."' ");
Código:
$user_exists viene de una peticion con mysql_fetch_assoc (Ya intente con object y me sigue dando el mismo error), el problema es que se supone que solo me guarde el campo "rank" de la tabla en la session y me guarda solo "NULL", es lo que sale, lo raro es que:session_register("rank"); session_register("logged"); session_register("user"); $_SESSION['rank'] = $user_exists['rank']; $_SESSION['logged'] = "yes"; $_SESSION['user'] = $user;
Cuando ingreso los datos primero si me sale todo bien, una vez que le doy f5 o parecido tengo un switch en donde depende que rango sea el usuario es lo que mostrará (menu y enviar mensaje) y al darle f5 como mencione anteriormente la session al parecer pierde su valor y solo me muestra los mensajes pero no el menu ni el campo de enviar.
Espero me ayuden, saludos.
P.D. Cuando intento hacer un echo a $_SESSION['rank'] me aparece esto:
Cita:
Editado:Catchable fatal error: Object of class stdClass could not be converted to string in C:\AppServ\www\index.php on line 3
-----------------------------
Cuando ingreso y los datos son correctos hago un "echo $_SESSION['rank']" y me tira "user" y me muestra todo correcto, pero como tengo un redirect para que tome el index.php el valor de la session y si esta logeado me muestre otra cosa, ahi es cuando me da problemas, les dejo parte del codigo:
Código:
Al darle un var_dump() a $_SESSION me acabo de dar cuenta de que todos los valores de la base de datos me los almacena en sesiones :S! <? include("lib/classes.php"); include("lib/config.php"); $connect = new dbconnect(); $connect->connect("****","****","*****","****"); $encryption = new encryption(); //Sendin' msg $mod = $_GET['act']; if(!empty($mod)){ switch($mod){ case "register": @include("lib/register.php"); break; case "logout": if(!empty($_SESSION['logged'])){ session_destroy(); echo "<script>alert('Te has desconectado correctamente');</script>"; echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=?">'; }else{ echo "<script>alert('No te puedes desconectar porque no estas logeado');</script>"; echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=?">'; } break; default; echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=?">'; } }else{ if (isset($_POST['send'])){ $msg = strip_tags($_POST['msg']); $ip = $_SERVER[REMOTE_ADDR]; if ((strlen($msg) > $max_msg) or (strlen($msg) < $min_msg)){ $error = "<div style='text-align:justify;;background:red;color:white;line-height:1em;'> El mensaje tiene que tener mínimo ".$min_msg." carácteres y máximo ".$max_msg." carácteres. </div>"; }else{ $user = $_SESSION['user']; $web = mysql_query("SELECT * FROM users WHERE user='".mysql_escape_string($user)."' "); if($web_exists = mysql_fetch_object($web)){ $web = $web_exists->web; }else{ $web = "#"; } $insert = mysql_query("INSERT INTO comments (user,msg,web,ip,date) values ( '".mysql_escape_string($_SESSION['user'])."', '".mysql_escape_string($msg)."', '".mysql_escape_string($web)."', '".mysql_escape_string($ip)."', '".mysql_escape_string($date)."' )"); } } if(isset($_POST['login'])){ $user = strip_tags($_POST['user']); $pass = strip_tags($_POST['pass']); $pass = $encryption->encrypt($pass,$code); $check_user = mysql_query("SELECT * FROM users WHERE user='".mysql_escape_string($user)."' AND pass='".mysql_escape_string($pass)."' "); if($user_exists = mysql_fetch_assoc($check_user)){ session_register("rank"); session_register("logged"); session_register("user"); $_SESSION['rank'] = "user"; $_SESSION['logged'] = "yes"; $_SESSION['user'] = $user; $error = "<div style='text-align:justify;;background:red;color:white;line-height:1em;'>Bienvenido, en unos momentos serás redirigído.</div>"; echo $_SESSION['rank']; /*echo '<META HTTP-EQUIV=Refresh CONTENT="2; URL=?">';*/ }else{ $error = "<div style='text-align:justify;;background:red;color:white;line-height:1em;'>Los datos proporcionados son incorrectos</div>"; } } $rank = $_SESSION['rank']; switch($rank){ case "": $menu = "Registrar cuenta<br /><a href='?act=register' target='_blank'><img src='img/register_account.png' border='0'></a>"; $send = "<div style='font-size:12px;'> <form action='' method='POST'>".$error." <input type='text' size='30' onFocus=\"if (this.value == 'Usuario') { this.value=''}\" onBlur=\"if(this.value == ''){ this.value='Usuario'}\" value='Usuario' name='user' > <input type='password' size='30' onFocus=\"if (this.value == '********') { this.value=''}\" onBlur=\"if(this.value == ''){ this.value='********'}\" value='********' name='pass'><br /> <input type='submit' name='login' value='Entrar'> </form> </div>"; break; case "user": echo "Adada"; $menu = "<div style='font-size:12px;'>Perfil | Editar | Ayuda | <a href='?act=logout'>Salir</a></div>"; $send = "<div style='font-size:12px;'> <form action='' method='POST'> ".$error." <textarea name='msg' cols='30' rows='3'onFocus=\"if (this.value == 'Mensaje') { this.value=''}\" onBlur=\"if(this.value == ''){ this.value='Mensaje'}\">Mensaje</textarea><br /> <input type='submit' name='send' value='Enviar'> </form> </div>"; break; case "admin": $menu = "<div style='font-size:12px;'>Perfil | Editar | Administrar | Ayuda | <a href='?act=logout'>Salir</a></div>"; $send = "<div style='font-size:12px;'> <form action='' method='POST'> ".$error." <textarea name='msg' cols='30' rows='3'onFocus=\"if (this.value == 'Mensaje') { this.value=''}\" onBlur=\"if(this.value == ''){ this.value='Mensaje'}\">Mensaje</textarea><br /> <input type='submit' name='send' value='Enviar'> </form> </div>"; break; default; echo "test"; break; } ?> <body> <div id="container"> <div id="header"><div style="margin-top:5px;">ZO Chat v1.0 Registered Version</div></div> <div id="panel"><? echo $menu; ?></div> <div id="show"><div style="margin-left:5px;margin-right:5px;"> <div id="msg"><? include("lib/show_msg.php"); ?></div> </div></div> <div id="send"><? echo $send; ?></div> <div id="footer"><div style="margin-top:5px;">*****</div></div> </div> </body> </html> <? } ?>