آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در ایجاد صفحه لاگین

احسان منصوری  9 سال پیش  9 سال پیش
0 0

سلام دوستان عزیز

آقا من این کد لاگین به سایت رو نوشتم (البته از اینترنت گرفتم) ولی نمیدونم چرا با کلیک روی دکمه ورود، به سایت لاگین نمیکنه.

کد 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 ینویس.
این لینکو هم ببین.

0 0
ممنونم. ولی متاسفانه حل نشد. نمیدونم مشکل از کجاس (9 سال پیش)
0 0
شما کد اصلاح شدتونو بصورت کامل بذارید. (9 سال پیش)
0 0
والا من از این کد لاگین چیز سر در نیاوردم. تنها کاری که کردم خط های 18 و 19 رو پاک کردم. متوجه نشدم توضیحتون رو. مشکلش کجاس به نظرتون؟ (9 سال پیش)
0 0
آخه این کد اصلا اشتباس.شما کد لاگینو چرا خودتون نمینویسین؟ چیز خاصی نداره.خواستین از پایه بنویسین , میتونم کمکتون کنم. (9 سال پیش)
0 0
والا همه سایتو خودم نوشتم ولی این لاگین رو چون که session توش بود دیگه نتونستم بنویسم. لاگین ساده رو بلدم ولی با session نه (9 سال پیش)
پاسخ به سوال 
محسن موحد  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');
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .