2011-04-15 110 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:/"); 我希望這將有助於你

相關問題