まず、私の英語が下手であることを言い訳しなければなりません。login.php へのコードについて助けが必要です。なぜなら、パーミッション システムを介してセッションを実行しているからですが、"$_SESSION['perms']" と呼ばれるこのセッションはデータベース値を受け入れません。私は答えを見つけるために数週間探していますが、うまくいきません。そして、私はここに訴えます。
これは私のログインのコードです:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title></title>
<style>
.odstavec {
margin-top: 0px;
margin-bottom: 0px;
}
</style>
<?php
$dbc = mysqli_connect('localhost','root','root') or
die('could not connect: '. mysqli_connect_error());
mysqli_select_db($dbc, 'loginsystem') or die('no db connection');
session_start();
if(isset($_POST['go'])){
$usr = mysqli_real_escape_string($dbc, htmlentities($_POST['u_name']));
$psw = ($_POST['u_pass']);
$q = "SELECT * FROM members WHERE username='$usr' AND password='$psw' ";
$res = mysqli_query($dbc, $q);
if(mysqli_num_rows($res) == 1){
$_SESSION['log'] = 'in';
$_SESSION['username'] = $_POST['u_name'];
$_SESSION['perms'] = "SELECT $usr FROM members WHERE perms='".$_SESSION['perms']."'";
header('location:novinky.php');
}
elseif(!$_POST['u_name'] || !$_POST['u_pass']){
$error = 'Všechna pole musí být vyplněná!';
}else{ //create an error message
$error = 'Chybné jméno nebo heslo. Prosím zkuste to znovu';
}
} //end of isset go
?>
</head>
<body>
<form method="post" action="#">
<p class="odstavec"><label for="u_name">Uživatlské jméno:</label></p>
<p class="odstavec"><input type="text" name="u_name" value=""></p>
<p class="odstavec"><label for="u_pass">Heslo:</label></p>
<p class="odstavec"><input type="password" name="u_pass" value=""></p>
<p><button type="submit" name="go">Přihlásit</button></p>
</form>
<!-- A paragraph to display eventual errors -->
私は多くの方法を試しています。しかし、何も機能しません。また、administration.php にエラーがある可能性がありますが、この進行状況を確認しました。
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Administrace</title>
</head>
<?php
session_start();
if (isset($_SESSION['log']) && ($_SESSION['perms']=="3")){
echo '<body>';
echo '<div class="up_div">';
echo '<img style="position: absolute; top: 0px; left: 0px" src="../images/admin_up_div.png">';
echo '<p style="position: absolute; top: 0px; left: 0px">Vítej '.$_SESSION["username"].'</p>';
echo '</div>';
echo '</body>';
}
elseif (isset($_SESSION['log']) && ($_SESSION['perms']=="1")){
echo 'Omlouvám se, ale pro tuto sekci nemáte dostatečná oprávnění'; //Sorry message if they haven´t permissons
header('location: novinky.php');
}else{
header('location: login.php');
}
?>
</html>
事前に私は答えてくれてありがとう。