php - 单击按钮和更新数据库后重定向页面

标签 php mysql redirect

我试图在单击按钮后和数据库更新后让页面重定向,但它似乎不起作用。

我有一个可以自行完成的表格,以减少使用的页面数量(例如,不,感谢内容已被编辑”页面),但在内容被编辑后我希望重定向回首页。

表单和数据库更新:

    <div id = "errormsg">&nbsp;</div>
    <?php 

    echo "<table border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"7\" style=\"font-family:Arial;font-size:11px\">";
    echo "<tr>";
        echo "<td>&nbsp;</td>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
        echo "<td><form name=\"confhome\" method=\"post\" action=\"\" onsubmit=\"return valText()\"><textarea name=\"tag\" cols=\"20\" rows=\"3\" id=\"tag\">$row[tagbrief]</textarea></td></tr>";
        echo "<tr><td><input type=\"submit\" value=\"Edit\"></form></td></tr>";
        echo "<tr></tr>";
        echo "</table><br/>";


    $tagbrief = $_POST['tag'];
    mysql_query("UPDATE quackedup SET tagbrief='$tagbrief' WHERE id='1'");
    ?>

ref 的 JS 验证

<script type="text/javascript">
function valText(){

    var text = document.getElementById('tag');
    var div = document.getElementById('errormsg');

    var lets = /^[0-9a-zA-Z\s\-\'(\)\&\,\:\.\!\?]+$/;

    if((text.value == '') || (text.value == ' ')){
        div.innerHTML="<b>Please enter your changes</b>";
        text.focus();
        return false;}
    else if(text.value.match(lets)){
        div.innerHTML="<b>Content updated</b>";
        return true;}
else {
    return false;}

}

感谢任何帮助,谢谢。

最佳答案

我不确定我是否完全遵循,但我会重新调整它,所以它是这样的:

<?
    if($_POST)
    {
        $tagbrief = mysql_real_escape_string($_POST['tag']);
        mysql_query("UPDATE quackedup SET tagbrief='$tagbrief' WHERE id='1'");

        header("Location: /path/to/script");
        exit;
    }
?>

<div id = "errormsg">&nbsp;</div>
<?php 

echo "<table border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"7\" style=\"font-family:Arial;font-size:11px\">";
echo "<tr>";
    echo "<td>&nbsp;</td>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
    echo "<td><form name=\"confhome\" method=\"post\" action=\"\" onsubmit=\"return valText()\"><textarea name=\"tag\" cols=\"20\" rows=\"3\" id=\"tag\">$row[tagbrief]</textarea></td></tr>";
    echo "<tr><td><input type=\"submit\" value=\"Edit\"></form></td></tr>";
    echo "<tr></tr>";
    echo "</table><br/>";
?>

现在,如果您实际发布表单,它只会更新字段,并且数据库会转义表单内容(以防止 SQL 注入(inject))。只需将/path/to/script 更改为您要访问的路径/url。

关于php - 单击按钮和更新数据库后重定向页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5680307/

相关文章:

angularjs - Angular 路由的 htaccess 重定向

php - 如何避免并记录数据库的一些意外情况?

java - 从 Android 应用程序向 MySQL 数据库提交数据

当我知道格式时,php 从字符串中获取时间戳

php - 如何在每个表上显示 4 个不同的数据,以便在 Laravel 中名为 Transaction 的一个表上看到?

php - MySQL 查询 - 如何获取相关标签的数量

php - 为什么在我的网络服务器上找不到我的图像?

php - 使用 PHP 从 SQL 表数据创建 XML 文件

PHP session 在重定向后丢失

基于 Javascript 的重定向 : will it hurt SEO?