我已经用Php& amp;做了一个基本的消息传递系统。我想知道为什么我收到此错误消息:
警告:无法修改标题信息 - 已在第33行发送的标题
这是我的完整代码:
<?php
if (isset($_GET['hash'])&&!empty($_GET['hash'])){
$hash = mysqli_escape_string($con, $_GET['hash']);
$message_query = "SELECT from_id, message FROM messages WHERE group_hash='$hash'";
$run_messages = mysqli_query($con,$message_query);
while($row_messages = mysqli_fetch_array($run_messages, MYSQLI_ASSOC)){
$from_id = $row_messages['from_id'];
$message = $row_messages['message'];
$user_query = "SELECT username FROM admins WHERE id='$from_id'";
$query_run = mysqli_query($con, $user_query);
$run_user = mysqli_fetch_array($query_run, MYSQLI_ASSOC);
$from_username = $run_user['username'];
echo "
<div class='widgetbox'>
<h4 class='widgettitle'><i>$from_username</i></h4>
<div class='widgetcontent'>
$message
</div>
</div>
";
}
?>
<div class='widgetbox'>
<form method='POST' action=''>
<?php
if (isset($_POST['message'])&&!empty($_POST['message'])){
$new_message = $_POST['message'];
$insert_reply = "INSERT INTO messages VALUES('','$hash','$id','$new_message')";
$run_reply = mysqli_query($con,$insert_reply);
header('Location: conversations.php?hash='.$hash);
}
?>
<h4 class='widgettitle'>Enter Your Reply <a class='close'>×</a> <a class='minimize'>–</a></h4>
<div class='widgetcontent'>
<textarea name='message' rows='6' cols='50'></textarea></br>
<button name='submit' type='submit' class='btn btn-primary'>Send Message</button>
</div>
</br></br>
</form>
</div>
<?php
}else{
header('Location: dashboard.php');
}
?>
这是第33行:
header('Location: conversations.php?hash='.$hash);
我搜索了很多关于此错误消息&amp;我找到了两个有用的答案:
1- header
必须位于页面顶部但,因为我必须将其放在那里,因为它是我的表单操作脚本的一部分。
2-使用 Javascript 标头标记但这不是一个好主意,因为我需要通过 Php 处理此链接:{{1} }
因此我必须修复此标头问题。如果你知道我怎么能这样做,请告诉我......我真的很感激!谢谢:))
答案 0 :(得分:0)
您正在输出一些HTML标记,然后在第33行重定向。因此警告。
action="{{ url('/auth/register') }}