Autor | Zpráva | ||
---|---|---|---|
walkerman Profil |
#1 · Zasláno: 16. 6. 2013, 17:44:55
Zdravím ať dělám co dělám nefunguje mi ověření zda-li je přihlášen uživatel, poradil by mi někdo nebo zhotovil script ?
Registrace <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Formulář</title> <link href="registrace.css" rel="stylesheet" type="text/css" /> </head> <body> <?php if(isset($_POST["tlacitko"])){ $nick = $_POST["nick"]; $heslo = $_POST["heslo"]; $potvrd_heslo = $_POST["potvrd_heslo"]; $email = $_POST["email"]; if($heslo == $potvrd_heslo){ if($nick AND $email){ $heslo = md5(md5($heslo)); include "./config.php"; $ip = $_SERVER["REMOTE_ADDR"]; $zapis = mysql_query("INSERT INTO uzivatele SET nick='$nick', heslo='$heslo', email='$email', ip='$ip', opravneni='1' ;"); echo "Registrace proběhla v pořádku. <a href='hlavni.php'>Pokračujte kliknutím zde </a>"; } else { echo "Nezadal jsi nick nebo email."; } } else { echo "Hesla nejsou shodná!"; } } ?> <p> <form action="<?php $PHP_SELF; ?>" method="POST"> <table> <tr><td>Nick: </td><td><input type="text" name="nick" /></td></tr> <tr><td>Heslo: </td><td><input type="password" name="heslo" /></td></tr> <tr><td>Potvrď Heslo: </td><td><input type="password" name="potvrd_heslo" /></td></tr> <tr><td>E-mail: </td><td><input type="text" name="email" /></td></tr> <tr><td><input type="submit" name="tlacitko" value="Registrovat" class="submit"/></td></tr> </table> </form> </p> </body> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Formulář</title> <link href="prihlaseni.css" rel="stylesheet" type="text/css" /> </head> <body> <?php if(isset($_POST["tlacitko"])){ $nick = $_POST["nick"]; $heslo = $_POST["heslo"]; $heslo = md5(md5($heslo)); include "./config.php"; $dotaz = mysql_query("SELECT * FROM uzivatele WHERE nick='".mysql_real_escape_string($nick)."' AND heslo='$heslo' ;"); while($vystup = mysql_fetch_object($dotaz)) { $id = $vystup->id; $nickDB = $vystup->nick; $hesloDB = $vystup->heslo; $email = $vystup->email; $opravneni = $vystup->opravneni; } if($nick == $nickDB AND $heslo == $hesloDB){ $_SESSION["id"] = $id; $_SESSION["nick"] = $nick; $_SESSION["email"] = $email; $_SESSION["opravneni"] = $opravneni; echo "Byl jsi přihlášen jako $nick <a href='hlavni.php'>Pokračujte kliknutím zde </a> nebo se odhlásit zde: <a href='odhlaseni.php'>Odhlásit</a> " ; } } ?> <center> <p> <form action="<?php $PHP_SELF; ?>" method="POST"> <table> <div> Zadejte své přihlašovací údaje: </div> <br> <tr><td>Nick:</td><td><input type="text" name="nick" /></td></tr> <tr><td>Heslo:</td><td><input type="password" name="heslo" /></td></tr> <center> <tr><td></td><td><input type="submit" value="Přihlásit se" name="tlacitko" class="submit" /></td></tr> </form> <form action="registrace.php" method="POST"> <div><tr><td><br><td><div><a href="registrace.php"> <input type="submit" value="Zaregistrovat" name="tlacitko" class="submit" /> </a></div></div> </td></tr></center> </form> </table> </p> </center> </body> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Hlavní stránka</title> <link href="style.css" rel="stylesheet" type="text/css" /> <br> <center> <h1><div><a href="hlavni.php"><img src="logo.png" border="0" class="img"></a></div> </h1> </center> <br> <br><br><br> <center> <!-- Menu --> <div id="menu" align="center"> <a href="hlavni.php">Domů</a> | <a href="komentare.php">Komentáře</a> | <a href="komentare_vypis.php">Zobrazit napsané komentáře</a> | <a href="odhlaseni.php">Odhlášení</a> | </div> </center> </head> <body> Děkuji všem co se na to podívají, poradí či mi z hotový script. |
||
peta Profil |
Jake chyby to teda pise?
Ktera cast funguje a ktera se neprovede? Jake jsou hodnoty promennych pred a po? * Treba muj oblibeny zpusob je kazdy druhy radek echo 1; echo 2; atd. Tak zjistim, ktere echo se mi jeste zobrazi a ktere uz ne. Pak zjistuji proc. * Vypis promennych je treba var_dump($promenna); echo '<br>'; * U mysql prikazu nemas or die, viz treba example 1 http://cz1.php.net/manual/en/function.mysql-query.php. * Nemas tam ani error_reporting. --- A jo, chybka, do $_SESSION pri prihlaseni ukladas (ja koukal na registraci), jen nepouzivas session_start. mozna by bylo fajn obe casti prepsat do funkci a po uspesne registraci uzivatele hnedka prihlasit. |
||
RockFire Profil |
#3 · Zasláno: 17. 6. 2013, 09:16:05
peta:
„Jake chyby to teda pise?“ Žádné, je potřeba si ten příspěvek přečíst. walkerman: 1) Určitě všude kde pracuješ se session musíš ještě před doctype umístit <?php session_start(); ?> 2) Kontroluj na každé stránce, kde se kontroluje přihlášení, jestli existuje session, kterou při přihlášení vytváříš. |
||
peta Profil |
#4 · Zasláno: 17. 6. 2013, 09:46:24
RockFire: V prispevku nic o vypisu chyb neni, pouze nefunguje. Ani v php kodu neni error_reporting.
|
||
walkerman Profil |
#5 · Zasláno: 17. 6. 2013, 14:43:58
Bohužel jsem to ani trošku nepochopil, nemohl by mi někdo pomoct vytvořit script ?
|
||
Fisir Profil |
Reaguji na walkermana [#5]:
Právě ti tu pomáháme. Na začátek každé stránky, která nějak pracuje s přihlášením nebo registrací dej <?php session_start(); ?> , tím aktivuješ práci se sessions. Na každou stránku, která má být dostupná jen po přihlášení vlož na začátek tento kód:
<?php session_start(); if(!$_SESSION["nick"]){ die("Nejste prihlasen!"); }; ?> |
||
Časová prodleva: 4 dny
|
|||
walkerman Profil |
#7 · Zasláno: 21. 6. 2013, 14:30:45 · Upravil/a: walkerman
Fisir:
Ať to zkouším jak chci pořád mi to píše "nejste přihlášen" Hotovo. |
||
Časová prodleva: 11 let
|
0