Autor | Zpráva | ||
---|---|---|---|
ExisteR Profil |
Zdravím potřeboval bych pomoc jak vytvořit registrační script v PHP i s kodováním do PASSWORD více pochopitelné na obrázku - http://l4d-files.7u.cz/l2/nahled.bmp
Ukázky co už mám vytvořené a funguje skvěle až nato kodovaní :) vše mi zapisuje do db tak jak napíšu ale potreboval bych fakt to kodování :) Registrace.php <html> <body> <form action="insert.php" method="post"> Jméno: <input type="text" name="jmeno" /> Heslo: <input type="password" name="heslo" /> <input type="submit" /> </form> </body> </html> Insert.php <?php $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("web", $con); $sql="INSERT INTO uzivatele (heslo, jmeno) VALUES ('$_POST[heslo]','$_POST[jmeno]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con) ?> |
||
panther Profil |
#2 · Zasláno: 15. 3. 2011, 21:23:47
ExisteR:
„The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications. For that purpose, consider MD5() or SHA1() instead.“ (zdroj). |
||
Taps Profil |
#3 · Zasláno: 15. 3. 2011, 21:25:26 · Upravil/a: Taps
ExisteR:
<?php $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("web", $con); $sql="INSERT INTO uzivatele (heslo, jmeno) VALUES ('".md5($_POST['heslo'])."','".$_POST['jmeno']."')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con) ?> |
||
ExisteR Profil |
#4 · Zasláno: 15. 3. 2011, 21:31:19
ok díky :) a teď potřebuju když se chcu lognout tak aby se používalo to md5 heslo
login.php <?php session_start(); if(isset($_POST[odeslat])) { if(!empty($_POST[jmeno])) { $j = $_POST[jmeno]; } else { $j = FALSE; $zprava = "Nebylo zadáno jméno.<br>"; } if(!empty($_POST[heslo])) { $h = $_POST[heslo]; } else { $h = FALSE; $zprava .= "Nebylo zadáno heslo.<br>"; } if($j != FALSE AND $h != FALSE) { require_once('./phphandler/mysql_pripojit.php'); $dotaz = "SELECT jmeno, admin FROM uzivatele WHERE jmeno = '$j' AND heslo = PASSWORD('$h')"; $vysledek = mysqli_query($dbc, $dotaz); if(mysqli_num_rows($vysledek) == 1) { $radek = mysqli_fetch_array($vysledek, MYSQLI_NUM); $_SESSION[jmeno] = $radek[0]; $_SESSION[admin] = $radek[1]; } else { echo("Zadali jste chybné jméno nebo heslo."); } } } echo($zprava); ?> |
||
puzzle Profil |
#5 · Zasláno: 15. 3. 2011, 21:39:07
Já bych to udělal tak:
1. Vytahneš si to heslo z databáze 2. pak to heslo co zadáš do inputu zahasuješ md5($_POST['heslo']) 3. no a pak to porovnáš ;-) |
||
1Pupik1989 Profil |
#6 · Zasláno: 15. 3. 2011, 21:42:44
Rozhodně bych udělat ještě jeden input pro opakování hesla. Přece jen se někdo může překliknout a už lítají e-maily typu "Proč mi nejde heslo?"
sha1($_POST['heslo'] . md5($_POST['heslo'])) ExisteR: Login bude vypadat stejně jako registrace, takže obalené funkcí na kódování totožnou z registrace. |
||
ExisteR Profil |
#7 · Zasláno: 15. 3. 2011, 21:59:39
Vyresil sem to tak ze na 26 řádku což je
$dotaz = "SELECT jmeno, admin FROM uzivatele WHERE jmeno = '$j' AND heslo = PASSWORD('$h')"; |
||
Časová prodleva: 15 let
|
0