PHP login script nem működik?
<?php
if(isset($_POST['login_submit'])){
include('include/connect.php');
$password = md5($_POST['login_password']);
$username = $_POST['login_name'];
$result = mysqli_query($con,"SELECT PASSWORD, login FROM account WHERE login='$username'");
while($row = mysqli_fetch_array($result)) {
$nameright=$row['login'];
$passwordright=$row['PASSWORD'];
if($nameright != $username){echo "Felhasználónév, vagy a jelszó érvénytelen!";}
elseif($passwordright != $password){echo "Felhasználónév, vagy a jelszó érvénytelen!";}
elseif( !ctype_alnum( $username ) ){ echo "A név speciális karaktereket tartalmaz!"; }
else{
$_SESSION['username']=$username;
$_SESSION['logged_in']="true";
Header( "Location: [link] );
exit;}}}
?>
Probléma: nem jelentkezik be.. azaz, a $_SESSION['logged_in']="true"; nem, vagy rosszul fut le.. szerintetek mi a hiba?
És miért kell ciklusban ellenőrizni a logint, ha a query-ben username-re szűrsz? Lehet több user is azonos username-el a rendszerben?
Plusz SQL injection ellen védhetnéd az adatbázist. Nem illesztjük csak így be a postolt adatokat a query-be.
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!