بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در ایجاد صفحه لاگین
سلام دوستان عزیز
آقا من این کد لاگین به سایت رو نوشتم (البته از اینترنت گرفتم) ولی نمیدونم چرا با کلیک روی دکمه ورود، به سایت لاگین نمیکنه.
کد session هم درسته.
این کد لاگین:
<?php include('db-connect.php'); session_start(); // Starting Session $error=''; // Variable To Store Error Message if (isset($_POST['submit'])) { if (empty($_POST['username']) || empty($_POST['password'])) { $error = "Username or Password is invalid"; } else { // Define $username and $password $username=$_POST['username']; $password=$_POST['password']; // Establishing Connection with Server by passing server_name, user_id and password as a parameter // To protect MySQL injection for Security purpose $username = stripslashes($username); $password = stripslashes($password); $username = mysql_real_escape_string($username); $password = mysql_real_escape_string($password); // Selecting Database // SQL query to fetch information of registerd users and finds user match. $query = $conn->query("select * from login where password='$password' AND username='$username'"); $rows = mysqli_num_rows($query); if ($rows == 1) { $_SESSION['login_user']=$username; // Initializing Session header("location: admin.php"); // Redirecting To Other Page } else { $error = "Username or Password is invalid"; } $conn->close(); // Closing Connection } } ?>
این هم کد session:
<?php include('db-connect.php'); //connect to db session_start();// Starting Session // Storing Session $user_check=$_SESSION['login_user']; // SQL Query To Fetch Complete Information Of User $ses_sql=$conn->query("select username from login where username='$user_check'"); $row = mysqli_fetch_assoc($ses_sql); $login_session =$row['username']; if(!isset($login_session)){ $conn->close(); // Closing Connection header('Location: index.php'); // Redirecting To Home Page } ?>
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
محسن موحد
9 سال پیش
+2
0
یکجا داخل کد از mysql استفاده کردی و یکجا mysqli.
یکجا بصورت رویه گرا استفاده کردی و یکجا بصورت شی گرا.
قسمت های ارتباط با دیتابیسو درست کن.همرو شی گرا و mysqli ینویس.
این لینکو هم ببین.
پاسخ به سوال
محسن موحد
9 سال پیش
+1
0
session چیز خاصی نداره.مثل متغیر هایی هستن که در پروژه ازشون استفاده میکنی.تفاوتش اینه که متغیر های سشن چون در حافظه ی سرور ذخیره میشه , بعد از پایان اجرای اسکریپت از بین نمیرن و در صفحات دیگه هم قابل دسترسی هستن.
یک لاگین ساده:
این واسه صفحه ی لاگین
<?php // start session if (!isset($_SESSION)) { @session_start(); } /***************************/ // check login if (isset($_POST['btnLogin'])) { if (isset($_POST['username'], $_POST['password'])) { mysql_connect('localhost', 'root', ''); mysql_select_db('test'); $username = mysql_real_escape_string($_POST['username']); $password = md5($_POST['password']); $result = mysql_query("select * from test where (username='$username' and password='$password')"); if (mysql_num_rows($result) > 0) { // set session $_SESSION['login'] = true; header('location: admin.php'); } } } /***************************/ // check login session if (!isset($_SESSION['login'])) { ?> <form action="" method="post" accept-charset="utf-8"> username: <input type="text" name="username"> <br><br> password: <input type="text" name="password"> <input type="submit" name="btnLogin" value="login"> </form> <?php } else { header('location: admin.php'); }
در ادامه کار , در تمام صفحاتی که باید کاربر لاگین باشه , این دستورو به ابتدای کدهای صفحات اضافه کن:
// start session if (!isset($_SESSION)) { @session_start(); } if (!isset($_SESSION['login'])) { header('location: login.php'); }
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .