Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何添加带有PHP传递头的HTML_Php_Html - Fatal编程技术网

如何添加带有PHP传递头的HTML

如何添加带有PHP传递头的HTML,php,html,Php,Html,我有一些带有session_start()函数的PHP文件和一些cookie参数设置。它们是纯PHP页面,根本没有HTML。现在我想在这些PHP页面中添加一些背景色和一些表单和表格。当我添加任何一点HTML时,都会出现“headers ready passed”的错误 我想知道嵌入PHP和HTML的正确方法!请让我知道 代码如下: <?php include 'functions.php'; secure_session_start(); define("HOST", "localhos

我有一些带有session_start()函数的PHP文件和一些cookie参数设置。它们是纯PHP页面,根本没有HTML。现在我想在这些PHP页面中添加一些背景色和一些表单和表格。当我添加任何一点HTML时,都会出现“headers ready passed”的错误

我想知道嵌入PHP和HTML的正确方法!请让我知道

代码如下:

<?php
include 'functions.php';
secure_session_start();

define("HOST", "localhost"); // The host you want to connect to.
define("USER", "admin"); // The database username.
define("PASSWORD", "password"); // The database password. 
define("DATABASE", "test"); // The database name.
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);

if(isset($_POST['name'], $_POST['password'])) { 
        $name = $_POST['name'];
        $password = $_POST['password']; // The hashed password.
        if(login($name, $password, $mysqli) == true) {
            // Login success
            echo 'Success: You have been logged in!';
    }    else {
         // Login failed
         echo 'Wrong ID/password!';
    }
} else { 
   // The correct POST variables were not sent to this page.
   echo 'Invalid Request';
}
?>

在输出HTML之前要做所有事情,就是这么简单

<?php

    session_start();

    /* here be dragons, i.e. more PHP code */

?>
<!DOCTYPE html>

<html>
...
</html>

...

在PHP中,在有标题之前不能有任何HTML。标题必须在所有内容之前

我同意@deceze,原因很简单,因为在呈现输出之前强迫自己处理数据可以确保更好地分离关注点(你不太可能将SQL与HTML混合在一起,坦率地说,这会让人发疯)

但是,;为了完整性起见,这里有一个“变通方法”,确保在需要输出之前不会转储输出

ob_start()
开始输出缓冲,而
ob_get_clean()
返回(并结束)输出缓冲。结合使用可以确保输出不会被发送

<?php 
    // start output buffering
    ob_start();
?>

<p>Write HTML, start sessions, eat pie</p>
<?php session_start(); ?>

<?php
    // dump all the things that output
    // buffering captured
    echo ob_get_clean();
?>

编写HTML,启动会话,吃馅饼


如果需要,可以将输出捕获到变量中并进行后处理。不过,我要补充一条免责声明:这不是将HTML、SQL和任何其他技术混搭到一起,然后将其连接到互联网上的借口。

请按此顺序发布您的代码、标题、输出,这不是一个真正的好问题。您应该多读一点php的基础知识。请参考我已经添加的代码!