आप उपयोग कर सकते हैं mysql_num_rows()
और अपनी क्वेरी को संयोजित करें - फ़ुटनोट देखें
if(isset($_POST["name"], $_POST["password"]))
{
$name = $_POST["name"];
$password = $_POST["password"];
$result1 = mysql_query("SELECT username, password FROM Users WHERE username = '".$name."' AND password = '".$password."'");
if(mysql_num_rows($result1) > 0 )
{
$_SESSION["logged_in"] = true;
$_SESSION["naam"] = $name;
}
else
{
echo 'The username or password are incorrect!';
}
}
अपने वर्तमान कोड को थोड़ा और सुरक्षित बनाने के लिए, इसका उपयोग करें:
$name = stripslashes($_POST["name"]);
$name = mysql_real_escape_string($_POST["name"]);
$password = stripslashes$_POST["password"]);
$password = mysql_real_escape_string($_POST["password"]);
लेकिन तैयार बयानों और पासवर्ड हैशिंग का उपयोग करने के बारे में नीचे दिए गए लिंक को देखें।
फुटनोट:
आपका वर्तमान कोड SQL इंजेक्शन के लिए खुला है . तैयार किए गए स्टेटमेंट का इस्तेमाल करें , या तैयार बयानों के साथ PDO . अधिक जानकारी के लिए उन लिंक पर जाएं।
मैंने देखा है कि आप सादे पाठ में पासवर्ड संग्रहीत कर रहे होंगे। अगर ऐसा है, तो यह बेहद हतोत्साहित करने वाला है।
यदि आप हैं और यह एक लाइव साइट है, तो आप अंततः हैक हो जाएंगे।
मैंने आपको CRYPT_BLOWFISH का उपयोग करने का सुझाव दिया है
या PHP 5.5 का password_hash()
समारोह। PHP <5.5 के लिए password_hash() compatibility pack
का उपयोग करें
.
mysql_*
कार्य बहिष्कार नोटिस:
http://www.php.net/manual/en/intro.mysql .php
यह एक्सटेंशन PHP 5.5.0 के रूप में बहिष्कृत है, और नया कोड लिखने के लिए अनुशंसित नहीं है क्योंकि इसे भविष्य में हटा दिया जाएगा। इसके बजाय, या तो mysqli या PDO_MySQL एक्सटेंशन का इस्तेमाल किया जाना चाहिए। यह भी देखें MySQL API सिंहावलोकन MySQL API चुनते समय और सहायता के लिए।
ये फ़ंक्शन आपको MySQL डेटाबेस सर्वर तक पहुँचने की अनुमति देते हैं। MySQL के बारे में अधिक जानकारी » http://www.mysql.com/ पर मिल सकती है। ।
MySQL के लिए दस्तावेज़ीकरण » http://dev.mysql.com/doc/ पर पाया जा सकता है। ।
संपादित करें: ओपी की मदद करने के लिए (पासवर्ड हैशिंग से संबंधित मेरे द्वारा दिए गए लिंक देखें)।
बदलने का प्रयास करें
if(mysql_num_rows($result1) > 0 )
{
$_SESSION["logged_in"] = true;
$_SESSION["naam"] = $name;
}
else
{
echo 'The username or password are incorrect!';
}
साथ:
while($row=mysql_fetch_assoc($result1))
{
$check_username=$row['username'];
$check_password=$row['password'];
}
if($username == $check_username && $password == $check_password){
echo "Matches.";
}
else{
echo "No match found.";
}