Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Castg! en 27 Noviembre 2009, 01:33 am



Título: Problema con $_SESSION
Publicado por: Castg! en 27 Noviembre 2009, 01:33 am
miren tengo un problema medio bobo, lo que pasa es que quiero hacer un sistema de login y quiero usar sesions, para que con actrualiazr la pagina no pierda el valor y tenga que hacerse todo el form de vuelta, el problema que ahora siempre me entra :S, miren este es el code:
Código
  1. <?php
  2. $cpanel = '<div id="add-porta">
  3. <div id="frm-porta"><span class="Estilo8 Estilo2">Agregar web a portafolio: </span><br />
  4.          <br />
  5.        <form action="addporta.php" method="post">
  6.          <p><span class="Estilo8">Nombre de web:</span>
  7.            <input type="text" name="nombre_u">
  8.            <br />
  9.            <br />
  10.          <span class="Estilo8">Descripcion:</span>
  11.          <div id="text-desc">
  12.          <textarea name="desc_u" cols="35" rows="5"></textarea></div>
  13.          </p>
  14.          <div id="Layer29"><span class="Estilo8">Url de imagen: </span>
  15.          <input type="text" id="url-img" name="url_img">
  16.        </div>
  17.        <input type="submit" name="sub" id="btn-agregar-porta" value="Agregar">
  18.  
  19.        </form></div>
  20.  
  21.        </div>
  22.        <div id="add-user">
  23.        <div id="frm-user"><span class="Estilo8 Estilo2">Agregar nuevo usuario-cliente: </span><br />
  24.          <br />
  25.        <form action="addporta.php" method="post">
  26.          <span class="Estilo8">Usuario:</span>
  27.          <input type="text" name="nombre_u"> <br /><br />
  28.          <span class="Estilo8">Clave:   </span>
  29.        <input type="text" name="new-pass"><input type="submit" name="sub" id="btn-agregar-user" value="Agregar"><br/><br/><span class="Estilo8">Nombre y Apellido:</span><input type="text" name="name"><br /><br /><span class="Estilo8">E-Mail:</span><input type="text" name="mail"><br /><br /><span class="Estilo8">Teléfono:</span><input type="text" name="tel"></form></div></div>';
  30. if(isset($_POST['pwd']) && isset($_POST['user'])){
  31. $pass = htmlentities($_POST['pwd']);
  32. $user = htmlentities($_POST['user']);
  33. $pass = str_replace("'", "&#38;#039;", $pass);
  34. $user = str_replace("'", "&#38;#039;", $user);
  35. }else{
  36. $pass = "";
  37. $user = "";
  38. }
  39. $link = mysql_connect("localhost", "root", "");
  40. mysql_select_db("inca_db", $link);
  41. $dat = mysql_query('SELECT * FROM users WHERE pass="'.$pass.'" AND user="'.$user.'"', $link);
  42. $total = mysql_fetch_array($dat);
  43. if(isset($_SESSION['loged']) && $_SESSION['loged'] = md5("popo")){
  44. echo $cpanel."con sesion"; //este lo puse para saber si entro por el user o por la sesion
  45. }elseif($total!=NULL || $total['pass']!=NULL || $total['user']!=NULL){
  46. echo $cpanel."con user";// pero siempre entra por la sesion
  47. $_SESSION['loged'] = md5("popo");
  48. }else{
  49. echo '<div id="Layer13"><div class="Estilo2" align="center" id="Layer21">Lo siento pero no se como hiciste para llegar hasta aca, no sos admin o sos un usuario con permisos insuficientes. Si ingresaste mal los datos, vuelve a el <a href="index.php">login</a>, sino al <a href="../index.html"> home</a>. </div>
  50.    <div class="Estilo1" id="Layer19">Ouch!</div>  
  51.      <img src="../imagenes/Recuadro para Error.png" width="685" height="340"></div>';
  52. }
  53. ?>




y tambien tengo un logout:









Código
  1. <?php
  2. $_SESSION['loged'] = "caca";
  3. ?>





al parecer esta mal el logout porq no me "borra" la variable sesion. me podran ayudar a encotrar el error?


Título: Re: Problema con $_SESSION
Publicado por: isseu en 27 Noviembre 2009, 01:47 am
no entendi muy bien tu problema, tu codigo es algo confuso, pero creo:

