ভুমিকাঃ
আস্সলামুয়ালাইকুম। আশা করি আল্লাহ্র রহমতে আপনারা সবাই ভাল আছেন। পর সমাচার আমি আবার আপনাদের সাথে কিছু শেয়ার করার জন্য আসলাম।এই টিউনটি শুরু করার আগে
টিউনটি পড়ে নিলে ভাল হয়। না পড়লে আমরা সামনে যেতে পারব না। মনে করি সবার টিউনটি পড়া হয়ে গেছে। তো সামনে চলুন।
এই টিউনে কি কি থাকবে?
- কিভাবে এইচটিএমএল এ ফর্ম ডিজাইন করা যায়
- কিভাবে মাইএসকিউএল এ ডাটাবেজ ও টেবিল তৈরি করা যায়
- এইচটিএমএল কোডিং এবং কোডিং এর ব্যাখ্যা
- পিএইচপি কোডিং এবং কোডিং এর ব্যাখ্যা
- প্রয়োজনীয় স্ক্রীনশট
শুরু করা যাকঃ
১. ধরে নেই আমাদের কম্পিউটারে প্রয়োজনীয় সফটওয়্যারগুলো ইন্সটল দেওয়া আছে। তো এখন আর কথা না বাড়িয়ে শুরু করে দেই.........২. প্রথমে আমরা একটি ফর্ম ডিজাইন করব। বলে রাখা ভাল আমরা শুধু মূলত কাজটাই দেখব। তাতে শুধু এইচটিএমএল কোডিং জানলেই হবে। না জানলে সমস্যা নেই আমি সাহায্য করছি.........
৩. এখন ড্রিমওয়েভার সফটওয়্যারটি অপেন করুন এবং এইচটিএমএল ফাইলে ক্লিক করুন।
৪. নিন্মের কোড গুলো টাইপ করুন অথবা কপি করুন এবং সেভ করুন information_form.html নামে। অন্য নামে সেভ করলেও চলবে তবে স্যিক্যুয়েন্স ঠিক রাখার জন্য আমরা যে নামের কথা বলা হয় সেই নামেই সেভ করলে ভাল হয়।
<html> <head> <title>Friends Information Colection Form</title> </head> <body> <form name="information_form" method="post" action="information_form_process.php"> <h2 align="center">Friends Information Table</h2> <table align="center" width="277" border="0"> <tr> <td width="89">Name</td> <td width="172"><input name="name" type="text" maxlength="20"></td> </tr> <tr> <td>Address</td> <td><textarea name="address" cols="20" rows="5"></textarea> </td> </tr> <tr> <td>Sex</td> <td> <input name="sex" type="radio" value="male">Male <input name="sex" type="radio" value="female">Female </td> </tr> <tr> <td>Email</td> <td><input name="email" type="text" maxlength="30"></td> </tr> <tr> <td>Mobile No</td> <td><input name="mobile" type="text" maxlength="11"></td> </tr> <tr> <td><input name="reset" type="reset" value="Reset"></td> <td><input name="reset" type="submit" value="Add Friend"></td> </tr> </table> </form> </body> </html>
৫. কোড বিশ্লেষণঃ
এইচটিএমএল কোড লেখা অনেক সহজ আশা করি সহজে সবাই বুঝতে পারবেন।
- এইচটিএমএল কোডিং লিখতে হয় ট্যাগ(tag) ব্যবহারের মাধ্যমে। অনেকটা কমান্ডের মতো, যেমন লেখা বোল্ড করতে চাইলে <b> ট্যাগটি ব্যবহার করতে হয়। প্রত্যেকটি ট্যাগ শুরু করতে হয় ওপেনিং ট্যাগ দিয়ে (<b>) এবং শেষ করতে হয় ক্লোজিং ট্যাগ দিয়ে (</b>). ক্লোজিং ট্যাগে (/) ব্যবহার হয়। তাহলে html এর ওপেনিং ট্যাগ হবে <html> দিয়ে এবং ক্লোজিং ট্যাগ হবে </html> দিয়ে। information_form.html ফাইল টি যেহেতু একটি এইচটিএমএল ফাইল তাই এর কোডিং শুরু হয়েছে <html> দিয়ে এবং শেষ হয়েছে </html> দিয়ে। মনে রাখতে হবে <html> এবং </html> এর মাঝে আমাদের যাবতীয় কোড লিখতে হবে।
- এরপর <head> ট্যাগ শুরু হয়েছে। হেড ট্যাগ নিয়ে কিছু লিখলাম না তবে হেড সেকশনের মধ্যে <title> ট্যাগ নিয়ে লিখছি। টাইটেল ট্যাগের কাজ হল এই ট্যাগের মধ্যে যা লেখা হবে তা ব্রাউজারের টাইটেল বারে দেখা যাবে। যেমন আমি Friends Information Colection Form লিখছি বলে ব্রাউজারে Friends Information Colection Form লেখাটি দেখা যাচ্ছে। নীচে দেখুন...
- আমরা ব্রাউজারের মধ্যে যা কিছু দেখতে পাই তা সবই বডি ট্যাগের মধ্যে লেখা হয়। বডি ট্যাগের শুরু <body> এবং শেষ </body> ।
- যেহেতু আমরা ফর্মের মাধ্যমে ডাটা / তথ্য ইনপুট নিব তাই ফর্ম <form> ট্যাগটি নেওয়া হয়েছে। ফর্মের নাম name="information_form" দেই। অন্য নাম দিলে সমস্যা নেই। মেথড হিসেবে আমরা পোস্ট ব্যবহার করব। কারণ আমরা যদি পোস্ট মেথড ব্যবহার করি তাহলে ব্রাউজারের অ্যাড্রেসবারে ডাটাগুলো দেখা যাবে না এর গেট মেথড ব্যবহার করলে ব্রাউজারের অ্যাড্রেসবারে ইনপুটকৃত ডাটাগুলো দেখা যাবে। গেট মেথড ব্যবহার করলে কি হয় তা নীচে ছবির মাধ্যমে দেখানো হল। ব্রাউজারের অ্যাড্রেসবার লক্ষ করুন।
- এবার পোস্ট মেথড ব্যবহার করলে কি হয় তা দেখুন। ব্রাউজারের অ্যাড্রেসবার লক্ষ করুন।
- ফর্মের ইনপুটকৃত ডাটা প্রসেস করার জন্য পিএইচপি কোড দরকার। পিএইচপি কোড যে ফাইলে লেখা আছে সেই ফাইলের নাম অ্যাকশনে action="information_form_process.php" দিতে হবে। একই ফাইলে ফর্ম ও পিএইচপি প্রসেস কোড লিখে ডাটা ডাটাবেজে স্টোর করা যায়, তবে আমরা সেদিকে এখন যাব না। আর যেহেতু এখানে পিএইচপি মাইএসকিউএল আলোচনার মূল বিষয় তাই এইচটিএমএল নিয়ে আর না আগানোই ভাল। তবে যেহেতু নতুনদের জন্য এই টিউন তাই একটু আলোচনার খাতিরে লিখতে হল। আর আর ওয়েব সাইটে এইচটিএমএল নিয়ে অনেক টিউন আছে, একটু দেখে নিলে ভাল হয়।
৭. এখন ওয়াম্প সফটওয়্যারটি ওপেন করুন এবং যেকোনো একটি ব্রাউজার( মজিলা, অপেরা ইত্যাদি) ওপেন করুন। ব্রাউজারের অ্যাড্রেসবারে localhost লিখুন এবং এন্টার বাঁটন চাপুন। নীচের মতো ওপেন হবে।
৮. পিএইচপি মাইঅ্যাডমিন লিংকে ক্লিক করি অথবা ব্রাউজারে localhost/phpmyadmin/ লিখে এন্টার বাঁটন চাপুন। নীচের মতো আসবে।
৯. ডাটাবেজ লিংকে ক্লিক করি। create new database এ friends_form নাম দেই এবং create বাঁটনে ক্লিক করি। Database friends_form has been created মেসেজ দেখাবে।
১০.বাম দিকের প্যানেল থেকে Friends_form ডাটাবেজে ক্লিক করি name box এ add_information এবং number of columns box এ 6 লিখে GO বাঁটনে ক্লিক করুন।
১১. আলাদা একটি উইন্ডো আসবে। নীচের মতো পূরণ করে Save বাঁটনে ক্লিক করি।
Column
|
Type
|
Length/Values
|
Others Item…b
Others
Item
.........
|
Index
|
A.I
|
id | INT | 255 | PRIMARY | Click ON | |
name | VARCHAR | 20 | |||
address | VARCHAR | 50 | |||
sex | VARCHAR | 6 | |||
VARCHAR | 30 | ||||
mobile | VARCHAR | 11 |
১৩. নিন্মের কোড গুলো টাইপ করুন অথবা কপি করুন এবং সেভ করুন information_form_process.php নামে।
<?php mysql_connect("localhost","root","") or die("Could not Connect Mysql."); mysql_select_db("friends_form") or die("Could not Select Database."); $id=""; $name=$_POST['name']; $address=$_POST['address']; $sex=$_POST['sex']; $email=$_POST['email']; $mobile=$_POST['mobile']; $br="</br>"; $sql="Insert Into add_information Values ( '$id', '$name', '$address', '$sex', '$email', '$mobile' ) "; if (mysql_query($sql)) { echo '<center>Congratulations ! ' .$name. " Successfully added your Information. </center>".$br ; } else { echo "<center>Please Input Correct Data.</center>"; } ?> <h2 align="center"><a href="information_form.html">Add another</a></h2>১৪. কোড বিশ্লেষণঃ
- পিএইচপি এবং মাইএসকিউএল আসলে কঠিন কোন বিষয় নয়, আসল বিষয় হচ্ছে আপনি এর পিছনে কতটুকু সময় দিচ্ছেন। যাই হোক information_form_process.php ফাইলে প্রথমেই <?php দিয়ে শুরু হয়েছে। পিএইচপি কোডিং এর শুরুই করতে হয় <?php দিয়ে এবং শেষ করতে হয় ?> দিয়ে, তবে <? দিয়েও শুরু করা যাবে যদি পিএইচপি’র কনফিগারেশন ফাইল php.ini তে শর্ট ট্যাগের ব্যবহার এনাবল করা থাকে[ short_open_tag=on ]। আমরা সেদিকে এর বিস্তারিত যাচ্ছিনা।
- মাইএসকিউএল এর ডাটাবেজে ডাটা স্টোর করার জন্য এখন আমাদের মাইএসকিউএল এর সাথে কানেক্ট হতে হবে। এর জন্য mysql_connect ফাংশন ব্যবহার করা হয়েছে। মাইএসকিউএল এর সাথে কানেক্ট হওয়ার জন্য আমাদের তিনটি বিষয় উল্লেখ করতে হবে। ১. হোস্টনেম [আমাদের হোস্টনেম localhost ] ২. মাইএসকিউএল এর ইউজারনেম [ডিফল্ট হিসাবে root ই থাকে, যদি নতুন নামে ইউজার তৈরি করেন তাহলে তার জন্য নতুন নাম দিতে হবে ] ৩. পাসওয়ার্ড [আমি পাসওয়ার্ড ব্যবহার করিনি তাই পাসওয়ার্ডের জন্য ডাবল কোটেশনের (“ ”) মধ্যে কিছু লেখিনাই, কেউ যদি পাসওয়ার্ড ব্যবহার করেন তাহলে root এর পর ডাবল কোটেশনের (“ ”) মাঝে পাসওয়ার্ডটি লিখবেন]।
- দেখুন এরপর or die("Could not Connect Mysql."); লেখা আছে। এর অর্থ হল যদি মাইএসকিউএল এর সাথে কানেক্ট করতে না পারে তাহলে কি মেসেজ দিবে তা জানিয়ে দেওয়া। আপনি অন্য যে কোন মেসেজ লিখতে পারেন। যেমন “Sorry Mysql Error! We could not find it!” ।
- মাইএসকিউএল এর সাথে কানেক্ট হওয়ার পর আমাদের ডাটাবেজের সাথে কানেক্ট হতে হবে। এর জন্য আমরা এখন ডাটাবেজটি সিলেক্ট করার জন্য mysql_select_db ফাংশনটি ব্যবহার করব। ডাবল কোটেশনের মাঝে আমদের তৈরি করা ডাটাবেজের(friends_form) নাম দিতে হবে। যদি ডাটাবেজটি সিলেক্ট করতে না পারে তবে একটি মেসেজ দিয়ে দিব। যেমন এখানে Could not Select Database মেসেজটি দেওয়া হয়েছে।
- এই পর্যন্ত আমরা কেবল মাইএসকিউএল এর সাথে কানেক্ট হওয়ার বিষয় গুলো দেখলাম। এবার আমাদের information_form.html ফাইল থেকে সাবমিটকৃত ডাটাগুলো সংগ্রহ করতে হবে তারপর ডাটাবেজে ডাটাগুলো স্টোর করতে হবে।
- আসুন প্রথমে ডাটাগুলো সংগ্রহ করার জন্য প্রয়োজনীয় কোড লিখি। ডাটাগুলো সাময়িক ভাবে জমা করার জন্য এখানে এখন আমরা ভ্যারিয়েবল ব্যবহার করব। ভ্যারিয়েবলের নামের পূর্বে $ সাইনটি দিতে হয়। দেখুন $id=" "; এখানে আইডি নাল বা খালি রাখা হয়েছে কারণ আইডি নাম্বার [সিরিয়াল নাম্বার হিসাবে ব্যবহার হচ্ছে] অটোমেটিক জেনারেট হবে(১,২,৩,... এভাবে)। যদি $id=" "; ডিফাইন না করি তাহলে এরর মেসেজ দেখাবে। এরপর $name=$_POST['name']; লেখা হয়েছে।
- এখানে লক্ষণীয় বিষয় হল ভ্যারিয়েবলের নাম আমি যে ভাবেই দেই না কেন, $_POST['name']; পোস্টের পর যে নাম থাকবে তা information_form.html ফাইলের নেম ফিল্ডের name=” যা থাকবে তাই দিতে হবে”। যেমন আমরা name=”name” ব্যবহার করেছি। ছবি দেখুন...
- আর আমার $_POST[' পোস্ট এই জন্য ব্যবহার করেছি যে আমরা ফর্মের মেথড হিসাবে পোস্ট ব্যবহার করেছিলাম। ছবি দেখুন...
- যদি গেট(get) মেথড ব্যবহার করতাম তাহলে এখানে $_GET[‘ ব্যবহার করতাম।
- ফর্মের বাকি ফিল্ডগুলোর জন্যও একই রকমভাবে কোড লেখা হয়েছে।
মন ভাল করার প্রসেসিং চলছে.........
আশা করি আপনাদের মনটা ভাল আছে। টিউনটি অনেক বড় হয়ে যাচ্ছে দেখে মনে করছিলাম যে টিউনটি ২ ভাগে লিখি কিন্তু তাতে পাঠকদের মনের কথা চিন্তা করে এই টিউনেই মোটামুটি ডাটাবেজে ডাটা জমা করার বিষয়টি দেখাচ্ছি।
- এই পর্যায় $sql="Insert Into add_information Values কোডটুকু লক্ষ করুন এখানে ডাটাবেজের টেবিলের মধ্যে ডাটা প্রবেশের কোড লিখা হয়েছে। Insert Into দ্বারা প্রবেশ করাও কমান্ড দেওয়া হয়েছে, আর add_information দ্বারা কোথায় ডাটা প্রবেশ করাতে হবে তা বলা হয়েছে। মনে রাখতে হবে add_information নামটি আমারা ডাটাবেজে যে টেবিল তৈরি করেছিলাম সেই টেবিলের নাম। যদি কেউ অন্য নামে টেবিল তৈরি করে থাকেন তবে সেই নাম উল্লেখ করতে হবে। পরবর্তীতে যখন আমরা একাধিক টেবিল নিয়ে কাজ করব তখন বিষয়টি আরও পরিষ্কার হবে।
- এরপর Values( ) দ্বারা টেবিলে কি কি ডাটা প্রবেশ করাব তা উল্লেখ করতে হবে। একটা বিষয় এখানে অবশ্যই লক্ষ করতে হবে আমরা যেসকল নামে ভ্যারিয়েবল হিসাবে ডিফাইন করেছিলাম সেই নামই দিতে হবে এবং সিরিয়াল ঠিক রাখতে হবে। যেমন প্রথমে আমরা ভ্যারিয়েবল হিসাবে $id, $name, $address ইত্যাদি ডিফাইন করেছিলাম তাই Values( ) এর এখানে $id, $name, $address ইত্যাদি এই নাম গুলোই ব্যবহার করতে হবে। মনে রাখতে হবে নামের বানান যেন ঠিক থাকে যেমন $ID, $Name, $Address না হয়ে যায়।
- আর ডাটাবেজে যে সিরিয়ালে টেবিল সাজানো হয়েছে Values( ) মধ্যে সেই সিরিয়ালে ভ্যারিয়েবল গুলোর নাম উল্লেখ করতে হবে, এখানে ভ্যারিয়েবল গুলোকে সিঙ্গেল কোটেশনের মধ্যে রেখে কমা(,) দ্বারা আলাদা আলাদা করতে হবে। আমি সহজে বোঝার জন্য নীচে নীচে লিখেছি যদি পাশাপাশি [‘$id’, ‘$name’, ‘$address’, ’$sex’, ’$email’, ’$mobile’] লেখা হয় তবে কোন সমস্যা নেই। লক্ষণীয় বিষয় শেষ ভ্যারিয়েবলের পর কমা দিতে হবেনা। পূর্বের ছবি দেখুন ’$mobile’ এর পর কমা দেওয়া হয়নি।
- এরপর if (mysql_query($sql)) কোডটি লিখা হয়েছে। এখানে mysql_query( ) ফাংশন দ্বারা আমাদের ডাটাবেজের টেবিলটিকে ক্যুয়েরী করার মাধ্যমে ডাটাবেজে ডাটা প্রবেশ হয়েছে কিনা তা যাচাই করছি। if দ্বারা যদি ডাটা সফলভাবে টেবিলের মধ্যে প্রবেশ করে থাকে তাহলে কি হবে তাই বোঝানো হয়েছে, আমরা এখানে নীচের মেসেজটি দিয়েছি...
- এখানে echo দ্বারা প্রিন্ট কর বোঝানো হয়েছে। দেখুন Congratulations ! ' এর পর (.) ব্যবহার করা হয়েছে ((.) operator) দ্বারা দুটি আলাদা আলাদা ভ্যারিয়েবলকে একত্র বা যোগ করা হয় যাকে কনকেটেনেশন বলে। আমরা এখানে মেসেজ এবং ভ্যারিয়েবলকে যোগ করে দিয়েছি।
- else দ্বারা যদি ডাটাবেজের টেবিলে ডাটা প্রবেশ না করে তা হলে কি হবে তা বলা হয়েছে। আমরা বলেছি... Please Input Correct Data.
- পিএইচপি কোডিং ?> দ্বারা শেষ করার পর আমরা <a href="information_form.html">Add another</a> লিখেছি। <a> ট্যাগকে অ্যাংকর ট্যাগ বলে। সাধারণত লিংক করার জন্য এই ট্যাগটি ব্যবহার করা হয়। href=” ” এর মধ্যে যাকে লিংক করব তার অ্যাড্রেস লিখতে হয়। আমার information_form.html ফাইলটি লিংক করেছি। আমরা যেহেতু একবার ডাটা প্রবেশ করানোর পর আবার ডাটা প্রবেশ করাতে চাই তাই Add another এ ক্লিক করলে যেন information_form.html ফাইলটি ওপেন হয় অর্থাৎ ডাটা ইনপুটের ফর্মটি দেখা যায়।
১৫. ওয়াম্প ফোল্ডারের www ফোল্ডারে একটি php project নামে ফোল্ডার তৈরি করি এবং information_form.html ও information_form_process.php ফাইল দুটি php project ফোল্ডারে কপি করি। ফাইল সেভ করার সময় php project ফোল্ডারে সেভ করলে ভাল হয়; তাহলে আর কপি করার প্রয়োজন নেই।
১৬. এখন কি করতে হবে তা পিএইচপি মাইএসকিউএল [পর্ব-১] :: ডাটাবেজে যেভাবে ডাটা জমা করব(গ্রাফিক্যালি) টিউনের ৭ নং পয়েন্ট থেকে দেখুন।
সমালোচনাঃ এখানে কতগুলো বিষয় লক্ষণীয়:-
১. আমি এখানে এইচটিএমএল এর কোড ব্যাখ্যা করার চেষ্টা করেছি এটা পিএইচপি ও মাইএসকিউএল নিয়ে টিউন হওয়ার কারনে কাজটি ঠিক হয়নি। যেহেতু টিউনটি নতুনদের উদ্দেশ্যে লেখা হয়েছে, তারা যেন অথবা যারা প্রথম দেখছেন তারা যেন সহজে পুরো কোডিংগুলো বুঝতে পারে তাই এই প্রচেষ্টা।২. কোডিংএর মধ্যে বিনোদন বিষয়টি ঠিক মানায় না। কারণ প্রফেশনালরা কোডিং নিয়েই পড়ে থাকেন [ তারা পুরোটাই বুঝেনতো ! ], কিন্তু নতুনদের কোডিং করতে করতে বোরিং লাগতে পারে বলে এই চেষ্টা।
৩. ভাষাগত অনেক ত্রুতি থাকা অসম্ভব কিছু না। তাছাড়া আমিও যে টিউনার হিসেবে নতুন তাওতো দেখতে হবে।
৪. পিএইচপি মাইএসকিউএল [পর্ব-১] :: ডাটাবেজে যেভাবে ডাটা জমা করব(গ্রাফিক্যালি) এ যে ফাইল শেয়ার করা হয়েছে তাতে পাসওয়ার্ড দেওয়া হয়েছে বলে অনেকে একটু বিরক্ত প্রকাশ করেছেন। বিষয়টা আমি যেভাবে দেখি.........
“যে জিনিস যত সহজে পাওয়া যায় সেই জিনিসের কদর তত কম হয়। যারা আসলেই কাজ শিখতে চান বা আগ্রহ আছে তারা একটু কষ্ট করে শিখলে তা অনেক দিন মনে থাকবে। ফাইলে পাসওয়ার্ড দেয়ার কারণ হল আপনার যদি কাজ শিখতে ইচ্ছা হয় তবে কষ্ট করে শিখুন। তাতে আমার চাইতে যিনি শিখবেন তার লাভ বেশী হবে। আর যার কাজ শেখার আগ্রহ নেই তার ফাইল ডাউনলোড করার কি দরকার আছে ?” আশা করি বিষয়টা সবাই বুঝতে পেরেছেন।
বিশেষ দ্রষ্টাব্যঃ
১. যে কেউ লেখা শেয়ার করতে পারবেন তবে নিজের নাম বলে চালিয়ে দিবেন না। যদি কোন বিষয় বুঝতে সমস্যা হয় তাহলে কমেন্ট বক্সে লিখুন।২.যদি আমার লেখা বুঝতে সমস্যা হয় তবে জানালে খুশি হব।
৩. যদি পাঠকদের ভাল না লাগে তাহলে আমি আর লিখব না। ভাল লাগলে মন্তব্য করুন।
৪. আপনাদের ভাল লাগলে পরবর্তী টিউন হবে...
পরবর্তী টিউনঃ পিএইচপি মাইএসকিউএল [পর্ব-৩] :: ডাটাবেজ থেকে ডাটা সংগ্রহ করা
প্রশ্নঃ এই টিউনে কি থাকবে ?
উত্তরঃ ডাটাবেজে জমাকৃত ডাটাগুলো কিভাবে ব্যবহার করতে পারি ?!!!
লেখকঃ এ.এম. রবিউল ইসলাম
0 মন্তব্য(গুলি)
একটি মন্তব্য পোস্ট করুন