मैंने एक HTML पृष्ठ बनाया है जो उपयोगकर्ता को उपयोगकर्ता नाम और पासवर्ड टाइप करने की अनुमति देता है। जब उपयोगकर्ता लॉगिन बटन पर क्लिक करता है तो मुझे उपयोगकर्ता नाम और पासवर्ड को एक MySQL डेटाबेस में रखना होगा।

जब मैं वेबसाइट का आईपी पता टाइप करके और उपयोगकर्ता नाम और पासवर्ड दर्ज करके इसका परीक्षण करता हूं और लॉगिन बटन दबाता हूं तो यह सिर्फ एक खाली पृष्ठ पर जाता है (यह IPADDRESS/adduser.php है। जब मैं डेटाबेस की जांच करता हूं तो कुछ भी दर्ज नहीं किया जाता है।

मैं उपयोगकर्ता को किसी रिक्त पृष्ठ के बजाय किसी भिन्न पृष्ठ पर पुनर्निर्देशित करना चाहता हूं

मैं इसके लिए काफी नया हूं, लेकिन ऐसा लगता है कि कोई ईंट की दीवार मारा गया है, सोच रहा है कि कोई मदद कर सकता है या नहीं। धन्यवाद।

एचटीएमएल फ़ाइल:

<!DOCTYPE html>
<html>
<style>

/* Header/Title */
.header {
padding: 2px;
text-align: center;
background: rgb(49, 48, 48);
color: white;
font-size: 15px;
}

form {

    border: 5px solid #f1f1f1;
    background-color: white;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    text-align: center;      
}

input[type=text],
input[type=password] {
    width: 40%;
  
    padding: 12px 20px;
    margin: 8px 0;
    display:block;
    border: 1px solid #ccc;
    box-sizing: border-box;              
}   
body{
background-color: rgb(180, 46, 46);
}

button {
    background-color: #265ec5;
    color: white;
    padding: 14px 20px;
    margin: 8px 0;
    border: none;
    cursor: pointer;
    width: 10%;
}

button:hover {
    opacity: 0.8;
}

.imgcontainer {
    padding: 20px;
    text-align: center;     
}

.container {
    padding: 16px;    
}

span.psw {
    float: center;
    padding-top: 16px;
}

</style>

<body>

<div class="header">
    <h2>
        <img src="vs/banner.png"> 
    </h2>

  </div>

    <form action="adduser.php" method="POST">       
    <div class="imgcontainer">
        <img src=
         "LINK TO IMAGE" width="250" height = "70"
            alt="Avatar" class="avatar">
    </div>
    <h2 style="text-align:center;" > Sign In  </h2>
   
    <div class="container">
     
        <label><b> Username</b></label>
        <input type="text" name="user_name" required placeholder="enter valid username"
        oninvalid="this.setCustomValidity('Enter a valid email address')"
        oninput="this.setCustomValidity('')"
        
        />
     
        <label><b>Enter password</b></label>
        <input type="password" placeholder="Enter Password" name="user_password" required place>
     
        <button type="submit">Login</button>
        
    </div>

    <div class="container" style="background-color:#f1f1f1">
        
        <span class="psw">Forgot <a href="#">password?</a></span>
        <p></p>
        <span class="usn_info">You must login using with valid username</span>
    </div>
  </form>

  </body>

 </html>

पीएचपी फ़ाइल:

<?php

$host= 'localhost';
$user = 'root';
$pass = 'admin';
$database = 'logins';
$table='user_login';

$conn = mysqli_connect($host, $user, $pass, $database);


if ($conn) {
die("Database connection failed: Insert User : Error = " . 
mysqli_error());
}

$user_name=$_POST["user_name"];
$user_password=$_POST["user_password"];

$sqlquery = "INSERT INTO user_login (user_name, user_password)
VALUES ('$user_name','$user_password')";

if (mysqli_query($conn, $sqlquery))
{
    echo "user added";
}

mysqli_close($conn);

?> 
-1
McCloud54 30 जुलाई 2021, 22:22

2 जवाब

सबसे बढ़िया उत्तर

चेतावनी: उत्पादन में इस कोड का उपयोग न करें, SQL इंजेक्शन और पोस्ट मानों को साफ करने के बारे में पढ़ें।

आपके PHP चर नाम हर जगह हैं। एक सेकंड में आप $username को डेटाबेस लॉगिन के रूप में घोषित कर रहे हैं, लेकिन इन्सर्ट स्टेटमेंट में आप $username भी डाल रहे हैं जो आपके डेटाबेस में यूजरनेम "admin" डालेगा। कृपया इससे सावधान रहें।

शुरुआत के लिए, फॉर्म टैग में "एक्शन =" यह निर्धारित करता है कि आपका उपयोगकर्ता फॉर्म जमा करने के बाद कहां रीडायरेक्ट करेगा। आपके मामले में, adduser.php। तो सुनिश्चित करें कि फॉर्म सबमिशन को संभालने के लिए कोई भी PHP कोड adduser.php के अंदर है।

Adduser.php

<?php

$hostname= "localhost";
$username = "admin"
$password = "admin";
$db = "logins";

$dbconnect=mysqli_connect($hostname,$username,$password,$db);

if ($dbconnect->connect_error) {
die("Database connection failed: " . $dbconnect->connect_error);
}

if(isset($_POST['submit'])) {
$user_name=$_POST['username'];
$user_password=$_POST['psw'];

$query = "INSERT INTO user_login (user_name, user_password)
VALUES ('$user_name', '$user_password')";

if ($dbconnect->query($query) === TRUE) {
echo "New record created successfully";
}

$conn->close();

}
?>

यदि सब कुछ सही है, तो फ़ॉर्म सबमिट करने पर आपको adduser.php पर रीडायरेक्ट कर दिया जाएगा और यह संदेश प्रतिध्वनित होगा: "नया रिकॉर्ड सफलतापूर्वक बनाया गया"।

-1
saytricky 30 जुलाई 2021, 19:47

अपनी php फ़ाइल में, डेटा-बेस में डेटा डालने के बाद, ये 2 कमांड लिखें:

header("www.the-page-you-want-to-go-to.com");
exit();
-2
php123 30 जुलाई 2021, 19:40