ugrás a tartalomhoz

A kódom nem jeleníti meg azt a részt, mikor már beléptem

JZsolt · 2006. Okt. 8. (V), 01.09
Sziasztok! Szeretném a segítségeteket kérni. Az a baj, hogy nem jeleníti meg se azt a részt, mikor már beléptem, se pedig a login részt.
Segítségeteket előre is köszönöm!
Login:
  1. <?php  
  2. function confirmUser($username$password){  
  3.    global $kapcsolat;  
  4.    /* Add slashes if necessary (for query) */  
  5.    if(!get_magic_quotes_gpc()) {  
  6.     $username = addslashes($username);  
  7.    }  
  8.   
  9.    /* Verify that user is in database */  
  10.    $q = "select jelszo from users where nick = '$username'";  
  11.    $result = mysql_query($q,$kapcsolat);  
  12.    if(!$result || (mysql_numrows($result) < 1)){  
  13.       return 1; //felhasználói név hiba  
  14.    }  
  15.   
  16.    $dbarray = mysql_fetch_array($result);  
  17.    $dbarray['jelszo']  = stripslashes($dbarray['jelszo']);  
  18.    $password = stripslashes($password);  
  19.   
  20.    /* Jelszó ellenőrzés */  
  21.    if($password == $dbarray['jelszo']){  
  22.       return 0; //sikeres  
  23.    }  
  24.    else{  
  25.       return 2; //jelszó hiba  
  26.    }  
  27. }  
  28.   
  29.   
  30. function checkLogin(){  
  31.    if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass'])){  
  32.       $_SESSION['username'] = $_COOKIE['cookname'];  
  33.       $_SESSION['password'] = $_COOKIE['cookpass'];  
  34.    }  
  35.   
  36.   
  37.    if(isset($_SESSION['username']) && isset($_SESSION['password'])){  
  38.   
  39.       if(confirmUser($_SESSION['username'], $_SESSION['password']) != 0){  
  40.   
  41.          unset($_SESSION['username']);  
  42.          unset($_SESSION['password']);  
  43.          return false;  
  44.       }  
  45.       return true;  
  46.    }  
  47.   
  48.    else{  
  49.       return false;  
  50.    }  
  51. }  
  52.   
  53.   
  54. function displayLogin(){  
  55.    global $logged_in;  
  56.    if($logged_in){  
  57. ?>  
  58.             <div class="menu">  
  59.                 <h3><? echo $_SESSION[username]?></h3>  
  60.                 <div class="right_box">  
  61.                     <center>  
  62.                         <a href="reg/adatok.php" target="iframe">Saját adatok</a><br>  
  63.                         <a href="reg/logout.php">Kilépés</a><br>  
  64.                     </center>  
  65.                 </div><center><img src="kepek/sottoblocco.gif"></center>  
  66.             </div>  
  67. <?  
  68.    }  
  69.    else{  
  70. ?>  
  71.             <div class="menu">  
  72.                 <h3>Belépés</h3>  
  73.                 <div class="right_box">  
  74.   
  75.                     <form action="" method="post">  
  76.                         <table align="left" border="0" cellspacing="0" cellpadding="3">  
  77.                             <tr><td>Felhasználói név:</td><td><input type="text" name="nick" maxlength="30"></td></tr>  
  78.                             <tr><td>Jelszó:</td><td><input type="password" name="jelszo" maxlength="30"></td></tr>  
  79.                             <tr><td colspan="2" align="left"><input type="checkbox" name="remember"><font size="2">Felhastnálói név megjegyzése:</td></tr>  
  80.                             <tr><td colspan="2" align="left"><a href="register.php" target="iframe">Regisztráció</a></td></tr>  
  81.                             <tr><td colspan="2" align="left"><a href="elfelejtett_jelszo" target="iframe">Elfelejtett jelszó</a></td></tr>  
  82.                             <tr><td colspan="2" align="right"><input type="submit" name="sublogin" value="Belépés"></td></tr>  
  83.                         </table>  
  84.                     </form>  
  85.                 </div>  
  86.                 <center><img src="kepek/sottoblocco.gif"></center>  
  87.             </div>  
  88. <?  
  89.    }  
  90. }  
  91.   
  92.   
  93. if(isset($_POST['sublogin'])){  
  94.    if(!$_POST['nick'] || !$_POST['jelszo']){  
  95.       die('Nincsenek kitöltve a szükséges mezők');  
  96.    }  
  97.    $_POST['nick'] = trim($_POST['nick']);  
  98.    if(strlen($_POST['nick']) > 30){  
  99.       die("Túl hosszú felhasználói név");  
  100.    }  
  101.   
  102.    $md5pass = md5($_POST['jelszo']);  
  103.    $result = confirmUser($_POST['nick'], $md5pass);  
  104.   
  105.    if($result == 1){  
  106.       die('Ismeretlen felhasználó');  
  107.    }  
  108.    else if($result == 2){  
  109.       die('Hibás jelszó');  
  110.    }  
  111.   
  112.    $_POST['nick'] = stripslashes($_POST['jelszo']);  
  113.    $_SESSION['username'] = $_POST['nick'];  
  114.    $_SESSION['password'] = $md5pass;  
  115.   
  116.    if(isset($_POST['remember'])){  
  117.       setcookie("cookname"$_SESSION['username'], time()+60*60*24*100, "/");  
  118.       setcookie("cookpass"$_SESSION['password'], time()+60*60*24*100, "/");  
  119.    }  
  120.   
  121.    echo "<meta http-equiv=\"Refresh\" content=\"0;url=$HTTP_SERVER_VARS[PHP_SELF]\">";  
  122.    return;  
  123. }  
  124.   
  125.   
  126. $logged_in = checkLogin();  
  127.   
  128. ?>  
Logout:
  1. <?php  
  2. session_start();  
  3. $_SESSION['belepett'] = false;  
  4. $_SESSION['nick'] = false;  
  5. header("location: ../index.php");  
  6. ?>  
 
1

magic quotes

Anonymous · 2006. Okt. 8. (V), 08.03
Üdv!

- A magic quotes helyett inkább a mysql_real_escape_string függvényt használd.
- Nem értem a kérdést. Mit jelent az, hogy "nem jelenik meg"? Honnan hívod ezeket?
- Használd a "code" bbcode jelölőt, de még inkább a "colorer"-t, mert ez így nagyon olvashatatlan.
2

Nem jelenik meg

JZsolt · 2006. Okt. 8. (V), 11.32
Mysql-ből hívom. A Belépés részt nem jeleníti meg, pedig lefut tökéletesen, nem talál hibát.
3

hol hívod meg?

TeeCee · 2006. Okt. 8. (V), 12.01
Én biztos álmos és fáradt vagyok, de nem látom, hogy a displayLogin() fv-t meghívnád, ergó hol kellene megjelennie annak, amit hiányolsz?

Amúgy egész szépen és érthetően használod a függvények elnevezéseit, ez ritkaság szokott lenni ilyesmi horderejű kérdéseknél, ezért arra egy pirospont ;)
4

Köszi!!!

JZsolt · 2006. Okt. 8. (V), 13.11
Ezt nem vettem észre, de sötét vok :D Nem hívtam le a függvényt! Köszi mindent!!