簡體   English   中英

放置標頭的最佳位置在哪里(“ Location:loggingin.php”);

[英]Where is the best place to put header(“Location: loggedin.php”);

我正在編寫一個庫存管理系統。 我基本上已經完成了。 這是非常基本的,但是可以完成工作。

所以現在我正在研究它的外觀。 我在頁面頂部的div中放置了一個搜索框/查詢。 搜索有效。 但是它僅在列出的頁面上顯示結果。

我想做的是,當按鈕“已提交”時,“搜索”重定向到此頁面,但它不起作用。 因此,我想知道將標頭放在哪里(“ Location:loginin.php”);

我已經使它可以在站點的不同部分工作,但是由於某種原因,它在這里不起作用。

<?php

session_start();

if( isset( $_POST['Search'] ) ) {

// build a function to validate data
function validateFormData( $formData ) {
    $formData = trim( stripslashes( htmlspecialchars( $formData ) ) );
    return $formData;
}

$formEmail = validateFormData( $_POST['email'] );

include('connection.php');



$query = "SELECT first_name, last_name, email, card_number, pc_type 
FROM 
profiles WHERE email ='$formEmail'";
$result = mysqli_query( $conn, $query );


if( $formEmail == $email )  {


        session_start();


        $_SESSION['email'] = $email;

        header("Location: profilepage2.php");

    }
}
 mysqli_close($conn);

?>

在這種情況下,我認為HTML無關緊要,但是如果我錯了,我將其發布在編輯中。

請記住,必須先通過常規HTML標記,文件中的空白行或從PHP發送任何實際輸出,然后調用header()。 讀取包含,或要求函數或另一個文件訪問函數的代碼,並在調用header()之前輸出空格或空行,這是一個非常常見的錯誤。 使用單個PHP / HTML文件時,存在相同的問題。

您可以將header(“ Location:your-url”)放在腳本中的任何位置,但應在發送任何輸出(如手冊中定義的http://php.net/manual/zh/function.header)之前放置它。 php

您需要添加出口; 緊隨頭文件之后非常重要,否則腳本執行將不會終止。

你必須像

header(“Location: loggedin.php”);
exit;

如果重定向不起作用,請嘗試在腳本的第一行中,在打開的PHP標記旁邊添加ob_start,如下所示,

<?php ob_start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM