【问题标题】:Passing variables through 3 pages通过 3 个页面传递变量
【发布时间】:2014-05-23 14:04:19
【问题描述】:

我花了很多时间寻找可以帮助我做到这一点的东西: 我有 3 个页面,一个叫做 login.php,另一个叫做 trataLogin.php,另一个叫做 index.php。

登录和 trataLogin 页面运行良好,但是当我尝试从登录名将变量调用到 index.php 中时,我无法做到。我不知道还能做什么。

这是我的 login.php

     <?php
    require_once('connection/dbconnection.php');
    session_start();
    ?>
...
    <form name="form" action="trataLogin.php" method="post">
        <input type="text" name="username" placeholder="username" /><br/>
        <input type="password" name="password" placeholder="password" /><br/>
        <br/>
        <br/>
        <input type="submit" value="login" />
    </form>

trataLogin.php

<?php
require_once('connection/dbconnection.php');
session_start();
$_SESSION['dadoslogin']=$_POST;


$username = $_POST['username'];
$password = sha1($_POST['password']);
$query = "SELECT * FROM utilizadores WHERE username = '" . $username . "' AND password = '" . $password . "'";
$admin='';
$result = $conn->query($query);

if ($result->num_rows > 0) {
    $_SESSION['verifica_login'];

    $row = $result->fetch_assoc();
    if ($row['admin'] == 1) {
        $admin = true;
        header('Location:admin.php');

    } elseif($row['admin'] == 0){
        $admin = false;
        header('Location:index.php');

    } else {
    $_SESSION['verifica_login']="Username ou password incorretos";
}}
?>

在 index.php 我有这个

<?php
require_once('connection/dbconnection.php');
session_start();
$_SESSION['dadoslogin']=$_POST;
?>

在 index.php 的下面某处,我有一些东西可以打印登录者的用户名

<?php echo $_SESSION['username']; ?>

【问题讨论】:

  • 将 sesssion_start() 放在每一页的首位,在 any 代码之前。

标签: php forms variables post login


【解决方案1】:

您正在覆盖 index.php 中的 $_SESSION: 删除那部分

$_SESSION['dadoslogin']=$_POST;

然后像这样回显你的变量:

echo $_SESSION['dadoslogin']['username'];

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 2014-07-07
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多