当前位置: 首页 > 面试题库 >

标头位置在我的php代码中不起作用

邓才
2023-03-14
问题内容

我有此代码,为什么我的标题位置不起作用?它是一种在我的控制面板中更新,编辑和删除某些页面的形式…并且我在form.php的同一文件夹中有一个index.php文件…任何帮助吗?()我试图将标题放在编辑和删除…并且仍然转到表单页面而不是索引…

<?php
include "../../includes/site_includes.php";
//send
if ((isset($_POST["send"])) && ($_POST["send"] == 1)) {
    $pageid = $_POST["page_id"];
    $pagetitle = $_POST["page_title"];
    $nameinmenu = $_POST["page_menu_name"];
    $nameinurl = $_POST["page_name_url"];
    $link = $_POST["page_link"];
    $picture = $_POST["page_pic"];
    $desc = $_POST["page_desc"];
    $content = $_POST["page_content"];
}
if ((isset($_POST["act"])) && ($_POST["act"] == "add")) {
    $sql = insertpage();
    if ($result = $mysqli->prepare($sql)) {
        $result->bind_param("sssssss", $pagetitle, $nameinmenu, $nameinurl, $link, $picture, $desc, $content);
        $result->execute();
        $result->store_result();
        $rows = $result->num_rows;
    }
}
////edit
if ((isset($_GET["act"])) && ($_GET["act"] == "edit")) {
    $sql = getfrompages();
    if ($result = $mysqli->prepare($sql)) {
        $rekza = $_GET["id"];
        $result->bind_param("i", $rekza);
        $result->execute();
        $result->store_result();
        $rowsZ = $result->num_rows;
    }
    if ($rowsZ > 0) {
        $row = fetch($result);
        $pageid = $row[0]["page_id"];
        $pagetitle = $row[0]["page_title"];
        $nameinmenu = $row[0]["page_menu_name"];
        $nameinurl = $row[0]["page_name_url"];
        $link = $row[0]["page_link"];
        $picture = $row[0]["page_pic"];
        $desc = $row[0]["page_desc"];
        $content = $row[0]["page_content"];
    }
}
if ((isset($_GET["act"])) && ($_GET["act"] == "delete")) {
    $thedelid = $_GET["id"];
    $sql2 = delpage();
    if ($result2 = $mysqli->prepare($sql2)) {
        $result2->bind_param("i", $thedelid);
        $result2->execute();
        $result2->store_result();
        $rowsZ2 = $result2->num_rows;
    }
}
header('location: index.php');
exit();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> pages add </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>

 <body>
<form method="post" action="">
        <table>
            <tr>
                <td style="font-weight:bold;">title</td>
                <td><input type="text" name="page_title" value="<?=$pagetitle?>" /></td>
            </tr>
            <tr>
                <td style="font-weight:bold;">name in menu</td>
                <td><input type="text" name="page_menu_name" value="<?=$nameinmenu?>" /></td>
            </tr>
            <tr>
                <td style="font-weight:bold;">name in url</td>
                <td><input type="text" name="page_name_url" value="<?=$nameinurl?>" /></td>
            </tr>
            <tr>
                <td style="font-weight:bold;">link</td>
                <td><input type="text" name="page_link" value="<?=$link?>" /></td>
            </tr>
            <tr>
                <td style="font-weight:bold;">picture</td>
                <td><input type="text" name="page_pic" value="<?=$picture?>" /></td>
            </tr>
            <tr>
                <td style="font-weight:bold;">description</td>
                <td><textarea name="page_desc"><?=$desc?></textarea></td>
            </tr>
            <tr>
                <td style="font-weight:bold;">content</td>
                <td><textarea name="page_content"><?=$content?></textarea></td>
            </tr>
            <tr>
                <td colspan="2">
                <input type="hidden" name="send" value="1" />
                <input type="hidden" name="act" value="<?=$_GET["act"]?>" />
                <input type="hidden" name="page_id" value="<?=$pageid?>" />
                <input type="submit" value="add" /></td>
            </tr>
        </table>
</form>
 </body>
</html>

解决: 使用@ Mihai Iorga代码,我添加了ob_start();


问题答案:

那是因为您有一个输出:

?>
<?php

导致空白行输出。

在发送任何实际输出之前,必须通过常规HTML标记,文件中的空白行或从PHP中调用header()

合并所有PHP代码,并确保文件开头没有空格。

如果您还有其他脚本,也可以在header('location: index.php');添加之后exit();

还要将您的重定向标头移到last之后if

如果有内容,那么您还可以通过注入javascript进行重定向:

<?php
    echo "<script>window.location.href='target.php';</script>";
    exit;
?>


 类似资料:
  • 问题内容: 不知道为什么这不起作用。这是代码: 而不是重定向页面,此输出到网页。它跳过了重定向。为什么?我怎样才能解决这个问题?page1.php是一个实际页面,与当前页面位于同一文件夹中。上面的代码是php文件的第一行。没什么 没有。甚至没有空格。 问题答案: Pekka在评论中回答了我的问题。他没有发布答案,所以我现在是。标头重定向后使用此方法。由于某种原因,页眉的其余代码在header()方

  • 问题内容: 这是我的档案。我想使其重定向,但是什么也没有发生。为了查看发生了什么,我在标题部分之前添加了回显。 它既不会引发错误,也不会重定向到index.php。怎么了?我已打开/关闭输出缓冲,但是没有任何东西可以使其重定向。我能做什么? 谢谢 问题答案: 我提醒自己,我已经在实际的测试环境中安装了xDebug,在对其进行了搜索之后,我发现了以下站点:http ://bugs.xdebug.or

  • 正如所有评论我已经改变了我的代码。现在的事情是,当我运行我下面的PHP代码作为单独的文件它运行像魅力: $conn=new mysqli($主机名,$用户名,$密码,$数据库); 但是当我试图将其包含到html代码中时,它不起作用: $conn=new mysqli($主机名,$用户名,$密码,$数据库);

  • 因此,我的Python游戏中的这行代码不起作用: 它应该让玩家输入命令:北、南、东、西、看、搜索、命令或目录。它提出了这样一个问题: 回溯(最近一次调用):文件“/Users/khalilismail/Desktop/COMPUTING/Text-based Games/DragonQuest.py”,第173行,方向=原始输入(“您想做什么?\n”),EOFError:EOF当读取一行时 请帮帮

  • 问题内容: 我有一些可以在JSFiddle中运行的代码,但是无法在自己的页面中运行。 的HTML 的CSS 的JavaScript 如果我将代码放入HTML / JS(以链接形式)/ CSS(以链接形式)文件中,则CSS可以工作,但JavaScript不能。 我尝试用元素的ID 代替,但还是没有运气。 问题答案: “如果我接受代码并放入HTML / JS(链接在头部)” 问题是您已将代码放在中,因

  • 问题内容: include(‘header.php’); 上面的代码不断给我重定向的问题。错误如下: 警告:无法修改标头信息-已在/ Applications / MAMP / htdocs / testygubbins / OO / test / form中发送的标头(输出始于/Applications/MAMP/htdocs/testygubbins/OO/test/header.php:15