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:

<?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();

?>
Logout:

<?php
session_start();
$_SESSION['belepett'] = false;
$_SESSION['nick'] = false;
header("location: ../index.php");
?>
 
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!!