登录.php <?php ob_start(); session_start(); include '../config.php'; if( (isset($_SESSION['can-id']) )) { header('location: ../home/profile.php'); } if(isset($_POST['can-login'])) { $email=$_POST['email']; $password=$_POST['password']; $sql="SELECT * FROM `user_credentials` WHERE `email`=:email AND `password`=:password"; $pdoResult=$conn->prepare($sql); $pdoExec=$pdoResult->execute(array(":email"=>$email,":password"=>$password)); $pdoResult->setFetchMode(PDO::FETCH_ASSOC); $count=0; $uid=''; while ($r=$pdoResult->fetch()) { # code... $count+=1; $uid=$r['email']; } if ($count==1) { # code... $_SESSION['can-id']=$uid; header('location: ../home/profile.php'); } else { $_SESSION['error']="login failed"; } } ?><html>....</html>配置文件.php<?php ob_start(); session_start(); if (!(isset($_SESSION['can-id']))) { # code... header('location: ../login/'); } else { $cid=$_SESSION['can-id']; }?><h1 ><?php echo $cid;?></h1>这是我在登录页面后的代码被重定向到 profile.php 页面但在配置文件页面会话变量没有打印我不知道为什么但每次登录时都没有出现这个问题它有时会发生所以我可以'找不到问题所在。任何人都知道请帮助我解决问题。
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
从你的 login.php 中删除 ob_start() 不要把 session_start() 放在你所有的文件中
e.g login.php, profile.php, etc
而是将其添加到您的 config.php 中,例如:
<?php
session_start();
//.. config variables here
然后,在您的 profile.php 中也包含 config.php。
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消