我再次需要帮助......
我的PHP代码:
<?php session_start();
include_once 'init.inc.php'; // connection to database
include_once 'testFunc.php';
在我的testFunc.php里面是这样的:
<?php
function loggedIn(){
if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])){
return true;
} else{
return false;
}
}
在我的test1中是这样的:
<?php
if(loggedIn()){
?>
<a href="test.php">Home</a>|
<a href="testMessage.php">Messages</a>|
<a href="testLoggout.php">Log out</a>
<?php
}else{
?>
<a href="test.php">Home</a> |
<a href="testLogin.php">Log In</a>|
<a href="testRegister.php">Register</a>
<?php
}
?>
include_once 'test1.php';
?>
//这里启动主要部分。
<head> // here is line 8 in my code here it gives me the error.
</head>
<body>
<h3>Conversation - Message System</h3>
<?php include_once 'testMessageBar.php' ?>
<?php
$my_id = $_SESSION['user_id'];
?>
<br>
<div>
<?php
if(isset($_GET['hash']) && !empty($_GET['hash'])){
$hash = $_GET['hash'];
$message_query = mysqli_query($db,"SELECT from_id, message FROM messages WHERE group_hash='$hash'");
while($run_message = mysqli_fetch_array($message_query)){
$from_id = $run_message['from_id'];
$message = $run_message['message'];
$user_query = mysqli_query($db, "SELECT username FROM users1 WHERE id='$from_id'");
$run_user = mysqli_fetch_array($user_query);
$from_username = $run_user['username'];
echo "<p><b>$from_username</b><br/>$message</p>";
}
?>
<br/>
<form method="post">
<?php
if(isset($_POST['message']) && !empty($_POST['message'])){
$new_message = $_POST['message'];
mysqli_query($db, "INSERT INTO messages VALUES('','$hash','$my_id','$new_message')");
header('location: testConversation.php?hash='.$hash);
}
?>
Enter Message: <br/>
<textarea name="message" rows="6" cols="30"></textarea>
<br/></br>
<input type="submit" value="Send Message">
</form>
<?php
}else{
echo "<b>Select Conversation </b>";
$get_con = mysqli_query($db,"SELECT hash, user_one, user_two FROM message_group WHERE user_one='$my_id' OR user_two='$my_id'");
while($run_con = mysqli_fetch_array($get_con)){
$hash = $run_con['hash'];
$user_one = $run_con['user_one'];
$user_two = $run_con['user_two'];
if($user_one == $my_id){
$select_id = $user_two;
}else{
$select_id = $user_one;
}
$user_get = mysqli_query($db, "SELECT username FROM users1 WHERE id='$select_id'");
$run_user = mysqli_fetch_array($user_get);
$select_username = $run_user['username'];
echo "<p><a href='testConversation.php?hash=$hash'>$select_username</a></p>";
}
}
?>
</div>
</body>
</html>
我收到了这个错误...
Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/project/sites/test1.php:8)
我知道在header()之前不应该有输出...但我不知道我应该如何修复这个或在哪里定位我的header();一切都还在工作......我现在试了好几个小时仍然不知道...
希望有人可以帮助我:)
答案 0 :(得分:1)
查看header
功能的位置。它位于一些HTML代码的中间。
根据定义,您必须在之前发送标题(在本例中为HTML)。它只是HTTP服务器响应的结构。
确保您输出的任何标题都在输出之前完成,即使是您身体的一个字符。
我不确定您为什么要在表单中间发送Location
标头。如果您想将用户重定向到新页面,请创建一个新问题,询问如何根据特定事件将用户重定向到新页面。