Autor | Zpráva | ||
---|---|---|---|
kulisek9871 Profil |
Dobrý večer.
Potřeboval bych najít chybu ve zdrojovém kódu přihlášení, které mi nefunguje. Následně jak bude fungovat vytvořit odhlášení a tyto dvě funkce nějak vytvořit na více stránek, tedy tak, aby to fungovalo tak, že když se přihlásím na jedné budu přihlášen na všech a to stejné s ohlášením. Níže dávám zdrojový kód přihlášení. Děkuji všem za rady a pomoc. Je to velký projekt a jediné co chybí je rpávě tohle. Toto je zdrojový kód přihlášení: <?php if(isset($_POST["tlacitko"])){ $tlacitko = $_POST["tlacitko"]; if($tlacitko){ $prihlasovaci_jmeno = $_POST["prihlasovaci_jmeno"]; $prihlasovaci_heslo = $_POST["prihlasovaci_heslo"]; $prihlasovaci_heslo = md5(md5($prihlasovaci_heslo)); include "config.php" mysql_connect("localhost", "root", ""); mysql_select_db("databaze"); $dotaz = mysql_query("SELECT * FROM klienti WHERE prihlasovaci_jmeno='".mysql_real_escape_string($prihlasovaci_jmeno)."' AND prihlasovaci_heslo='$prihlasovaci_heslo' ;"); while($vystup = mysql_fetch_object($dotaz)) { $id = $vystup->id; $prihlasovaci_jmenoDB = $vystup->prihlasovaci_jmeno; $prihlasovaci_hesloDB = $vystup->prihlasovaci_heslo; $email = $vystup->email; } if($prihlasovaci_jmeno == $prihlasovaci_jmenoDB AND $prihlasovaci_heslo == $prihlasovaci_hesloDB){ $_SESSION["id"] = $id; $_SESSION["prihlasovaci_jmeno"] = $prihlasovaci_jmeno; $_SESSION["prihlasovaci_heslo"] = $prihlasovaci_heslo; echo "Byl jsi přihlášen jako $prihlasovaci_jmeno"; } else {echo "Zadali jste nesprávné heslo nebo jméno";} } } ?> <?php if($_SESSION["id"]) { $session_id = $_SESSION["id"]; echo $session_id; mysql_connect("localhost", "root", ""); mysql_select_db("databaze"); mysql_query("SET NAMES UTF-8"); $riadok2 = mysql_query("SELECT * FROM klienti WHERE `id` ='".$session_id."'"); $riadok = mysql_fetch_array($riadok2); ?> Toto je zdrojový kód tabulky přihlášen jako: <table width="200" height="80" align="left" bgcolor="#FFFF00" style="border-radius:40px" > <tr><td><font color="#FFFF00">__</font>Přihlášen jako:</td><td><?=$riadok["prihlasovaci_jmeno"]?></td></tr> <tr><td><a href="*.php">*</a></td></tr> <tr><td><a href="*.php">*</a></td></tr> <tr><td colspan="2" align="right"><input type="submit" name="tlacitko" value="Odhlásit" /></td></tr> </table> Tabulka přihlášení: <p> <form action="" method="POST"> <table width="50" height="10" align="left" border="" bgcolor="#FFFF00" style="border-radius:10px" > <tr><td colspan="2">Přihlašovací jméno:</td></tr> <tr><td colspan="2"><input type="text" name="prihlasovaci_jmeno" /></td></tr> <tr><td colspan="2">Heslo:</td></tr> <tr><td colspan="2"><input type="password" name="prihlasovaci_heslo" /></td></tr> <tr><td><p><center><a href="Registrace.html"><input type="submit" name="tlacitko" value="Registrace" /></a></center></p></td><td><center><input type="submit" name="tlacitko" value="Přihlásit se" /></td></tr> </table> </form> </p> Moderátor Alphard: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
kulisek9871 Profil |
#2 · Zasláno: 8. 11. 2013, 19:47:19
Omlouvám se. Divil jsem se proč mi to píše tka jak to napsalo.
|
||
Alphard Profil |
Kontrolu jména a hesla není třeba duplikovat. Máte to v SQL dotazu, když vám databáze vrátí záznam, uživatel existuje a použil správné heslo. Tak si z db jen vemte jeho id, mysql_fetch_object() lze volat i mimo cyklus, ten while je úplně zbytečný.
Detailně jsem to nečetl, v principu to vypadá dobře, jen tam postrádám session_start(). K identifikaci chyby by mělo stačit pár testovacích výpisů. Ještě jsem zapomněl, že v sessions byste neměl potřebovat ani hash hesla. |
||
kulisek9871 Profil |
#4 · Zasláno: 8. 11. 2013, 20:19:47
Tento zdrojový kód mi nefunguje poradíte mi kde je chyba a vyřešit tento problém? Děkuji je to pro mě důležité
|
||
Alphard Profil |
#5 · Zasláno: 8. 11. 2013, 20:43:29
Poradil jsem vám, jak hledat chybu.
Připojíte se správně k db? – Jestli je povolen výpis chyb a žádnou to nepíše, je to ok. Co vám vrátí databázový dotaz na 13. řádku? – var_dump($vystup);
A podobně pokračovat. Vy si napíšete, že to „nefunguje“ bez bližšího popisu a čekáte radu, ale tak jednoduché to není. Na první pohled prostě žádnou chybu nevidím. Je třeba to otestovat naznačeným stylem. |
||
kulisek9871 Profil |
#6 · Zasláno: 9. 11. 2013, 18:07:13
MŮŽETE TOTO TÉMA SMAZAT. PROBLÉMY JSOU JIŽ VYŘEŠENY. DĚKUJI
|
||
lionel messi Profil |
#7 · Zasláno: 9. 11. 2013, 18:18:40
kulisek9871:
„PROBLÉMY JSOU JIŽ VYŘEŠENY“ A AKO SÚ VYRIEŠENÉ? |
||
kulisek9871 Profil |
#8 · Zasláno: 9. 11. 2013, 19:16:54 · Upravil/a: kulisek9871
Chybělo tam pár věcí, ale už to funguje jak má. Děkuji všem.
Můžete toto téma smazat už je zbytečné. Děkuji |
||
lionel messi Profil |
kulisek9871:
„Chybělo tam pár věcí, ale už to funguje jak má.“ Tých pár vecí, čo poradil [#3] Alphard? Niekedy treba formulovať príspevok konkrétnejšie než áno/nie/zmazať. kulisek9871: „Můžete toto téma smazat už je zbytečné. Děkuji“ Čo súdruhovi prekáža na jeho vlastných vláknach? Prečo by mali byť zmazané, keď neporušujú pravidlá? Ak by sa tu mazali vyriešené problémy, potom by toto najlepšie fórum CZ+SK internetu stratilo zmysel. Témy sa tu nemažú a bežne ani nelockujú. |
||
kulisek9871 Profil |
#10 · Zasláno: 10. 11. 2013, 12:20:50
Takže to je vyřešené. Poradíte mi jak napsat odhlášení když výše vidíte přihlášení i dvě tabulky prosím vás? Děkuji
|
||
shaggy Profil |
#11 · Zasláno: 10. 11. 2013, 12:47:56
kulisek9871:
Ty píšeš, že nikto nie je ochotný ti poradiť (aj keď je to obyčajné klamstvo). Naša ochota poradiť ti je priamo úmerná tvojej ochote urobiť čokoľvek (zatiaľ som z tvojej strany nevidel žiadnu iniciatívu, nemám pocit, že by si si niečo sám vyhľadal, nemám pocit, že by si sám napísal čo i len riadok kódu). Prečo musím ja namiesto teba použiť vyhľadávanie na tomto webe a nájsť správnu odpoveď v prvej téme, ktorú mi nájde? Prečo si nepozrieš tému Nejčastější potíže s PHP (FAQ), kde to máš pekne vysvetlené? Ponúka ti ju priamo pri písaní príspevku. Buď si lenivý a potom si našu radu nezaslúžiš, alebo natoľko neschopný, že proste na programovanie nemáš. |
||
Petr ZZZ Profil |
#12 · Zasláno: 10. 11. 2013, 14:26:43
kulisek9871:
„Takže to je vyřešené.“ Jak?! Co na tomhle nechápeš? Pravidla diskuse JPW a doporučení » 8. Snažte se zajistit, aby po vyřešení vašeho problému bylo z diskuse zřejmé, jak byl vyřešen. |
||
Časová prodleva: 10 let
|
0