עבור לתוכן

[PHP] בעיה בבדיקת משתמש וסיסמה

Featured Replies

פורסם

היי אנשים,

ניסיתי לעשות משהו כזה:


<?php
$con=mysqli_connect("**************","*************","***************","************");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
echo $_POST[login] . " | " . $_POST[password];
$user = $_POST[login];
$pass = $_POST[password];
$result = mysqli_query($con,"SELECT * FROM ***** WHERE id=1");


if($row['user']==$user && $row['pass']==$pass)
{
echo "good.";
}
else
{
echo "bad.";
}


mysqli_close($con);
?>

אני מצליח להעביר את שם המשתמש והסיסמה בPOST אבל מישום מה אני לא מצליח לעשות את ההשוואה.

יש לציין שבDB יש רק רשומה אחת - ID,USER ו- PASS

* שיניתי לכוכביות מטעמים של אבטחה.

אז מה הבעיה? מה אני לא עושה נכון?

פורסם

אתה מנסה לקבל את השדות מהטופס בצורה כזו

$_POST[login]

אתה צריך לשים את שם השדה בגרש בודד, כמו שעשית עם השדות ממסד הנתונים, ככה:

$_POST['login']

כנ"ל עם הסיסמה.

פורסם

^^^ האמת שזאת לא ממש בעיה, ברוב המוחץ של המקרים זה יעבוד גם ככה.

הבעיה היא שאתה מחפש ב-$row אבל $row בכלל לא קיים.

תוסיף לפני ה-if שורה בסגנון:


$row = mysqli_fetch_assoc($result);

פורסם
  • מחבר
^^^ האמת שזאת לא ממש בעיה, ברוב המוחץ של המקרים זה יעבוד גם ככה.

הבעיה היא שאתה מחפש ב-$row אבל $row בכלל לא קיים.

תוסיף לפני ה-if שורה בסגנון:


$row = mysqli_fetch_assoc($result);

מעולה, תודה רבה!

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים