में सत्र और सत्र चर का उपयोग करना मैंने अभी एक संपूर्ण लॉगिन बनाना समाप्त कर दिया है और PHP में systsem पंजीकृत किया है, लेकिन मेरी समस्या यह है कि मैंने अभी तक किसी भी सत्र का उपयोग नहीं किया है। मैं PHP में एक नौसिखिया हूं और मैंने पहले कभी सत्रों का उपयोग नहीं किया है। मैं क्या करना चाहता हूं, उपयोगकर्ता पंजीकरण के बाद और लॉगिन फॉर्म भरने के बाद, वे अभी भी उसी पृष्ठ पर रहेंगे। इसलिए, सत्र का लॉग-इन होगा और दूसरा हिस्सा अन्य होगा (उपयोगकर्ता लॉग इन नहीं है इसलिए लॉग इन फॉर्म प्रदर्शित करें) का एक हिस्सा होगा। क्या कोई मुझे बता सकता है कि कैसे शुरू किया जाए?PHP लॉगिन स्क्रिप्ट
उत्तर
आशा इस मदद करता है :)
सत्र शुरू होता है, यदि आप एक पेज के शीर्ष पर यह कहने की जरूरत है या इससे पहले कि आप सत्र कोड फोन
session_start();
ट्रैक करने के लिए सत्र में एक प्रयोक्ता आईडी डाल जो
$_SESSION['user'] = $user_id;
चेक लॉग होता है अगर किसी को
if (isset($_SESSION['user'])) {
// logged in
} else {
// not logged in
}
में लॉग ऑन है
खोजें में यूजर आईडी लॉग इन अपने पृष्ठ पर
$_SESSION['user']
तो
<?php
session_start();
if (isset($_SESSION['user'])) {
?>
logged in HTML and code here
<?php
} else {
?>
Not logged in HTML and code here
<?php
}
अच्छा, सरल, पठनीय कोड। बस सही – IchHabsDrauf
सबसे पहले, पीएचपी प्रलेखन sessions पर कुछ excellent information है।
दूसरा, आपको अपनी वेबसाइट के प्रत्येक उपयोगकर्ता (जैसे डेटाबेस) के लिए क्रेडेंशियल स्टोर करने के लिए कुछ तरीका चाहिए। यह एक अच्छा विचार है कि पासवर्ड को मानव-पठनीय, अनएन्क्रिप्टेड सादा पाठ के रूप में संग्रहीत न करें। पासवर्ड संग्रहीत करते समय, आपको PHP के crypt()
हैशिंग फ़ंक्शन का उपयोग करना चाहिए। इसका अर्थ यह है कि यदि किसी भी प्रमाण पत्र से समझौता किया गया है, तो पासवर्ड आसानी से उपलब्ध नहीं हैं।
अधिकांश लॉग-इन सिस्टम उपयोगकर्ता द्वारा दर्ज किए गए पासवर्ड को हैश/क्रिप्ट करेंगे, फिर संबंधित उपयोगकर्ता नाम के लिए स्टोरेज सिस्टम (जैसे डेटाबेस) में हैश को परिणाम की तुलना करें। यदि दर्ज पासवर्ड का हैश संग्रहीत हैश से मेल खाता है, तो उपयोगकर्ता ने सही पासवर्ड दर्ज किया है।
आप उपयोगकर्ता की वर्तमान स्थिति के बारे में जानकारी संग्रहीत करने के लिए सत्र चर का उपयोग कर सकते हैं - यानी वे लॉग इन हैं या नहीं, और यदि वे हैं तो आप अपनी अद्वितीय उपयोगकर्ता आईडी या किसी अन्य जानकारी को भी आसानी से उपलब्ध कर सकते हैं।
एक PHP सत्र शुरू करने के लिए, आपको session_start()
पर कॉल करने की आवश्यकता है। इसी तरह, एक सत्र और उसके डेटा को नष्ट करने के लिए, आप session_destroy()
(उदाहरण के लिए, जब उपयोगकर्ता लॉग आउट) कॉल करने की आवश्यकता:
// Begin the session
session_start();
// Use session variables
$_SESSION['userid'] = $userid;
// E.g. find if the user is logged in
if($_SESSION['userid']) {
// Logged in
}
else {
// Not logged in
}
// Destroy the session
if($log_out)
session_destroy();
मैं भी सुझाव है कि आप this पर एक नज़र डालें। वहां एक साधारण लॉग-इन सिस्टम बनाने पर कुछ अच्छी, आसान अनुसरण करने वाली जानकारी है।
PHP 5.5 ने [पासवर्ड हैशिंग फ़ंक्शंस] (http://php.net/manual/en/ref.password.php) (5.3.7 संगतता कोड उपलब्ध है) के साथ पासवर्ड हैश पीढ़ी और सत्यापन के लिए उपयोग किया जाना चाहिए। ये कार्य सुरक्षा-कमजोर गलतियों को खत्म करते हैं जो कुछ प्रोग्रामर 'क्रिप्ट()' या अन्य PHP सामान्य हैशिंग फ़ंक्शन का उपयोग करते समय कर सकते हैं। क्रिप्ट() के बजाय password_hash() का उपयोग क्यों करें, इसके विवरण के लिए, [rfc: password_hash] (https://wiki.php.net/rfc/password_hash) –
आपके उत्तर के नीचे वाला लिंक (यह) टूटा हुआ है अभी व। क्या आप इस संसाधन के लिए परमालिंक प्रदान कर सकते हैं? – dmcgill50
मैं हमेशा ओओपी करता हूं और सत्र को बनाए रखने के लिए इस कक्षा का उपयोग करता हूं ताकि आप यह सुनिश्चित करने के लिए फ़ंक्शन is_logged_in का उपयोग कर सकें कि उपयोगकर्ता लॉग इन है या नहीं, और यदि आप ऐसा नहीं करते हैं जो आप चाहते हैं।
<?php
class Session
{
private $logged_in=false;
public $user_id;
function __construct() {
session_start();
$this->check_login();
if($this->logged_in) {
// actions to take right away if user is logged in
} else {
// actions to take right away if user is not logged in
}
}
public function is_logged_in() {
return $this->logged_in;
}
public function login($user) {
// database should find user based on username/password
if($user){
$this->user_id = $_SESSION['user_id'] = $user->id;
$this->logged_in = true;
}
}
public function logout() {
unset($_SESSION['user_id']);
unset($this->user_id);
$this->logged_in = false;
}
private function check_login() {
if(isset($_SESSION['user_id'])) {
$this->user_id = $_SESSION['user_id'];
$this->logged_in = true;
} else {
unset($this->user_id);
$this->logged_in = false;
}
}
}
$session = new Session();
?>
धन्यवाद, यह शुरू करने के लिए एक अच्छी जमीन है, लेकिन ईमेल के साथ उपयोगकर्ता प्रमाणीकरण के लिए अपनी कक्षा का विस्तार करना चाहिए;) –
यहां PHP का उपयोग करके सबसे सरल सत्र कोड है। हम 3 फाइलों का उपयोग कर रहे हैं।
login.php
<?php session_start(); ?> // session starts with the help of this function
<?php
if(isset($_SESSION['use'])) // Checking whether the session is already there or not if
// true then header redirect it to the home page directly
{
header("Location:home.php");
}
if(isset($_POST['login'])) // it checks whether the user clicked login button or not
{
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == "Ank" && $pass == "1234") // username is set to "Ank" and Password
{ // is 1234 by default
$_SESSION['use']=$user;
echo '<script type="text/javascript"> window.open("home.php","_self");</script>'; // On Successful Login redirects to home.php
}
else
{
echo "invalid UserName or Password";
}
}
?>
<html>
<head>
<title> Login Page </title>
</head>
<body>
<form action="" method="post">
<table width="200" border="0">
<tr>
<td> UserName</td>
<td> <input type="text" name="user" > </td>
</tr>
<tr>
<td> PassWord </td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td> <input type="submit" name="login" value="LOGIN"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
home.php
<?php session_start(); ?>
<html>
<head>
<title> Home </title>
</head>
<body>
<?php
if(!isset($_SESSION['use'])) // If session is not set then redirect to Login Page
{
header("Location:Login.php");
}
echo $_SESSION['use'];
echo "Login Success";
echo "<a href='logout.php'> Logout</a> ";
?>
</body>
</html>
logout.php
<?php
session_start();
echo "Logout Successfully ";
session_destroy(); // function that Destroys Session
header("Location: Login.php");
?>
//start use session
$session_start();
extract($_POST);
//extract data from submit post
if(isset($submit))
{
if($user=="user" && $pass=="pass")
{
$_SESSION['user']= $user;
//if correct password and name store in session
}
else {
echo "Invalid user and password";
header("Locatin:form.php");
}
if(isset($_SESSION['user']))
{
//your home page code here
exit;
}
बीटीडब्ल्यू, आप इस पर पासवर्ड हैश और नमक चाहते हैं। फिर हैश और तुलना के लिए इनपुट नमक। –
आप एक पेज के शीर्ष पर सत्र शुरू करने की जरूरत है या आप पहले सत्र कोड फोन
session_start();
$session_start();
extract($_POST);
//extract data from submit post
if(isset($submit))
{
if($user=="user" && $pass=="pass")
{
$_SESSION['user']= $user;
//if correct password and name store in session
}
else {
echo "Invalid user and password";
header("Locatin:form.php");
}
if(isset($_SESSION['user']))
{
//your home page code here
exit;
}
- 1. उम्मीद स्क्रिप्ट टेलनेट लॉगिन
- 2. सुरक्षित PHP लॉगिन सिस्टम?
- 3. PHP लॉगिन सिस्टम
- 4. php स्क्रिप्ट
- 5. PHP स्क्रिप्ट
- 6. PHP स्क्रिप्ट
- 7. PHP स्क्रिप्ट
- 8. PHP स्क्रिप्ट
- 9. PHP स्क्रिप्ट
- 10. php स्क्रिप्ट
- 11. PHP स्क्रिप्ट
- 12. PHP स्क्रिप्ट से पायथन स्क्रिप्ट
- 13. PHP स्क्रिप्ट का निष्पादन विलंब
- 14. प्रत्येक PHP स्क्रिप्ट से पहले php स्क्रिप्ट निष्पादित करें?
- 15. अपरिभाषित सूचकांक: PHP स्क्रिप्ट
- 16. एक php स्क्रिप्ट
- 17. MySQL - खोजें PHP स्क्रिप्ट
- 18. PHP स्क्रिप्ट, सभी फाइलों
- 19. PHP: शब्द परिभाषा स्क्रिप्ट?
- 20. सर्वर साइड स्क्रिप्ट (PHP)
- 21. PHP स्क्रिप्ट बहु-साइट
- 22. PHP स्क्रिप्ट पाइथन लिपि
- 23. समवर्ती PHP स्क्रिप्ट चलाना
- 24. एक PHP स्क्रिप्ट
- 25. कमांड लाइन स्क्रिप्ट php
- 26. PHP रिकर्सिव बैकअप स्क्रिप्ट
- 27. PHP स्क्रिप्ट को PHP5
- 28. PHP स्क्रिप्ट सुरक्षा
- 29. एक php स्क्रिप्ट
- 30. एक लटका PHP स्क्रिप्ट
"आप एक पूरी किताब है कि आपके सवाल का जवाब कल्पना कर सकते हैं, तो आप बहुत ज्यादा पूछ रहे हैं। " - [स्टैक ओवरव्लो एफएक्यू] (http://stackoverflow.com/faq) स्पष्टीकरण के लिए, आपका प्रश्न बहुत व्यापक है। – orourkek
कुछ भी नहीं जो पहले नहीं हुआ है। [Php.net के सत्र प्रलेखन] (http://www.php.net/manual/en/book.session.php) देखें, यह शुरू करने के लिए एक शानदार जगह है:] – orourkek
यह http: // www भी देखें। phpro.org/tutorials/Introduction-To-PHP-Sessions.html –