PDA

View Full Version : سوال: اتصال صفحه لاگین به دیتابیس



flat_00
جمعه 05 بهمن 1397, 20:33 عصر
سلام من یک کد دارم که خیلی خوب کار میکنه ولی مشکلش اینه که یوزر و پسورد داخل کد php تعریف شده. چطور میتونم این کد رو تغییرش بدم بطوری که یوزر و پسورد رو از روی دیتابیس mysql بخونه.

یوزر = admin
پسورد = 123



<?php

session_start();


if(isset($_GET['location'])) {
$_SESSION = [];
}


if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($_POST['username'] == 'admin' && $_POST['password'] == '123') {
$_SESSION['is_login'] = true;
} else {
header('Location: form.php');
}
} elseif (!isset($_SESSION['is_login'])) {
header('Location: form.php');
}


?>


<a href="?location=logout">خروج</a>

mokhtasatxyz
دوشنبه 08 بهمن 1397, 16:57 عصر
وصلش کن به دیتابیس

m_maj2004
شنبه 13 بهمن 1397, 14:03 عصر
شما با استفاده از PHPMYADMIN عزیز یک پایگاه داده می سازید بصورت زیر
1) ردیف
2) یوزر
3) پسورد
در قسمت پسورد برای امنیت بیشتر کد رو باید هش کنید می تونید بصورت آنلاین انجام بدی بعد داخل دیتابیس کپی کنییک فایل بساز به نام config.php و اطلاعات رو در اون درج کن


<?php
define('DB_SERVER', 'localhost:3036');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'rootpassword');
define('DB_DATABASE', 'database');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,D B_DATABASE);
?>
صفحه لاگین رو باید تغییراتی بدید تا از دیتا بیس بخواند
include("config.php");
session_start();

if($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form

$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);

$sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];

$count = mysqli_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row

if($count == 1) {
session_register("myusername");
$_SESSION['login_user'] = $myusername;

header("location: welcome.php");
}else {
$error = "Your Login Name or Password is invalid";
}
}یک صفحه به نام session.php می سازید و اطلاعات مشابه زیر قرار می دهید
include('config.php');
session_start();

$user_check = $_SESSION['login_user'];

$ses_sql = mysqli_query($db,"select username from admin where username = '$user_check' ");

$row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);

$login_session = $row['username'];

if(!isset($_SESSION['login_user'])){
header("location:login.php");
die();
}