私はxamppを使用しています。私のファイルはxampp/htdocs/Projectにあります。 私はブラウザでそれを呼び出す方法のため、サイトにPHPコードが表示されると思います:http://localhost:8081/login.phpしかし、私は問題がthatsであるとは確信していません。ログインページにPHPコードと次のステップが表示されます
私のlogin.phpは今、この権利のようなものです:http://imgur.com/a/nCpI1
Login.phpコード:
<!DOCTYPE html>
<html lang="pt-PT">
<head>
<meta charset="UTF-8">
<title>LOGIN</title>
<link rel="stylesheet" type="text/css" href="styles/menu.css">
<link rel="stylesheet" type="text/css" href="styles/homesheet.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Fira+Sans+Condensed" rel="stylesheet">
</head>
<body>
<?php
error_reporting(E_ALL);
session_start();
//Start Database
$con = mysqli_connect("localhost","root","","loja");
// Check connection
if (!$con) {
echo "<div>";
echo "Falha ao conectar ao MySQL: " . mysqli_connect_error();
echo "</div>";
}
if(isset($_SESSION["name"]) && $_SESSION["name"])
{
echo "You are already logged in, ".$_SESSION['name']."! <br> I'm Loggin you out M.R ..";
unset($_SESSION);
session_destroy();
header('Location: login.php');
exit;
}
$loggedIn = false;
$userName = isset($_POST["name"]) ? $_POST["name"] : null;
$userPass = isset($_POST["pass"]) ? $_POST["pass"] : null;
if ($userName && $userPass)
{
$query = "SELECT username FROM login WHERE username = '$userName' AND password = '$userPass'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_array($result);
if(!$row){
echo "<div>"
echo "Dados invalidos.";
echo "</div>"
}
else {
$loggedIn = true;
}
}
if (!$loggedIn)
{
echo "
<div style='width:500px;'>
<h3>Login</h3>
<form method='post'>
<label>Username</label>
<input type='text' name='name' placeholder='Username' value='$userName'/>
<label>Password</label>
<input type='password' name='pass' placeholder='Password' value='$userPass'/>
<button>Login</button>
</form>
</div>
<footer>
<h4 style="text-align:right;">Copyright © est.setubal.com</h4>
</footer>
";
}
else{
echo "<div>";
echo "Iniciou a sessao como: $userName!";
echo "</div>";
header('Location: home.html');
$_SESSION["name"] = $userName;
}
?>
</body>
</html>
Session.php:
<?php
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
$connection = mysql_connect("localhost", "root", "");
// Selecting Database
$db = mysql_select_db("loja", $connection);
session_start();// Starting Session
// Storing Session
$user_check=$_SESSION['login_user'];
// SQL Query To Fetch Complete Information Of User
$ses_sql=mysql_query("select user from login where user='$user_check'",$connection);
$row = mysql_fetch_assoc($ses_sql);
$login_session =$row['user'];
if(!isset($login_session)){
mysql_close($connection); // Closing Connection
header('Location: main.php'); // Redirecting To Home Page
}
?>
私のテーブル名として "ログイン" とパスワードフィールドに入力します。私はログインが正しく機能するようにするために何をしなければならないか教えてくれる新しい目が必要です。
ポート8081をセットアップしましたか?新しい開発には 'mysql_ * 'を使わないでください。 – chris85
ちょうどPHPで始まっているのであれば、そのコードを確実に整理するためのフレームワークから始めましょう。たとえば:[Cakephp3](https://cakephp.org/)..良いブログチュートリアルがありますスクラッチから。 – fabricio
私はそのポートを使用します。私は古いプロジェクトのログインを使用しているので、mysql_ *を使っています。しかし、私はPDOで1つのログインシステムを検索しようとしましたが、それらを使用しようとしましたが、動作しませんでした。 – fabimetabi