Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

Python CGI प्रोग्राम से MySQL के साथ इंटरैक्ट कैसे करें

Python CGI स्क्रिप्ट का उपयोग करके MySQL डेटाबेस के साथ यूज़र लॉगिन सिस्टम बनाने का पूरा उदाहरण नीचे दिया गया है।

1. HTML लॉगिन फॉर्म (login.html)

<html>
<body>
<form action="login.py" method="get">
  email: <input type="text" name="e1">
  password: <input type="password" name="p1">
  <input type="submit" value="register">
</form>
</body>
</html>

2. Python CGI स्क्रिप्ट (login.py)

#!C:\Python27\python.exe
import MySQLdb
import cgi
import Cookie

# डेटाबेस कनेक्शन खोलें
db = MySQLdb.connect("localhost", "root", "", "student")

# कर्सर ऑब्जेक्ट तैयार करें
cursor = db.cursor()

# फॉर्म डेटा प्राप्त करें
data = cgi.FieldStorage()
email = data.getvalue('e1')
password = data.getvalue('p1')

# SQL क्वेरी तैयार करें
sql = "SELECT id, email, password FROM user WHERE email='%s' AND password='%s'" % (email, password)

try:
    # SQL कमांड निष्पादित करें
    if cursor.execute(sql):
        db.commit()
        
        # कुकी सेट करें
        c = Cookie.SimpleCookie()
        c['mou'] = email
        c['mou']['expires'] = 24 * 60 * 60
        
        # हेडर प्रिंट करें (कुकी के साथ)
        print(c)
        print("Content-type: text/html")
        print('''<html>
<head>
<title>Hello World - First CGI Program</title>
</head>
<body>
<h2>Successfully Login</h2>
</body>
</html>''')
    else:
        db.commit()
        print("Content-type: text/html")
        print("<html><body><h2>Fail</h2></body></html>")
        
except Exception as e:
    # त्रुटि होने पर रोलबैक करें
    db.rollback()
    print("Content-type: text/html")
    print("<html><body><h2>Error: %s</h2></body></html>" % str(e))
finally:
    # सर्वर से डिस्कनेक्ट करें
    db.close()

महत्वपूर्ण सुरक्षा नोट

उपरोक्त कोड केवल शैक्षिक उद्देश्य के लिए है। वास्तविक एप्लिकेशन में कभी भी:

  • SQL इंजेक्शन रोकने के लिए पैरामीटराइज़्ड क्वेरी (Parameterized Queries) का उपयोग करें
  • पासवर्ड को हैश करके स्टोर करें (bcrypt, Argon2 आदि)
  • Python 2.7 के बजाय Python 3.x और mysql-connector-python या PyMySQL का उपयोग करें
  • CGI के बजाय आधुनिक फ्रेमवर्क (Flask, Django, FastAPI) अपनाएं
  1. पायथन में पैटर्न कैसे प्रिंट करें पायथन में पैटर्न कैसे प्रिंट करें

    पायथन में पैटर्न्स को नेस्टेड फॉर लूप्स का उपयोग करके प्रिंट किया जा सकता है। बाहरी लूप का उपयोग पंक्तियों की संख्या के माध्यम से इटरेट करने के लिए किया जाता है जबकि आंतरिक लूप का उपयोग स्तंभों की संख्या को संभालने के लिए किया जाता है। प्रिंट स्टेटमेंट को आवश्यकतानुसार विभिन्न पैटर्न बनाने के लिए मॉ

  1. Python Program कैसे चलाएं? Python Program कैसे चलाएं?

    Code लिखने के बाद, हमें code को execute करके output प्राप्त करने के लिए run करने की आवश्यकता होती है। Program चलाने पर, हम जांच सकते हैं कि लिखा गया code सही है और desired output produce करता है। Python program चलाना काफी आसान काम है। IDLE पर चलाएं IDLE पर python program चलाने के लिए, दिए गए steps क

  1. पायथन में टेक्स्ट एरिया डेटा को CGI प्रोग्राम में पास करना पायथन में टेक्स्ट एरिया डेटा को CGI प्रोग्राम में पास करना

    TEXTAREA एलिमेंट का उपयोग तब किया जाता है जब बहु-लाइन टेक्स्ट को CGI प्रोग्राम में पास करना होता है।उदाहरणएक TEXTAREA बॉक्स वाले फॉर्म के लिए उदाहरण HTML कोड यहां दिया गया है - Type your text here... इस कोड का परिणाम निम्नलिखित फॉर्म है -नीचे textarea.cgi स्क्रिप्ट है जो वेब ब्राउज़र द्वारा दिए ग