Geri çağırış Lim10Ata\Flatix\xfwidgets::gethtml yanlışdır (error_invalid_class).

Forumda sizi görməkdə şadıq 👋,

Forum məzmununa və bütün xidmətlərimizə daxil olmaq üçün qeydiyyatdan keçməli və ya foruma daxil olmalısınız. Foruma üzv olmaq tamamilə ödənişsizdir.

Qeydiyyatdan keç

PHP fərqi

2

Shukur_23

Tanınmış istifadəçi
Silver istifadeci
Qoşuldu
6 Sen 2022
Mesajlar
142
Reaksiya hesabı
27
Xallar
28
salam,

PHP:
 if(isset($_POST["button"])){ #isset


$login=$_POST["login"];


$pass=$_POST["pass"    ];


$req=$conn->query("select pass from users where login='$login'")->fetch_assoc();


if(password_verify($pass,$req["pass"])){


echo "ok";
exit;


}
else {
echo "sehv oldu";
}


} #isset
echo '<form method="POST" action="">';


echo 'Login: <input type="text" name="login"><br>';


[B]echo[/B] 'Sifre: <input type="text" name="pass"><br>';


[B]echo[/B] '<input type="submit" name="button" value="DaxiL oL"><br>';


Bu yuxardakı kimi mysqla sorğu göndərəndə niyə işləyir? $req hissəsinə nəzər yetirin




Amma bu cür yazanda işləmir fərq nədi xaiş izah edin

PHP:
if(isset($_POST["button"])){ #isset

$login=$_POST["login"];

$pass=$_POST["pass"    ];


$req=$conn->query("select * from users where login='$login' and pass='$pass'")->fetch_assoc();

if(password_verify($pass,$req["pass"])){

echo "ok";
exit;

}
else {
echo "sehv oldu";
}

} #isset
echo '<form method="POST" action="">';

echo 'Login: <input type="text" name="login"><br>';

[B]echo[/B] 'Sifre: <input type="text" name="pass"><br>';

[B]echo[/B] '<input type="submit" name="button" value="DaxiL oL"><br>';
 
Sonuncu dəfə moderator tərəfindən redaktə edilib:
3

xson

Try hard
Moderator
Qoşuldu
24 Avg 2022
Mesajlar
251
Reaksiya hesabı
62
Xallar
28
Məkan
Baku, Azerbaijan
Web sayt
qutb.az
Ekrana bir xəta verirsə deyərsən, amma çox böyük ehtimalla basadan məlumat alanda problem yaşayırsan password verify dan yuxarida print_r($req); yaz ekrana baxaq gorek her ikisinde bize hansi melumati getirir
 
2

Shukur_23

Tanınmış istifadəçi
Silver istifadeci
Qoşuldu
6 Sen 2022
Mesajlar
142
Reaksiya hesabı
27
Xallar
28
Ekrana bir xəta verirsə deyərsən, amma çox böyük ehtimalla basadan məlumat alanda problem yaşayırsan password verify dan yuxarida print_r($req); yaz ekrana baxaq gorek her ikisinde bize hansi melumati getirir
Yoxlatmışam fərqi var ancaq dərindən anlaya bilmirəm
 
3

LOCALHOST

Məhşur istifadəçi
WebMaster
Qoşuldu
3 Sen 2022
Mesajlar
274
Reaksiya hesabı
123
Xallar
43
Sql sorğusunda birində
"Select * from users" yazmısan birində isə
"Select pass from users"

* (ulduz) - bu o deməkdir ki əmr verirsən ki get users tablesində bütün columnları seç və göndərdiyim parametrləri yoxla

2 cidə isə yalnız pass adlı columnu seçdiyin üçün sənin parametr olaraq göndərdiyin login və parolu 1 sütunda yəni "pass" - da axtarır və connect baş tutmur
 
2

Shukur_23

Tanınmış istifadəçi
Silver istifadeci
Qoşuldu
6 Sen 2022
Mesajlar
142
Reaksiya hesabı
27
Xallar
28
Sql sorğusunda birində
"Select * from users" yazmısan birində isə
"Select pass from users"

