Mi a hiba a php kódommal?
Ez a kód:
<?php
if($_POST["belepes"]){
//üres mezők
if(empty($_POST["felhasznalonev"]) or empty($_POST["jelszo"])){
echo "<div class='error'>Valamit nem töltöttél ki!</div>";
}else{
$connect = mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
$db = mysql_select_db($db_name) or die(mysql_error());
$felhasznalonev = mysql_real_escape_string($_POST["felhasznalonev"]);
$jelszo = mysql_real_escape_string($_POST["jelszo"]);
$asmd5 = md5($jelszo);
$belepesiadatok = mysql_query("SELECT * FROM users WHERE felhasznalonev='$felhasznalonev' and jelszo='$asmd5'");
if(mysql_num_rows($belepesiadatok) > 0){
$_SESSION["fhsz"] = $felhasznalonev;
echo "<div class='success'>Sikeres belépés! Frissítsd le az oldalt!</div>";
}else{
echo "<div class='error'>Sikertelen belépés!</div>";
}
}
}
?>
Az a baj, h belépés után frissíteni kell az oldalt... Hogyan lehetne ezt orvosolni?
mysql_
Nem tudom hogy mi baja van most, de ha még nincs is neki, majd lesz. :)
"Mi a hiba a php kódommal?"
Az egész, de inkább nem mennék most bele a részleteibe.
"Az a baj, h belépés után frissíteni kell az oldalt..."
Miért is kell frissíteni!?
$_SESSION["fhsz"] változóba tárolva van a felhasználó azonosítója.
Innentől ezzel tudod megnézni ki van belépve.
Tényleg az egész egy nagy hiba de ha csak frissíteni akarsz akkor...
header('Location: [link]
vagy
location.reload();
De ha sikeresen belépsz és ráfrissítesz akkor újraakarja küldeni a formot ami megint pointless, szóval ja...
Mondjuk egy session_start() eléggé hiányzik nekem az elejéről.
Meg bizonyára egy csomó dolog hibázik. Pl. az elején szebb lenne egy if (isset($_POST['belepes'])).
mysql_ kicsit elavult. Lásd: [link]
Jelszót meg érdemes megsózni. Egy sima MD5 pl. szivárványtáblával, nyers erővel még úgy törhető: Legalábbis a legtöbb könnyű, vagy rövid jelszó visszaszerezhető belőle, ha valaki hozzáfér az adatbázishoz.Meg úgy az md5-nek vannak sebezhetőségei, célszerűbb lenne valami megbízhatóbb hash algoritmust használni.
Meg még gondolom sok dolgot hozzá lehetne fűzni, attól függően, hogy ki mennyire mélyedt el a témában. De nekem leginkább a session_start() hiányzik.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!