是的,我知道,这个问题在这里很受欢迎,但我尝试了以前类似的topis中提出的各种解决方案,似乎没有任何效果。
也许我的工作结构不是最好的编码方式,但我正在学习。 代码以form.php(只有一小段php,html中的剩余代码)开头,它将凭据传递给检查用户名e pw的db配置文件,然后我将获得对某个php页面的访问权限。 这是代码:
<?php
session_start();
if(!isset($_SESSION['log'])) $_SESSION['log']=false;
?>
<!DOCTYPE html>
<html>
<a bunch of html/css ecc>
</div>
<div class="container">
<label><b>Username</b></label>
<input type="text" placeholder="Username" name="username" required>
<label ><b>Password</b></label>
<input type="password" placeholder="Password" name="password"required>
<button type="submit" formaction="configDB.php">Login as admin </button>
<button type="submit" formaction="configDB-guest.php">Login as guest </button>
</div>
</form>
</div>
</body>
</html>
configDB是这样的:
<?php
//session_start();
//if(!isset($_SESSION['log'])) $_SESSION['log']=false;
$host='localhost';
$user=$_POST['username'];
$password=$_POST['password'];
$dbname="admin";
mysql_connect("localhost","root", "");
mysql_select_db($dbname);
$verif=mysql_query("SELECT * FROM guest WHERE username='$user' AND password='$password'") OR
die("Unable to connect".mysql_error());
$verif_login=mysql_fetch_array($verif);
//pick data from db
if(($verif_login['username']==$user) AND ($verif_login['password']==$password)AND ($verif_login['role']=='admin'))
{
echo("<p align='center'>Welcome $user</p>" );
//$_SESSION['username']=$user;
//$_SESSION['password']=$password;
//$_SESSION['log']=true;
$logged=1;
header('Location: home.php?var1="$logged"');
exit();
我可以看到我尝试设置$ _SESSION和嵌入在标题链接中的变量。 然后我想要访问的页面是home.php:
<?php
$admin_=$_GET['logged']; //doesn't works
if(!isset($_SESSION['log'])) $_SESSION['log']=false;
if($_SESSION['log']!=true)
{
header('URL=form_login.php');//this is the only thing that works
}
再次....和html。 似乎home.php没有从connectDB收到任何东西,我认为这是我想念的东西。