Autor Zpráva
Werewolf
Profil
Udělal jsem si login, dva uživatelé, oba jdou přihlásit i odhlásit. Ale:

Po přihlášení zobrazuju h1 vítejte, pak h2 jméno uživatele a h3 id uživatele. To id se zobrazuje, ale jméno ne. Kód:

<?php
session_start();
$tabulka_uzivatelu = "login_users20090323_1";

		mysql_pconnect("localhost", "*****", "******") or die("mysql_pconnect() selhal");
		mysql_select_db("default") or die("mysql_select_db() selhal");
		$names = mysql_query("SET NAMES utf8");

	if(@$_POST['odhlaseni']) { Header("Location: _login2.php?odhlaseni=true"); }


        $login = FALSE;
        
        if(@$_GET['odhlaseni'] == "true") {
                session_destroy();
                header("Location: _login2.php");
                exit();
        } elseif((isset($_SESSION['jmeno_aut'])) && (isset($_SESSION['heslo_aut']))) {
                $query = mysql_query("SELECT id,jmeno FROM ".$tabulka_uzivatelu." WHERE (heslo = '".$_SESSION['heslo_aut']."' AND jmeno = '".$_SESSION['jmeno_aut']."')") or die("Chyba databaze. Zkuste prosim akci opakovat pozdeji.");
                $user = mysql_fetch_array($query);
                if(empty($user)) {
                        session_destroy();
                } else {
                        $login = TRUE;
                }
        } elseif(isset($_POST['prihlasit'])) {
                $heslo_aut = md5($_POST['heslo']);
                $jmeno_aut = $_POST['jmeno'];
                $query = mysql_query("SELECT id FROM ".$tabulka_uzivatelu." WHERE (heslo = '".$heslo_aut."' AND LOWER(jmeno) = '".$jmeno_aut."')") or die("Chyba databaze. Zkuste prosim akci opakovat pozdeji.");
                $user = mysql_fetch_array($query);
                if(empty($user)) {
                        $login_e = TRUE;
                } else {
						$login = true;
				}
        }

        $login_jmeno = @$user['jmeno'];
        $login_id = @$user['id'];
?>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title><?php if($login == true) { echo('Přihlášen'); } else { echo('Přihlásit se'); $login_form = 1; } ?></title>
 </head>
 <body>
  <?php
	if($login) { echo('<form action="'.$_SERVER['PHP_SELF'].'" method="post"><h1>Jste přihlášený</h1><h2>Uživatel: <u>&quot;'.$user['jmeno'].'&quot;</u></h2><h3>Id uživatele: <u>&quot;'.$user['id'].'&quot;</u></h3><input type="submit" name="odhlaseni" value="Odhlásit se" /></form>'); $login_form = 0; }

	if(!$login_e && $login_form == 1) { 
  ?>
  <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="prihlaseni">
   <fieldset><legend><h2>Přihlášení</h2></legend>
    <table><tr><th>Jméno:</th><td><input name="jmeno" type="text" /></td></tr>
    <tr><th>Heslo:</th><td><input type="password" name="heslo" /></td></tr>
    <tr><th colspan="2"><input type="submit" name="prihlasit" value="Přihlásit se" id="odeslat" /></th></tr></table>
   </fieldset>
  </form>
    <?php } elseif($login_e) { ?>
    <h1>Neúspěšné přihlášení</h1>
    <p><b>Nesprávné přihlašovací údaje</b><br /><a href="./_login2.php" title="Zpět">Zpět</a></p>
    <?php } ?>
 </body>
</html>


Tak, neví, prosím, někdo, co tam mám za chybu (předpokládám, že ve SQL) ?
Díky za vše, Werewolf

P.S. Dnes už se tady neukážu, jdu koukat na bednu (ať žije Kobra 11 - die autobanhpolizei!)...
AM_
Profil
protože si ho při přihlášení nevytahuješ z db
Werewolf
Profil
AM_
nevytahuješ z db
OH! Já jsem...
...*velmi sprosté slovo*...
...*další sprosté slovo*...
...*další*...
...no, víš, co jsem. Díky ;-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: