-2
사용자를 로깅하는 데 문제가 있습니다. 로그, 세션이 작동하지만 다른 페이지를 클릭하면 세션이 사라지고 작동하지 않으며 기본 페이지와 login.php에 session_start를 넣으면 세션이 이미 실행 중입니다. 몇 가지 아이디어? 당신이 그것으로 값을 넣을 경우 감사사용자를 전체 웹에 로그온 상태로 유지하는 방법
홈페이지 Page.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="css.css">
<link rel="icon" href="favicon.ico">
<title>----</title>
</head>
<body>
<!-- HEADER _____________________________________________________________________________ -- >
<div id="whiteblock">
<div id="grayblock">
<div id="logo">
</div>
<h1>----</h1>
<h2>----</h2>
<a href="websiteregister.php" id="registration">Registration</a>
<?php
include "Login.php";
echo $_SESSION["LogiNick"];
?>
<div id="inputposunuti">
<form name="Log" id="Log" method="post">
<label for="Nick" class="inputtext">Nick:</label>
<input type="text" name="LogiNick" id="LogiNick" class="input"> <?php echo $EmptyNick; echo $Else; ?>
<label for="Pass" class="inputtext">Password:</label>
<input type="password" name="LogiPass" id="LogiPass" class="input"> <?php echo $EmptyPass; echo $Else; ?>
<input type="submit" name="LogIn" value="⇒">
</form>
</div>
</div>
<!-- HEADER _____________________________________________________________________________ -->
<!-- MENU _______________________________________________________________________________ -->
<div id="pruh">
<div id="search">
<form name="search" method="post">
<input type="text" name="hledat" id="sirka">
<input type="submit" name="subhledat" value="Search!" id="button">
</form>
</div>
<div id="menutext">
<a href="website.php"> <p>Home</p> </a>
<a href="#"> <p>----</p> </a>
<a href="#"> <p>----</p> </a>
<a href="#"> <p>----</p> </a>
<a href="#"> <p>----</p> </a>
<a href="#"> <p>----</p> </a>
</div>
</div>
<!-- MENU _______________________________________________________________________________ -->
<!-- CONTENT ____________________________________________________________________________ -->
<!-- CONTENT ____________________________________________________________________________ -->
<div id="teams"></div>
</div>
<p id="creator">Created by</p>
Login.php
<?php
session_start();
include_once "db.php";
global $db;
$Else = $EmptyNick = $EmptyPass = $EmptyNick = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$LogiNick = $_POST["LogiNick"];
$LogiPass = $_POST["LogiPass"];
if (empty($_POST["LogiNick"])) {
$EmptyNick = " - Nick";
}
if (empty($_POST["LogiPass"])) {
$EmptyPass = " - Password";
}
}
if(!empty($_POST["LogiNick"]) AND !empty($_POST["LogiPass"])){
$LogiPass = $_POST["LogiPass"];
$SHA = sha1($LogiPass);
$sql = "SELECT * FROM WEB_REGISTER WHERE Nick = :nick AND Heslo = :heslo";
$query = $db->prepare($sql);
$query->execute(array('nick' => $LogiNick, 'heslo' => $SHA));
$count = $query->rowCount();
if ($count > 0) {
$_SESSION["LogiNick"];
}
}
?>
보면, 또한 사용자 입력을 살균, 당신은 코드 * "전체 웹의" – sietse85
* 나에게 SQL 인젝션에 취약 보인다 - 응? 당신은 * "전체 웹 사이트"*와 같은 것을 의미합니까? –
또한 * 주석 처리 된 * 코드가 여러 개 있는데 왜 그럴까요? 세션을 사용하여 모든 파일에서 세션을 시작 했습니까? 나는이 모든 것을 아무 것도 입력하지 않기를 바란다. 이와 같은 질문자는 의견을 무시하는 경향이 있으며 사람들은 마법의 답을 듣게됩니다. –