কম্পিউটার টিউটোরিয়াল

MySQL-এর সাথে ইন্টারঅ্যাক্ট করার জন্য Python CGI প্রোগ্রাম লেখার পদ্ধতি

পাইথন CGI স্ক্রিপ্ট ব্যবহার করে MySQL ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করার একটি উদাহরণ নিচে দেওয়া হল। এখানে একটি লগইন সিস্টেম তৈরি করা হয়েছে।

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>

login.py

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

# ডাটাবেস সংযোগ খোলা
db = MySQLdb.connect("localhost","root","","student" )

# কার্সর অবজেক্ট তৈরি
cursor = db.cursor()

data = cgi.FieldStorage()
a = data.getvalue('e1')
b = data.getvalue('p1')

# SQL কোয়েরি প্রস্তুত
sql = "select id,email,password from user where email='"+a+"' AND password='"+b+"'"

try:
    # SQL কমান্ড এক্সিকিউট
    if cursor.execute(sql):
        # ডাটাবেসে পরিবর্তন কমিট
        db.commit()
        c = Cookie.SimpleCookie()
        # মান অ্যাসাইন
        c['mou'] = a
        # মেয়াদোত্তীর্ণ সময় সেট
        c['mou']['expires'] = 24*60*60
        # হেডার প্রিন্ট, কুকির সাথে শুরু
        print(c)
        print("Content-type: text/html")
        print('''<html> <head> <title>Hello Word - First CGI Program</title> </head> <body> <h2>successfully login</h2> </body> </html>''')
    else:
        db.commit()
        print("Content-type: text/html")
        print("<html>")
        print("<body>")
        print("<h2>fail</h2>")
        print("</body>")
        print("</html>")
except:
    # ত্রুটি হলে রোলব্যাক
    db.rollback()
    # সার্ভার থেকে ডিসকানেক্ট
    db.close()

গুরুত্বপূর্ণ নোট

  • এই উদাহরণে Python 2.7 এবং MySQLdb ব্যবহার করা হয়েছে। আধুনিক Python 3-এ mysql-connector-python বা PyMySQL ব্যবহার করা উচিত।
  • SQL ইনজেকশন প্রতিরোধের জন্য প্যারামিটারাইজড কোয়েরি ব্যবহার করুন।
  • পাসওয়ার্ড প্লেইন টেক্সটে সংরক্ষণ করা নিরাপদ নয়; হ্যাশিং ব্যবহার করুন।
  1. পাইথনে প্যাটার্ন প্রিন্ট করার পদ্ধতি

  2. পাইথন প্রোগ্রাম কীভাবে রান করবেন?

  3. পাইথনে টেক্সট এরিয়া ডেটা CGI প্রোগ্রামে পাস করা

  4. পাইথন CGI প্রোগ্রামিং-এ প্রথম Hello World প্রোগ্রাম কীভাবে লিখবেন?