我正在处理一个脚本,该脚本负责在成功更新后刷新页面。我正在使用GET方法来传递信息。我有一个名为“读取”的按钮,单击该按钮将更新我的数据库并负责刷新页面。当前,我正在使用此功能创建表:
if (data.status === "Success") {
$scope.close = null;// close updates dom after next statement which is not expected .
$timeout(function() {
alert(data.successmessage);
});
}
该函数调用我的更新:
function fetch_message($patient_ssn, $physician_ssn) {
global $conn, $key, $iv;
//Create query to fetch data
$query = "SELECT message_ID, message_body, date_message, time_message, read_message FROM message WHERE patient_SSN='$patient_ssn' AND physician_SSN='$physician_ssn'";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_row($result)) {
//Enter table data here
if($row[4] == 0) {
echo '<tr class="table-danger">';
} elseif($row[4] == 1) {
echo '<tr class="table-success">';
}
echo "<td>$row[0]</td>";
$decrypted_message = decrypt_text($row[1], $key, $iv);
echo "<td>$decrypted_message</td>";
echo "<td>$row[2]</td>";
echo "<td>$row[3]</td>";
//Checkbox setup
if($row[4] == 0) {
echo "<td><input type='submit' name='read' value='Confirm $row[0]'</td>";
} elseif($row[4] == 1) {
echo "<td><lable>Confirmed</lable></td>";
}
echo '</tr>';
}
echo '<tr>';
echo '<th class="text-center" colspan="2" scope="row"><input type="submit" value="Update" name="update"</th>';
echo '</tr>';
}
我遇到的问题是,单击按钮后,我希望它更新表并将页面刷新回 messaging.php 。这就是我尝试重定向的方式
function update_check($message_id, $patient_ssn, $physician_ssn) {
global $conn;
$query = "UPDATE message SET read_message='1' WHERE message_ID='$message_id' AND patient_SSN='$patient_ssn' AND physician_SSN='$physician_ssn'";
$result = mysqli_query($conn, $query);
if($result) {
echo "success";
}
}
(我也尝试过使用header(“ Location:messages.php”);但出现错误:
标题无法修改
可能是因为我在脚本顶部使用了fetch_message($_SESSION['ssn'], $_SESSION['phy_ssn']);
//Update button has been clicked
if(isset($_GET['read'])) {
$message_id =explode(' ' , $_GET['read']);
update_check($message_id[1], $_SESSION['ssn'], $_SESSION['phy_ssn']);
echo "<meta http-equiv='refresh' content='0' URL='messaging.php'>";
}
。使用meta标签,它可以工作,但是它开始进行快速刷新而不停止。
URL看起来像这样:
session_start();
对于实现此目标的正确过程,我感到很困惑。 我该如何解决这个问题?
答案 0 :(得分:1)
通过使用输出缓冲区,可以避免标题出现问题。只需在ob_start()
之后添加session_start()
。
顺便说一句。尝试使用准备好的sql语句。更安全。
答案 1 :(得分:0)
尝试使用此PHP方法。 >>> is_palindrome("f")
True
>>> is_palindrome("foo")
False
>>> is_palindrome("foof")
True