2011-04-15 80 views
1

我想单击按钮后,数据库更新但似乎无法工作后,页面重定向。按钮单击和数据库更新后重定向页面

我有这本身完成一种形式,以减少所使用的页数(如没有,谢谢内容已被编辑”页),但内容已被编辑后,我想回家重定向。

形式和数据库更新:

<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'"); 
    ?> 

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;} 

} 

任何帮助表示感谢,谢谢。

+0

当心SQL注入攻击那里 - 你正在使用从POST值没有消毒它。 – 2011-04-15 17:36:21

+0

是啊谢谢:)我计划清理它后,我有一切工作完全:) – ben 2011-04-15 17:49:42

回答

0

我不知道我完全跟随,但我会rejigger它,所以它是这样的:

<? 
    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注入)。只需将/ path/to /脚本更改为您想要转到的路径/网址即可。

0

我想你只需要编写 header("Location:/"); 我希望这将有助于你

相关问题