当我在我的本地主机SQL,它的工作原理。但是现在,当我将它上传到我的客户端SQL时,它确实没有。当我登录时,它应该重定向到edit.php,它已经从数据库检查名称和密码是否正确,但它保持空白。我不知道该怎么做,因为它在我的本地主机sql上工作。PHP错误重定向
我在哪里登录,登录表单,(login.php中)
<?php
include_once("logikinnitus.php");
session_start();
if(isset($_SESSION['logged']))
{
header('Refresh: 2; URL=http://www.heakohv.ee/fava/admin/edit.php');
echo "olete juba sisse logitud!";
}else {
if (isset($_POST["submit"])){
$name = $_POST["user"];
$pass = $_POST["pass"];
$object = new User();
$object -> login($name, $pass);
}
?>
<html>
<head></head>
<body>
<form method="post" action="login.php">
Username: <input type="text" name="user"/>
Password: <input type="password" name="pass"/>
<input type="submit" name="submit" value="login">
</form>
<?php
}
?>
</body>
</html>
我在哪里检查密码和用户是正确的(logikinnitus.php)
<?php
include_once("connection.php");
Class User {
private $db;
public function __construct(){
$this->db = new Connection();
$this->db = $this->db->dbConnect();
}
public function login($name, $pass){
if(!empty($name) && !empty($pass)){
$st = $this -> db -> prepare("select * from users where name=? and pass=?");
$st -> bindParam(1, $name);
$st -> bindParam(2, $pass);
$st -> execute();
if($st -> rowCount() == 1){
session_start();
$_SESSION['logged'] = true;
echo "Olete edukalt sisse logitud";
header('URL=http://www.heakohv.ee/fava/admin/edit.php');
exit();
}
else{
echo "Parool või kasutajanimi on vale";
}
}
else{
echo "Palun täida kõik väljad!";
}
}
}
?>
PHP连接(连接.php)
<?php
class Connection{
public function dbConnect(){
return new PDO("mysql:host=host; dbname=name", "pass", "");
}
}
?>
警告我在打开错误报告时得到。
警告:在session_start()[function.session启动]:打开(/家/ LA02/16840949/tmp目录/ sess_46e83b3c6e65b60a68dd14f525bd92a5,O_RDWR)失败:没有这样的文件或目录(2)在/ home/LA02/16840949 /在线管理/ login.php中6
警告:在session_start()[function.session启动]:不能发送会话cookie - 头已经发出(输出开始/home/la02/16840949/admin/connection.php 3)在上线/home/la02/16840949/admin/login.php 6
警告:在session_start()[function.session启动]:无法发送会话缓存限制器 - 已经发送了头(输出开始/ home/la02/16840949/admin/connection.php:3)在/ home/la02/16840949/admin/logi n.php第6行
警告:未知:开(/家/ LA02/16840949/tmp目录/ sess_46e83b3c6e65b60a68dd14f525bd92a5,O_RDWR)失败:没有这样的文件或目录(2)在未知在线0
警告:未知:无法写入会话数据(文件)。请确认session.save_path的当前设置在第0行的Unknown中是正确的(/ home/la02/16840949/tmp)。
如果我添加session.save_path“文件夹”,它不会使我的登录表单再次出现。 ..我从头看只有空白页,即使没有错误 -
有任何问题,随时问。
难道是因为你在重定向到edit.php之前'回声'? – jonhopkins
你可以打开php错误报告来帮助调试 - '<?php error_reporting(E_ALL);函数ini_set( '的display_errors',1); ...' – Sean
第一和最后2警告是要看的。检查以确保您的tmp文件夹“/ home/la02/16840949/tmp”存在并且具有写入权限。如果这不是正确的位置,你应该更新你的php.ini文件中的tmp文件夹位置'session.save_path' – Sean