know yourselves. information, computer, 7 wonders, various.

Showing posts with label PHP-MySQL. Show all posts
Showing posts with label PHP-MySQL. Show all posts

Saturday, October 22, 2016

php_mysql_part7_Log-in পেজ তৈরী






Log-in  পেজ তৈরী
এখন আমরা Login  নামে একটি ফাইল তৈরী করবো। এটিতে একটি ফর্ম থাকবে। ইউজাররা তাদের Name Password লিখে Log-in করবে। এজন্য আমরা logincheck.php নামে আরও একটি ফাইল তৈরী করে php কোডিং দ্বারা ইউজারের দেওয়া Name Password কে database এর সাথে মিলিয়ে দেখবে। নতুবা আবার Log-in পেজে ফিরিয়ে দেবে।  এজন্য logincheck পেজে session তৈরী করতে হবে। ইউজার যখন এক পেজ থেকে অন্য পেজে যাবে তখন session শুরু হবে। কোন নির্দিষ্ট পেজ রেসটিক্স্ট (নিয়ন্ত্রন) করতেও এই session দরকার পরবে। Part-1 বইতে php session নিয়ে বিসত্মারিত আলোচনা করা আছে। চলুন Login.php  ফাইল তৈরী করা যাক।
Header.php ফাইল এডিট করা
Include সাব ফোল্ডার থেকে header.php  ফাইলটি খুলুন। line নম্বর 14 তে herf = “ ” এর কোটেশনের মধ্যে Login.php  ফাইলটি অ্যাসাইন করে দিন । ফাইলটি সেভ করুন।

Coading login.php
<?php
     include ("include/header.php");
?>
    
<html>
<head>
<title>Log in Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<br />
<br />
<font color="green">Type Your Name And Password</font>
<form method="post" action="logincheck.php">
  Name   <input type="text" name="name" id ="name"/>
  Password    <input type="password" name="password"  id="password"/>
           <input type="submit"/>
</form>

<br /> <font face="Virdana" color="red">After register You have to login first.
if yuo are logged in . you will get some extra facalities. </font><br />
<ul>
<li> Such as </li><li> Such as </li><li> Such as </li><li> Such as </li>
</ul>
    
 <?php
     include ("include/footer.php");
?>
 

নিচের ছবিটি লক্ষ্য করুন।


ব্যাখ্যা: দেখুন প্রথম ও শেষ ৩ লাইনে header footer php ফাইলকে include করা হয়েছে। line 5 থেকে line 9 পর্যমত্ম HTML এর নরম্যাল কোডিং।   line 11 line 12 তে font এর color এবং Name Password টাইপের কথা বলা আছে। line 14 যথারীতি php POST মেথড সংযুক্ত করা হয়েছে এবং Action কী-ওর্য়াডে  logincheck.php ফাইলকে অ্যাসাইন করা হয়েছে। logincheck.php ফাইলে আমরা অন্যান্য php কোড ও Session সংযুক্ত করবো। এরপর Text Password টাইপের ২টি Text ফিল্ড ও একটি Submit বাটন নেওয়া হয়েছে। Form এর শেষে কিছু Text ম্যাসেজ দেওয়া হয়েছে।

Logincheck.php  ফাইল তৈরী করা

আমরা প্রথমে logincheck.php ফাইলে একটি SESSION শুরু করবো। পরে database, table এর সাথে সংযোগ স্থাপন, কুয়েরি করা, Variable এর মধ্যে data রাখা, মিলিয়ে দেখা ইত্যাদি কোড সংযোগ করবো।
Session শুরু করার কোড খুবই সহজ নিচের কোড গুলি দেখুন, খুবই সহজ এখানে ৯টি লাইনের কোড আছে।

প্রথম ৩ লাইনে php ট্যাগের মধ্যে Session শুরু করার জন্য Session-start ( ); ভেরিয়েবল দেওয়া হয়েছে।
পরবর্তী লাইনে আবার একটি php ট্যাগ শুরু করে localhost এর জন্য $host, $username $password দেওয়া হয়েছে। আমাদের MySql এ কোন Password নাই বলে ভেরিয়েবলে ফাঁকা ২টি ডাবল কোটেশন দেওয়া হয়েছে। এরপর $db_name MySql এ আমরা যে ডাটাবেজে ডাটা রেখেছি সেটির নাম mydata db_name অংশে mydata তে অবস্থিত টেবিলের নামকে assign করা হয়েছে। কোডিং এর পরবর্তী অংশের ছবি দেখুন।

Line 12 line 13 তে MySql-connect, MySql-select_db কমান্ডের মাধ্যমে database table  এর সাথে কানেক্ট করা হয়েছে।  MySql_select_db তে database হিসাবে “$db_name” দেওয়া হয়েছে কারণ $db_name ভেরিয়েবলের মধ্যে database এর নাম ‘mydata’ আগেই line নম্বর ৪ এ দেওয়া আছে, পরবর্তী ২টি লাইনে $ myuser name $ my passward নতুন ২ টি ভেরিয়েবল এবং $ post মেথডের মাধ্যমে from এর name password ফিল্ডের মধ্যের data $sql  ভেরিয়েলে রাখা হয়। এবং পরের লাইনে এখান থেকে প্রাপ্ত data কুয়েরী স্থানামত্মর করার জন্য ভেরিয়েবলের মধ্যে করে ব্যবহার করতে হয়।যেমন বাজার করার পর ঝুলা বা ব্যাগের করে আনতে হয়। এবার আবারও result নামে একটি ভেরিয়েবলের মধ্যে sql এর ডাটা ২টি কে mysql এর মধ্যে রক্ষিত ডাটা কুয়েরী বা পরীক্ষা করে রাখা হয়।$Count দ্বারা Rowতে রক্ষিত data অবশ্যই Row No-1এ রক্ষিত data সংরক্ষন করা হয়।

কোডিং এর শেষ অংশে ছবি দেখুন

এখানে line নাম্বার 26 একটি if …else loop দিয়ে প্রোগ্রামিং শুরু হয়েছে। এবং ভেরিয়েবল $count যদি Row নম্বর 1 পায় তবে fetch-arrary ও মাধ্যমে Result টি অর্থাৎ Row-1 এর রেজাল্ট মিলাবে। এখানে ২টি data থাকবে name password এটি সে database থেকে আসবে এবং Form এর ডাটার সাথে মিলবে। এখন SESSION এর একটি নাম দিতে হবে কারণ session টি আমরা বারবার ব্যবহার করবো।
এজন্য line নম্বর 30 $SESSION ভেরিয়েবলে নাম দেওয়া হয়েছে নিচের মত
$-SESSION [‘bappi’] =$row [‘name’]; সুতরাং এখানে আরও নাম দিয়ে password বা অন্য যে কোন Global Variable রাখা যেতে পরে আমরা $-SESSION [‘email’]= $row [‘email’];
ব্যবহার করবো ইউজারকে একটি mail পাঠানোর জন্য, আপাতত দরকার নাই। যাই হোক সবকিছু মিললে
line 31 এর কোড header(“location:my Index-final.php”)}খুলবে।
আর যদি ঠিক না থাকে পরবর্তী ২ লাইন

else{
Header(“location:login.php”);
}?>

এর কোডিং অনুসারে আবার login.php ফাইল খুলবে।
Header.php ফাইলে session সংযোগ
দেখুন আমাদের প্রতিটি php ফাইলে header.php ও footer.php সংযোগ করা আছে। কোন পেজ যখন load হয় তখন প্রথমেই header. Php ফাইলটি open হয়। এজন্য header.php ফাইলের শুরুতে seassion শুরু করতে হবে। এজন্য php ট্যাবের মধ্যে session-start ( ); নামের একটি ফাংশন যোগ করলেই হবে। include  ফোল্ডার থেকে header.php খুলে নিচের মত ৩ লাইন কোড সংযোগ করুন।


Session কে call করা
আমাদের তৈরী করা session  কে যে কোন পেজে call করে দেখা যায়। session ঠিক হয়েছে কিনা বা ইউজার ঠিকমত login হলো কিনা দেখা যাবে। আমরা login check.php ফাইলের মাধ্যমে ইউজার login করলেই my Index-final.php ফাইল বা home  page আসবে। এজন্য আমরা home পেজে বা My index_final. php ফাইলে session call করার কোডিং লিখবো। এখানে php ট্যাগের মধ্যে মাত্র ২ টি echo কমান্ড ব্যবহার করবো । এর প্রথম echo তে মাত্র একটি ম্যাসেজ ডিসপ্লে করানো হয়েছে এবং দ্বিতীয় echo  তে কী-ওয়ার্ডের সাথে নাম সহ session ফাংশনটি লেখা আছে। নিশ্চয় মনে আছে আমরা session এর নাম দিয়েছিলাম bappi এবং কোডিং ছিল $ SESSION [‘bappi’]  সুতরাং প্রথম <div> এর মধ্যে একদম শেষ লাইনে নিচের মত কোডিং করুন।

Coading for call SESSION
<?php
     echo "<font face='Verdana' size='4' color=red>
     <b>Welcome our site $name </b></font><br />";
     echo $_SESSION['bappi'];
?>
ফলাফল দেখা
এখন নিচের মত ডাটা দিয়ে submit বাটনে ক্লিক করুন বা login করুন।

এখন home পেজে লক্ষ্য করুন session call  করা হয়েছে।



Previous Post                                                                                           Next Post

  বিস্তারিত জানতে নিচের বইটি সংগরহ করে নিন।

Book Name: Mastering Microsoft  Word
Writer: Bappi Ashraf
Published By: Gyankosh Prokashani
Amount of Pages: 464
First Publish: October-2004
Last Edition: We've February-2015 edition. Future edition may be existed!
Book Price: BDT 350 (30% Discount)
 The writer of this book has told that he has written this book with the concept of "teach yourself". On the other hand, Web Design is a thing which is interesting to learn. He has also told that the book is full of fan and enjoyment so that a person can learn Web Design by himself by playing with the example projects of this book.  Book's CD Link below... 

 cd

php_mysql_part6_Registration.php ফাইলকে Modify করা




