【问题标题】:Someone can check my session?有人可以检查我的会话吗?
【发布时间】:2018-01-08 07:15:34
【问题描述】:

请有人可以检查我的会话是否正常工作。 我不确定,因为我还是初学者。

login.php 是用户登录用户名和密码的主页:

    <body>

        <form action="" method="post">
            <div class="imgcontainer">
            <img src="KBR2xN6.jpg" alt="Avatar" class="avatar">
            </div>

            <div class="container">
            <label><b>Username</b></label>
            <input type="text" placeholder="Enter Username" name="name" required>
            <br />

            <label><b>Password</b></label>
            <input type="password" placeholder="Enter Password" name="pass" required>

            <button type="submit">Login</button>
            <button type="reset" class="cancelbtn">Reset</button>
            </div>
        </form>

    </body>

至于connections.php是连接本地服务器:

$host = "localhost";
$username = "root";
$password = "";
$database = "netbook 1 malaysia";

try {
    $connect = new PDO("mysql:host=$host; dbname=$database", $username, $password);
    $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }

catch(PDOException $ex) {
    echo 'Connection Failed : '.$ex->getMessage();
}

关于 session.php 我不确定:

session_start();
include('connections.php');

$username = $_POST['name'];
$password = $_POST['pass'];

$sql = "SELECT * FROM pengguna WHERE username = '$username' AND password = '$password'";
$result = $connect->query($sql);

if($result->rowcount()>0){
    foreach($result AS $data){
        $_SESSION['name'] = $data['name'];
        $_SESSION['pass'] = $data['pass'];

    echo "<script>alert('Login Success');
            window.location.href='view.php';
            </script>";
    }
}

else {
    echo "<script>alert('Login Failed');
            window.location.href='login.php';
            </script>"; 
}

请帮我检查一下。

【问题讨论】:

  • 转到您的 view.php 并执行 print_r($_SESSION);
  • 表单回发给自己action=""而不是action="session.php"
  • Form action ='' 所以 login.php 将发布到它自己(login.php)。你应该更改为 action="session.php"
  • 谢谢,我做到了。但是我怎么知道我的会话有效?

标签: php mysql session


【解决方案1】:

只需将此代码添加到您的 view.php 文件中即可。

session_start();
print_r($_SESSION);

如果它打印你在会话中保存的值,那么它就可以工作了。

【讨论】:

  • 不,他的问题在于他的表单中的 action=''
  • 你好特立独行,我照你说的做,但它会打印:Array ([name] => [pass] =>)
  • @Dikwan,表示会话不工作..您是否在打印会话之前设置了会话?您确定要在 $result 变量中获取数据吗?请先检查一下..
猜你喜欢
  • 1970-01-01
  • 2016-03-03
  • 2013-01-12
  • 2018-07-13
  • 1970-01-01
  • 2012-09-24
  • 2012-08-10
  • 2022-09-27
  • 2021-10-16
相关资源
最近更新 更多