當我在我的本地主機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