Registration.php ফাইলকে Modify করা :
তো চলুন কোডিং আরেকটু মডিফাই করা যাক তবে এক্ষেত্রে Registration.form এবং  Registration.php ফাইল তৈরী করা ভাল। সেক্ষেত্রে <Form> ট্যাগের Action কী-ওয়ার্ডে পরের ফাইলটি দিতে হবে। আমরা পরবর্তীতে এভাবেও ফাইল তৈরী করে দেখাবো। আপাতত পরিবর্তন টুকু লক্ষ্য করা যাক। আমরা মূলত Field এর ডাটাগুলি চেক করবো এবং সঠিকভাবে পূরন হলে একটি Welcome ম্যাসেজ দিব আর যদি সঠিক না হয় তবে আবার Try করতে বলা হবে। দেখুন line No-48 এ নতুন একটি Variable নেওয়া হয়েছে $msg = “ ” ; নামে। বিভিন্ন ধরণের এই Variable -এ রাখা হবে। এবং পরে তা প্রর্দশন করা হবে। এরপর 57 লাইন থেকে ৩ লাইন কোডিং লেখা হয়েছে এভাবে-
if(empty($id)){
$msg .="Enter your id, ";
$status= "NOTOK";
}
দেখুন প্রথম লাইনে লেখা হয়েছে যদি id ফিল্ড ফাঁকা থাকে তবে ম্যাসেজ দিতে হবে Enter your id এবং Status বলা হচ্ছে NOT OK (ঠিক নাই) Line নং 62 থেকে একইভাবে Coding করা হয়েছে-
if(empty($name)){
$msg .="Enter your Name, ";
$status= "NOTOK";
}
অর্থাৎ name ফিল্ড ফাঁকা থাকলে Enter your name ম্যাসেজ দিবে। 66 নং line থেকে একইভাবে বলা হয়েছে email Field এ যদি @ . (ডট) ব্যবহার না করা হয়ে থাকে তবে ম্যাসেজ দিতে হবে Your email address is not correct বাকী টুকু আগের কোডিং।
if (!stristr($email,"@") OR !stristr($email,".")) {
Coading
<?php
$status = "OK";
$msg="";

$id=$_POST['id'];
$name=$_POST['name'];
$email=$_POST['email'];
$femail=$_POST['email'];
$password=$_POST['password'];
$address=$_POST["address"];

if(empty($id)){
$msg .="Enter your id, ";
$status= "NOTOK";
}

if(empty($name)){
$msg .="Enter your Name, ";
$status= "NOTOK";
}
if (!stristr($email,"@") OR !stristr($email,".")) {
 // checking your email @ and .
$msg .="Your email address is not correct<BR>";
$status= "NOTOK";}

শেষের দিকে echo তে যে Welcome বা Try again ম্যাসেজটি একটু পরিবর্তন করবো।
86 তম লাইনে echo “ <center> <font face = ‘verdana’ size =  ‘2’ color = green> Succeed , You are Welcome $name </font> </center>”;
অপর দিকে line নং 90 তে  echo “ <center> <font face = ‘verdina’ size =  ‘2’ color = ‘red’> $msg ‘ ’ </font> </center>”;
প্রথম echo তে ম্যাসেজের সাথে $name variable কে call করা হয়েছে এবং শেষ echo তে $msg variable কে call করা হয়েছে।
Registration.php ফাইলের সমসত্ম কোডিং
<?php
     include ("include/header.php");
?>
    
<div align="center">   
<b>Type Your information</b>
<form method="post" action="registration.php">
<table border="1">
  <tr>
    <td align="center">User Information Entry Form</td>
  </tr>
  <tr>
    <td>
      <table>     
          <tr>
          <td>Id</td>
          <td><input type="text" name="id" size="20"></td>
          </tr>
        <tr>
          <td>Name</td>
          <td><input type="text" name="name" size="20"></td>
        </tr>
          <tr>
          <td>email</td>
          <td><input type="text" name="email" size="25"></td>
        </tr>
          <tr>
          <td>password</td>
          <td><input type="text" name="password" size="20"></td>
        </tr>
          <tr>
          <td>Address</td>
          <td><input type="text" name="address" size="40"></td>
        </tr>
        <tr>
          <td></td>
          <td align="right"><input type="submit" name="submit" value="Sent"></td>
        </tr>
        </table>
      </td>
    </tr>
</table>
</form>
</div>

<?php
$status = "OK";
$msg="";

$id=$_POST['id'];
$name=$_POST['name'];
$email=$_POST['email'];
$femail=$_POST['email'];
$password=$_POST['password'];
$address=$_POST["address"];

if(empty($id)){
$msg .="Enter your id, ";
$status= "NOTOK";
}

if(empty($name)){
$msg .="Enter your Name, ";
$status= "NOTOK";
}
if (!stristr($email,"@") OR !stristr($email,".")) { // checking your email @ and .
$msg .="Your email address is not correct<BR>";
$status= "NOTOK";}

if($status=="OK"){
$con=mysql_connect("localhost","root","");
if(!$con)
{
die('could not connect:'.mysql_error());
}
mysql_select_db("mydata");
mysql_query("INSERT INTO  userinfo
              (id,name,email,password,address)
              VALUES
              ('$id',
              '$name',
              '$email',
              '$password',
              '$address')");
             
echo "<center><font face='Verdana' size='2' color=green>Succeed, You ate Welcome $name</font></center>";
}
else
{
echo "<b> Sorry. Try Again $name</b>";
echo "<center><font face='Verdana' size='2' color=red>$msg</font></center>";
}
?>

<span class="title">Registration</span><br />
Look! here is some link. Click to get related website <br />
Computer Learning Center is a sixteen-year old Educational Institute.  We offer basic computer training, in the form of our Career Enhancement Program (CEP) and Professional Certifications such as Graphics design, video editing, and Web Page.   Whether you are looking for a career change, a new job, a promotion or to update your skills in the workplace, we have the program you need. 

<?php
     include ("include/footer.php");
?>
1.          এখন সঠিক data দিয়ে Sent বাটনে ক্লিক করুন।
2.         Welcome ম্যাসেজ আসবে।
3.        database - এ সমসত্ম ডাটা পাওয়া যাবে।
4.          ভূল ডাটা দিয়ে Sent বাটনে ক্লিক করুন Try Again  ম্যাসেজ আসবে এবং database পূরন হবে না। 
মোটামুটি Registration ফাইলটি তৈরী করা হল। সামান্য একটু সমস্যা রয়েছে কোন ডাটা  না দিয়ে এবং Sent বাটনে ক্লিক না করলেও শুরুতেই Try Again ম্যাসেজটি আসে। বিভিন্ন ভাবে এই সমস্যার সমাধান করা যায়। আমরা সহজ উপায়ে করবো। এজন্য ২টি Registration ফাইল তৈরী করবো একটিতে মাঝের php কোডিং টুকু থাকবে না । চলুন শুরু করা যাক।
১.  Registration.php ফাইলের line No 7 Action = Registration2.php কোড লিখুন এবং ফাইলটি Save As করে Registration2.php নাম দিন।
২. এখন Registration2.php ফাইল থেকে header footer form  এর কোডিং রেখে মাঝের php কোডিং line নং 46 থেকে line নং 92 পযমর্ত্ম মুছে দিন এবং Save As করে ফাইলের নাম দিন Registration.php. ব্যাস এবার চেষ্টা করে দেখুন সব ঠিক আছে।

এখন একজন ইউজার রেজিস্টেশন এক বার করার পর আমাদের database এ সংরক্ষিত থাকলো। এখন যতবার খুশি Log-in করতে পারবে।  Log-in বা Registration না করে ও প্রায় সমসত্ম Web Site টি ব্রাউজ করতে পারবে। তবে যে কোন পেজকে restrict করা যেতে পারে। যেমন মনে করি log-in করা না থাকলে আমাদের Product পেজটি দেখা যাবে না । যদি Product বাটনে কোন ইউজার ক্লিক করে তবে Log-in এর ম্যাসেজ দেওয়া হবে। ইত্যাদি বিভিন্ন কাজে Log-inRegister করার দরকার হয়। যেমন আপনি Facebook এর কথাই ভাবুন আপনাকে প্রতিবার Log-in করতে হয়। Registration মাত্র একবারই করতে হয়। আমাদের Site এ আমরা অপশন রেখেছি কেউ Product পেজে যেতে চাইলে Log-in করতে হবে। এই Log-in Product পেজ থেকে করা যাবে। আবার কেউ যদি শুরুতেই Log-in হয়ে থাকতে চান তবে Log-in বাটনে ক্লিক করে সেটি করতে পারবেন।
Log-in না করে Product বাটনে ক্লিক করলে নিচের মত অপশন আসবে।


Previous Post                                                                                           Next Post

  বিস্তারিত জানতে নিচের বইটি সংগরহ করে নিন।

Book Name: Mastering Microsoft  Word
Writer: Bappi Ashraf
Published By: Gyankosh Prokashani
Amount of Pages: 464
First Publish: October-2004
Last Edition: We've February-2015 edition. Future edition may be existed!
Book Price: BDT 350 (30% Discount)
 The writer of this book has told that he has written this book with the concept of "teach yourself". On the other hand, Web Design is a thing which is interesting to learn. He has also told that the book is full of fan and enjoyment so that a person can learn Web Design by himself by playing with the example projects of this book.  Book's CD Link below... 

 cd