Código
  1. if(isset($_SESSION['loged']) && $_SESSION['loged'] = md5("popo")){
  2. echo $cpanel."con sesion"; //este lo puse para saber si entro por el user o por la sesion

deberia cambiar a esto

Código
  1. if(isset($_SESSION['loged']) && $_SESSION['loged'] == md5("popo")){
  2. echo $cpanel."con sesion"; //este lo puse para saber si entro por el user o por la sesion

intenta.


Título: Re: Problema con $_SESSION
Publicado por: Castg! en 27 Noviembre 2009, 02:12 am
Te amo! te juro que no pense pero nunca en mi p**a vida que ese iba a ser el problema, sos lo mas!


Título: Re: Problema con $_SESSION
Publicado por: bleyarkngel en 7 Diciembre 2009, 21:00 pm
bueno ya que diste con la solucion!!.

 talves alguien sepa de un scrip ya hecho para el sistema de sessiones de usuarios, por favor diganme onde encuentro uno para adaptarlo a mis conveniencias.


Título: Re: Problema con $_SESSION
Publicado por: raul338 en 7 Diciembre 2009, 21:08 pm
EDIT: u.u no vi las respuestas :P jajaja....no se que me pasa...estoy en otra  :huh:  :laugh:


Código
  1. if(isset($_SESSION['loged']) && $_SESSION['loged'] = md5("popo")){
  2.       echo $cpanel."con sesion"; //este lo puse para saber si entro por el user o por la sesion
  3. }elseif($total!=NULL || $total['pass']!=NULL || $total['user']!=NULL){
  4.        echo $cpanel."con user";// pero siempre entra por la sesion
  5. $_SESSION['loged'] = md5("popo");
  6.  

no querras hacer

Código
  1. if(isset($_SESSION['loged']) && $_SESSION['loged'] == md5("popo")){
  2.       echo $cpanel."con sesion"; //este lo puse para saber si entro por el user o por la sesion
  3. }elseif($total!=NULL || $total['pass']!=NULL || $total['user']!=NULL){
  4.        echo $cpanel."con user";// pero siempre entra por la sesion
  5. $_SESSION['loged'] = md5("popo");
  6.  

y cuanto al logout, creo que habia una funcion unset para vaciar la variable session
Código
  1. unset($_SESSION["loged"]);
  2.  


Título: Re: Problema con $_SESSION
Publicado por: Castg! en 8 Diciembre 2009, 00:07 am
no hay ningun drama, ya que estoy, tienen otra mejor idea que hacer un echo "<codigohtml>"? o vuelco algun archivo externo.?


Título: Re: Problema con $_SESSION
Publicado por: raul338 en 8 Diciembre 2009, 00:29 am
siempre vas a tener que mostrar codigo html no??? XD XD

usa Templates ;)


Título: Re: Problema con $_SESSION
Publicado por: Rexard en 24 Febrero 2010, 15:54 pm
tengo problemas al utilizar $_SESSION... no me quiere realizar el login... alguien podira brindarme alguna ayuda???


Título: Re: Problema con $_SESSION
Publicado por: Castg! en 24 Febrero 2010, 17:09 pm
trata de ser un moco mucho mas expresivo, que problema te da, en que archivo, cual es el codigo??


Título: Re: Problema con $_SESSION
Publicado por: ~ Yoya ~ en 24 Febrero 2010, 19:22 pm
Código
  1. $pass = htmlentities($_POST['pwd']);
  2. $user = htmlentities($_POST['user']);
  3. $pass = str_replace("'", "&#38;#38;#039;", $pass);
  4. $user = str_replace("'", "&#38;#38;#039;", $user);
Estas desperdiciando la función htmlentities, esto estaria mejor.
Código
  1. $pass = htmlentities($_POST['pwd'], ENT_QUOTES);
  2. $user = htmlentities($_POST['user'], ENT_QUOTES);
  3.  
Que también afecta a las comillas simples y dobles y la convierte a entidades html, tambien tu code se puede optimizar un poco mas, creo que alguna vez programaste junto a fede_cp un código parecido, puedes tomar tu experiencia o ver el code una y otra vez xD.
Código
  1. if(isset($_SESSION['loged']) && $_SESSION['loged'] == md5("popo")){
  2.       echo $cpanel."con sesion"; //este lo puse para saber si entro por el user o por la sesion
  3. }elseif($total!=NULL || $total['pass']!=NULL || $total['user']!=NULL){
  4.        echo $cpanel."con user";// pero siempre entra por la sesion
  5. $_SESSION['loged'] = md5("popo");

Quedaria mejor asi:

Código
  1. if($_SESSION['loged'] == md5("popo")){
  2.       echo $cpanel."con sesion"; //este lo puse para saber si entro por el user o por la sesion
  3. }elseif($total!=NULL || $total['pass']!=NULL || $total['user']!=NULL){
  4.        echo $cpanel."con user";// pero siempre entra por la sesion
  5. $_SESSION['loged'] = md5("popo");
Si la session loged existe y es igual a popo en md5 se ejecuta el if() y si no existe o no es igual ps dara false, estas haciendo las cosas repetidamente...


Título: Re: Problema con $_SESSION
Publicado por: Castg! en 24 Febrero 2010, 19:34 pm
yoya, lo mio ya lo solucione hace mucho tiempo, y ya termine ese panel de control. esmas, lo subi en el foro como  un aporte hace bastante, ahora estoy diciendo lo de la duda del amigo. la verdad, tuviste que haber hecho otro post aparte y no revivir este:S entiendo que trata de lo mismo, pero esto es de hace unos meses ya...


Título: Re: Problema con $_SESSION
Publicado por: ~ Yoya ~ en 24 Febrero 2010, 19:37 pm
No lo revivi, estaba entre lo mas nuevo y postee porque creia que era nuevo xD.


Título: Re: Problema con $_SESSION
Publicado por: Castg! en 24 Febrero 2010, 19:47 pm
no vos no, digo del otro chico. cual es tu problema con session? porq con solo poner "tengo un problem" no te podemos decir nada :-\