Autor | Zpráva | ||
---|---|---|---|
kharn Profil * |
#1 · Zasláno: 14. 1. 2010, 21:48:34
Dobrý den,
prosil bych o radu mám přihlašování vid kod a potřebuju udělat opokud uživatel zadá adresu login.php, ale nebude přihlášen vypíše mu to, že se nepřihlásil. Možnosti, které jsem sám zkoušel mi vždy vypsali dvě chybové hlášky první, že nejsem přihlášen a druhou, že jsem zadal špatné přihlašovací údaje, ale potřebuji vypsat pouze error, že nejsem přihlášen. Děkuji <?php include "./config.php"; // připojení k databázi if (isset($_COOKIE["jmeno"]) && isset($_COOKIE["heslo"])){ $login = $_COOKIE['jmeno']; $heslo = $_COOKIE["heslo"]; $md5heslo = md5($heslo); // MD5 $dotaz = mysql_query("select * from uzivatele where login = '$login' and heslo = '$md5heslo'"); $overeni = mysql_num_rows($dotaz); $row = mysql_fetch_array($dotaz); } else { $overeni = 0; } if($overeni == 1) { session_start(); session_regenerate_id(); if ($row["id"] == $id_admin) { $admin = '<a href="login.php?id=administrace">administrace</a>'; } else { $admin = "Uživatel"; } $_SESSION['login'] = $row["login"]; // Zapíše si login z MySQL $_SESSION['id'] = $row["id"]; // Zapíše si id z MySQL $_SESSION['opravneni'] = $row['opravneni']; // Zapíše si opravneni z MySQL echo '<head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="keywords" content=""> <meta name="decription" content=""> </head>'; if (isset($_GET['id'])) { $filename = $_GET['id'] . ".php"; } else { $filename = "obsah.php"; } $dir = "./content/"; $dirfile = $dir . $filename; if (!file_exists($dirfile)): $dirfile = "warning/404.php"; //404 při zadání neplatné stránky endif; echo '<link rel="stylesheet" href="styly/style.css">'; echo '<div class="stranka">'; include "./hpanel.php"; include "./menu.php"; echo '<div class="obsah">'; include $dirfile; echo '</div>'; include "./paticka.php"; echo '</div>'; die(); } else { echo "<div>Zadal jste špátné jméno nebo heslo! #$md5heslo</div>"; // Příkaz pro výpis, že uživatel zadal špatné heslo echo '<a href="index.php">Zpět</a>'; //odkaz na začátek loginu } } ?> |
||
t4nn3r Profil |
#2 · Zasláno: 14. 1. 2010, 22:15:29
Ja tady nidke nevidim kod, ktery vypisuje ze nejsem prihlasen ...
|
||
kharn Profil * |
#3 · Zasláno: 14. 1. 2010, 22:25:05
smazal jsem ho jelikož mi nefungoval jak jsem již víše psal, tak jsem radši tu trapárnu, kterou jsem vymyslel smazal
|
||
t4nn3r Profil |
no tazke prihlasovani uzivatelu: popisu tu zakladni myslenku
Clovek vleze , nebo ho to presmeruje na login.php. Tady zjistime jestli je v session ulozeny uzivatel. Kdyz ano (muzeme uzivatele odhlasit atp..) kdyz ne, tak zkontrolujeme post jestli je odeslany formular (zkontrolujeme formular), kdyz neni post - vypiseme formular. if (isset($_SESSION['jeprihlasen'])) { // uzivatel je prihlasen } else { if (isset($_POST['nick'])) // zkontrolujeme jestli je odeslany formular (kontrolovat vsechny pole) { $login = $_POST['nick']; // ziskani udaju z post, pridat nejake osetreni proti sql injection $dotaz = mysql_query("select * from uzivatele where login = '$login' and heslo = '$md5heslo'"); $overeni = mysql_num_rows($dotaz); $row = mysql_fetch_array($dotaz); // ok mame udaje z db if ($overeni) //uzivatel existuje to same jako if ($overeni == 1) { //zpracovani uzivatele } else { //vypsat formular formular(); } } else { // vypsat formular formular(); } } function formular() { // vypsani formulare } psal jsem to tu od boku, takze tam mozna bude nejaka chybka, ale ten princip je rekl bych dobry |
||
kharn Profil * |
#5 · Zasláno: 15. 1. 2010, 23:54:21
A pokud jsou přihlašovací údaje zadány nesprávně tak mě to přesměruje na login a nic nevipíše ne?
|
||
t4nn3r Profil |
#6 · Zasláno: 17. 1. 2010, 11:29:01
pokud zadate spatne udaje, tak si tam pridejte nejakou hlasku...
|
||
Časová prodleva: 14 let
|
0