Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कैननिकल:HTML फॉर्म डेटा को MySQL डेटाबेस में कैसे सेव करें

सबसे पहले आपके PHP या HTML पेज को एक ऐसा फॉर्म तैयार करना चाहिए जिससे यूजर इंटरैक्ट कर सके। सबसे सरल रूप में यह कुछ इस प्रकार होगा:

<html>
<body>
 <form method="post" action="yourscript.php">
  <input type="text" name="yourfield">
  <input type="submit" name="youraction" value="save">
 </form>
</body>
</html>

यह आपके उपयोगकर्ता को सिंगल इनपुट फ़ील्ड और 'सेव' बटन के साथ एक सरल रूप देगा। सामग्री के लिए 'सहेजें' बटन पर क्लिक करने के बाद POST का उपयोग करके आपके 'yourscript.php' पर भेजा जाएगा तरीका।

yourscript.php निम्नलिखित को लागू करना चाहिए:

  1. अपने फ़ॉर्म से इनपुट स्वीकार करें और संसाधित करें।
  2. अपने MySQL डेटाबेस से कनेक्ट करें।
  3. डेटाबेस में स्टोर करें।

सबसे सरल रूप में यह होगा:

<!doctype html>
<html>
 <head>
  <title>Process and store</title>
 </head>
<body>
<?php

// Check that user sent some data to begin with. 
if (isset($_REQUEST['yourfield'])) {

    /* Sanitize input. Trust *nothing* sent by the client.
     * When possible use whitelisting, only allow characters that you know
     * are needed. If username must contain only alphanumeric characters,
     * without puntation, then you should not accept anything else.
     * For more details, see: https://stackoverflow.com/a/10094315
     */
    $yourfield=preg_replace('/[^a-zA-Z0-9\ ]/','',$_REQUEST['yourfield']);

    /* Escape your input: use htmlspecialchars to avoid most obvious XSS attacks.
     * Note: Your application may still be vulnerable to XSS if you use $yourfield
     *       in an attribute without proper quoting.
     * For more details, see: https://stackoverflow.com/a/130323
     */
    $yourfield=htmlspecialchars($yourfield);


} else {
    die('User did not send any data to be saved!');
}


// Define MySQL connection and credentials
$pdo_dsn='mysql:dbname=yourdatabase;host=databasehost.example.com';
$pdo_user='yourdatabaseuser';     
$pdo_password='yourdatabaspassword';  

try {
    // Establish connection to database
    $conn = new PDO($pdo_dsn, $pdo_user, $pdo_password);

    // Throw exceptions in case of error.
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Use prepared statements to mitigate SQL injection attacks.
    // See https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php for more details
    $qry=$conn->prepare('INSERT INTO yourtable (yourcolumn) VALUES (:yourvalue)');

    // Execute the prepared statement using user supplied data.
    $qry->execute(Array(":yourvalue" => $yourfield));

} catch (PDOException $e) {
    echo 'Error: ' . $e->getMessage() . " file: " . $e->getFile() . " line: " . $e->getLine();
    exit;
}
?>
<form method="post">

 <!-- Please note that the quotes around next <?php ... ?> block are important
      to avoid XSS issues with poorly escaped user input. For more details:
      https://stackoverflow.com/a/2894530
  -->
 <input type="text" name="yourfield" value="<?php print $yourfield; ?>">
 <input type="submit" name="youraction" value="save">
</form>

</body>
</html>

यहां मुख्य उपाय के लिए तैयार कथनों का उपयोग करना है। SQL इंजेक्शन हमलों से बचें .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक दिन में काम करने के कुल घंटे पाएं mysql

  2. चयन का उपयोग करते समय MySQL बिट फ़ील्ड मान नहीं देख सकता

  3. MySQL भंडारण अवधि समय - डेटाटाइप?

  4. पहले हटाए गए नंबर को ऑटो इंक्रीमेंट भरें

  5. MySQL:MySQL रूट पासवर्ड को कैसे रीसेट या बदलें?