1
現在、私の友人が開始したログイン/ダッシュボードで開発しようとしています。私はセッションで苦労しています。私は、ユーザーがログインしていないときにしたいと、彼らはそれが、彼らはあなたが私が何を意味するか知っていれば、ログインする必要がありそうlogin.phpにリダイレクトされます、/dashboard.php訪問しよう:PHPでセッションをログインフォームで使用する方法
login.php
<?php
session_start();
isset($_SESSION['id']);
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$IP = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$IP = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$IP = $_SERVER['REMOTE_ADDR'];
}
function Register()
{
$con = mysqli_connect("localhost","root","","gtaauth");
if(!empty($_POST['Key']) AND !empty($_POST['Username'])) //checking the 'user' name which is from Sign-In.php, is it empty or have some text
{
$errors="";
$query="SELECT `Key` FROM `Keys` WHERE `Key`= '".mysqli_real_escape_string($con,$_POST['Key'])."'";
$result = mysqli_query($con,$query);
$row = mysqli_fetch_array($result);
if($row['Key'])
{
$query="SELECT `Activated` FROM `Keys` WHERE `Key`= '".mysqli_real_escape_string($con,$_POST['Key'])."'";
$result = mysqli_query($con,$query);
$row = mysqli_fetch_array($result);
if($row['Activated']){
$errors= "This key has already been activated. You cannot create an account with this key.";
}
}
else{
$errors= "Key not found. Please contact us for assistance!";
}
if($errors){
echo $errors;
}else{
//ip insert update
$query="UPDATE `Keys` SET `IP` = '$IP', `Activated` = '1', `Username` = '".mysqli_real_escape_string($con,$_POST['Username'])."' WHERE `Key`= '".mysqli_real_escape_string($con,$_POST['Key'])."'";
$result = mysqli_query($con,$query);
if($result){
$query="UPDATE `Keys` SET `Timestamp` = NOW(), `IP` = '$IP', `DATE` = NOW() WHERE `Keys`= '".mysqli_real_escape_string($con,$_POST['Key'])."'";
$result=mysqli_query($con,$query);
}else{
$errors.="Could not sign up. Please contact us for assistance.";
}
//email check
$query = "SELECT*FROM `Users` WHERE email='".mysqli_real_escape_string($con,$_POST['Email'])."'";
$result = mysqli_query($con,$query);
$results = mysqli_num_rows($result);
if($results>0){
$errors.="The email provided is already registered. </br>";
}
//username check
$query = "SELECT*FROM `Users` WHERE username='".mysqli_real_escape_string($con,$_POST['Username'])."'";
$result = mysqli_query($con,$query);
$results = mysqli_num_rows($result);
if($results>0){
$errors.= "The username provided is already registered. </nr>";
}
if($errors){
echo $errors;
}else{
$query = "INSERT INTO `Users` (`username`,`name`,`email`, `password`) VALUES ('".mysqli_real_escape_string($con, $_POST['Username'])."','".mysqli_real_escape_string($con, $_POST['Name'])."','".mysqli_real_escape_string($con, $_POST['Email'])."', '".md5(md5($_POST['Email']).$_POST['password'])."')";
$result = mysqli_query($con,$query);
if($result){
echo '<script type="text/javascript"> window.onload = function() { alert("Registration and activation was successful."); } </script>';
}else{
echo '<script type="text/javascript"> window.onload = function() { alert("An error occurred. Please contact us for assistance."); } </script>';
// echo"Error Please contact me or jelly (skype: mathiis95)";
}
}
}
}
}
function SignIn(){
$con = mysqli_connect("localhost","root","","gtaauth");
$query = "SELECT `email` FROM `Users` WHERE `username`='".mysqli_real_escape_string($con,$_POST['Username'])."'";
$result=mysqli_query($con,$query);
$row = mysqli_fetch_array($result);
if($row['email']){
$query = "SELECT * FROM `Users` WHERE `username`= '".mysqli_real_escape_string($con,$_POST['Username'])."' AND `password`= '".md5(md5($row['email']).$_POST['password'])."'";
$result=mysqli_query($con,$query);
$row = mysqli_fetch_array($result);
$query1 = "SELECT * FROM `Keys` WHERE `Username`= '".mysqli_real_escape_string($con,$_POST['Username'])."'";
$result1=mysqli_query($con,$query1);
$row1 = mysqli_fetch_array($result1);
if($row){
if(!empty($row['password']) AND !empty($row['username']))
{
$_SESSION['id'] = $row['id'];
$_SESSION['isstaff']=$row['isStaff'];
$_SESSION['username']=$row['username'];
$_SESSION['email']=$row['email'];
$_SESSION['key']=$row1['Key'];
$_SESSION['date']=$row1['DATE'];
$_SESSION['ip']=$row1['IP'];
header("Location: dashboard.php");
}else{
echo '<script type="text/javascript"> window.onload = function() { alert("Incorrect email or password."); } </script>';
//echo "Incorrect Email Or Password";
}
}
}
}
if(isset($_POST['licence']))
{
Register();
}
if(isset($_POST['sign']))
{
SignIn();
}
if(isset($_SESSION['id'])){
$isLogin = 1;
}else{
$isLogin=0;
}
?>
---- html is here -----
dashboard.php(彼らはログインしたときに、それが表示されますので、ユーザー名をエコーを除いて、このページには、他のPHPがないので、私は唯一のトップPHPを含む):
<?php
session_start();
?>
logout.php:
<?php
session_start();
session_unset();
session_destroy();
header("location:login.php");
exit();
?>