פורסם 2013 בספטמבר 2812 שנים היי אנשים,ניסיתי לעשות משהו כזה:<?php$con=mysqli_connect("**************","*************","***************","************");// Check connectionif (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* שיניתי לכוכביות מטעמים של אבטחה.אז מה הבעיה? מה אני לא עושה נכון?
פורסם 2013 בספטמבר 2812 שנים אתה מנסה לקבל את השדות מהטופס בצורה כזו$_POST[login]אתה צריך לשים את שם השדה בגרש בודד, כמו שעשית עם השדות ממסד הנתונים, ככה:$_POST['login']כנ"ל עם הסיסמה.
פורסם 2013 בספטמבר 2812 שנים ^^^ האמת שזאת לא ממש בעיה, ברוב המוחץ של המקרים זה יעבוד גם ככה.הבעיה היא שאתה מחפש ב-$row אבל $row בכלל לא קיים.תוסיף לפני ה-if שורה בסגנון:$row = mysqli_fetch_assoc($result);
פורסם 2013 בספטמבר 2912 שנים מחבר ^^^ האמת שזאת לא ממש בעיה, ברוב המוחץ של המקרים זה יעבוד גם ככה.הבעיה היא שאתה מחפש ב-$row אבל $row בכלל לא קיים.תוסיף לפני ה-if שורה בסגנון:$row = mysqli_fetch_assoc($result);מעולה, תודה רבה!
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.