我的php页面没有收到变量,即使是会话,我错在哪里?

时间:2017-09-09 14:48:34

标签: php session post session-variables

是的,我知道,这个问题在这里很受欢迎,但我尝试了以前类似的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收到任何东西,我认为这是我想念的东西。

0 个答案:

没有答案