* (ulduz) - bu o deməkdir ki əmr verirsən ki get users tablesində bütün columnları seç və göndərdiyim parametrləri yoxla

2 cidə isə yalnız pass adlı columnu seçdiyin üçün sənin parametr olaraq göndərdiyin login və parolu 1 sütunda yəni "pass" - da axtarır və connect baş tutmur
Qaqa birinci select pass from users where login='$login' iwleyir ancaq select * from users where login='$login' and pass='$pass' yazanda password_verify iwlemir, pass columnda iwleyir
 
2

Shukur_23

Tanınmış istifadəçi
Silver istifadeci
Qoşuldu
6 Sen 2022
Mesajlar
142
Reaksiya hesabı
27
Xallar
28
Ekrana bir xəta verirsə deyərsən, amma çox böyük ehtimalla basadan məlumat alanda problem yaşayırsan password verify dan yuxarida print_r($req); yaz ekrana baxaq gorek her ikisinde bize hansi melumati getirir
$req i print edende bazada ki melumatlar cixir, forma esasen
 
2

HERAKL

Tanınmış istifadəçi
istifadeci
Qoşuldu
31 Avg 2022
Mesajlar
116
Reaksiya hesabı
17
Xallar
18
Salam umumiyyetnen pdo istifade ele. Prepeare ile ele. Sql injeksiyasi da problem olmuyajax.
 
2

HERAKL

Tanınmış istifadəçi
istifadeci
Qoşuldu
31 Avg 2022
Mesajlar
116
Reaksiya hesabı
17
Xallar
18
Xetani at baxaq yene de bu koda sql error verir phpde hecne gorsenmirse
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
235
Reaksiya hesabı
117
Xallar
43
Asagidaki php kodunu oz kodunuza gore uygunlasdira bilersiniz, ugurlar.

PHP:
$stmt = $conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $_POST['email']);
$stmt->execute();
$user = $stmt->get_result()->fetch_assoc();

if ($user && password_verify($_POST['pass'], $user['pass']))
{
    // credentials are OK, add user in a session etc...;
} else {
    // login failed;
}
 
Son redaktə:
2

Shukur_23

Tanınmış istifadəçi
Silver istifadeci
Qoşuldu
6 Sen 2022
Mesajlar
142
Reaksiya hesabı
27
Xallar
28
Herkese tewekkur edirem
 
2

SoxulcanPRO

Aktiv istifadəçi
WebMaster
Qoşuldu
26 Mar 2023
Mesajlar
80
Reaksiya hesabı
38
Xallar
18
PHP:
if(isset($_POST["button"])) {
    $login = $_POST["login"];
    $pass = $_POST["pass"];

    // İstifadəçinin qeydini verilənlər bazasından çıxarırıq
    $req = $conn->query("SELECT * FROM users WHERE login='$login'")->fetch_assoc();

    // Verilənlər bazasındakı parolun istifadəçinin daxil etdiyi parola uyğun olub olmadığını yoxlayırıq.
    if($req && password_verify($pass, $req["pass"])) {
        echo "Giriş uğurlu!";
        exit;
    } else {
        echo "İstifadəçi adı və ya parol səhvdir!";
    }
}

echo '<form method="POST" action="">';
echo 'Login: <input type="text" name="login"><br>';
echo 'Sifre: <input type="password" name="pass"><br>';
echo '<input type="submit" name="button" value="Daxil oL"><br>';


/*

Yuxarıdakı kodda verilənlər bazasındakı parol istifadəçinin password_verify() funksiyasından istifadə edərək daxil etdiyi parolla müqayisə edilir. Həmçinin, parol sahəsi verilənlər bazasında saxlandıqda onun password_hash() funksiyasından istifadə etməklə şifrələndiyi güman edilir.

Həmçinin, giriş teqində type atributu kimi “mətn” əvəzinə “parol”dan istifadə parolun oxunmasının qarşısını alır və daha təhlükəsiz istifadəni təmin edir.

*/
 
Üst