A kódom nem jeleníti meg azt a részt, mikor már beléptem
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:Logout:
■ Segítségeteket előre is köszönöm!
Login:
- <?php
- function confirmUser($username, $password){
- global $kapcsolat;
- /* Add slashes if necessary (for query) */
- if(!get_magic_quotes_gpc()) {
- $username = addslashes($username);
- }
- /* Verify that user is in database */
- $q = "select jelszo from users where nick = '$username'";
- $result = mysql_query($q,$kapcsolat);
- if(!$result || (mysql_numrows($result) < 1)){
- return 1; //felhasználói név hiba
- }
- $dbarray = mysql_fetch_array($result);
- $dbarray['jelszo'] = stripslashes($dbarray['jelszo']);
- $password = stripslashes($password);
- /* Jelszó ellenőrzés */
- if($password == $dbarray['jelszo']){
- return 0; //sikeres
- }
- else{
- return 2; //jelszó hiba
- }
- }
- function checkLogin(){
- if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass'])){
- $_SESSION['username'] = $_COOKIE['cookname'];
- $_SESSION['password'] = $_COOKIE['cookpass'];
- }
- if(isset($_SESSION['username']) && isset($_SESSION['password'])){
- if(confirmUser($_SESSION['username'], $_SESSION['password']) != 0){
- unset($_SESSION['username']);
- unset($_SESSION['password']);
- return false;
- }
- return true;
- }
- else{
- return false;
- }
- }
- function displayLogin(){
- global $logged_in;
- if($logged_in){
- ?>
- <div class="menu">
- <h3><? echo $_SESSION[username]?></h3>
- <div class="right_box">
- <center>
- <a href="reg/adatok.php" target="iframe">Saját adatok</a><br>
- <a href="reg/logout.php">Kilépés</a><br>
- </center>
- </div><center><img src="kepek/sottoblocco.gif"></center>
- </div>
- <?
- }
- else{
- ?>
- <div class="menu">
- <h3>Belépés</h3>
- <div class="right_box">
- <form action="" method="post">
- <table align="left" border="0" cellspacing="0" cellpadding="3">
- <tr><td>Felhasználói név:</td><td><input type="text" name="nick" maxlength="30"></td></tr>
- <tr><td>Jelszó:</td><td><input type="password" name="jelszo" maxlength="30"></td></tr>
- <tr><td colspan="2" align="left"><input type="checkbox" name="remember"><font size="2">Felhastnálói név megjegyzése:</td></tr>
- <tr><td colspan="2" align="left"><a href="register.php" target="iframe">Regisztráció</a></td></tr>
- <tr><td colspan="2" align="left"><a href="elfelejtett_jelszo" target="iframe">Elfelejtett jelszó</a></td></tr>
- <tr><td colspan="2" align="right"><input type="submit" name="sublogin" value="Belépés"></td></tr>
- </table>
- </form>
- </div>
- <center><img src="kepek/sottoblocco.gif"></center>
- </div>
- <?
- }
- }
- if(isset($_POST['sublogin'])){
- if(!$_POST['nick'] || !$_POST['jelszo']){
- die('Nincsenek kitöltve a szükséges mezők');
- }
- $_POST['nick'] = trim($_POST['nick']);
- if(strlen($_POST['nick']) > 30){
- die("Túl hosszú felhasználói név");
- }
- $md5pass = md5($_POST['jelszo']);
- $result = confirmUser($_POST['nick'], $md5pass);
- if($result == 1){
- die('Ismeretlen felhasználó');
- }
- else if($result == 2){
- die('Hibás jelszó');
- }
- $_POST['nick'] = stripslashes($_POST['jelszo']);
- $_SESSION['username'] = $_POST['nick'];
- $_SESSION['password'] = $md5pass;
- if(isset($_POST['remember'])){
- setcookie("cookname", $_SESSION['username'], time()+60*60*24*100, "/");
- setcookie("cookpass", $_SESSION['password'], time()+60*60*24*100, "/");
- }
- echo "<meta http-equiv=\"Refresh\" content=\"0;url=$HTTP_SERVER_VARS[PHP_SELF]\">";
- return;
- }
- $logged_in = checkLogin();
- ?>
- <?php
- session_start();
- $_SESSION['belepett'] = false;
- $_SESSION['nick'] = false;
- header("location: ../index.php");
- ?>
magic quotes
- 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.
Nem jelenik meg
hol hívod meg?
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 ;)
Köszi!!!