這個頁面總是出現這個問題怎麼回事?

來源:互聯網
上載者:User
這個頁面就是類似貼吧的從貼文清單點進去後某個文章的首頁 回複是提交到本頁的 遇到下面兩個問題了 大家幫我看看謝謝
form表單



下面是插入語句
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
$stnt=$pdo->prepare("insert into reply(reid,name,content)values(:reid,:name,:content)");
$stnt->execute($_POST);
這兩個代碼都是寫在一個頁面的 頁面出現兩個問題 我提交表單後這個輸入框裡面的東西可以插入到資料庫中 然後表單就會清空 但是我點擊重新整理頁面後總是有一個提示框 就是下面這個圖片的內容 如果我點擊繼續後剛才已經提交的資料就會再插入一遍到資料庫中 而且我換別的瀏覽器重新整理頁面也是提示這個框 這是第一個問題


第二個問題是從貼文清單點擊進這個文章後就顯示報錯了 因為上面這個代碼還沒有往資料庫裡面插入資料呢 沒有產生POST的值 如果插入資料後這個報錯就消失了 但是每次點進文章還是會報錯啊 因為是提交到本頁的回複所以沒有寫action 但是我還是試著這樣寫了一個if判斷 但是不對啊 不報錯了但是提交資料後也插入不到資料庫裡面了 這個問題該怎麼解決呢
if(isset($_GET['reid'])
{
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
$stnt=$pdo->prepare("insert into reply(reid,name,content)values(:reid,:name,:content)");
$stnt->execute($_POST);
}


回複討論(解決方案)

1.重新整理頁面的時候會把$_POST裡面的內容也帶上。所以重新整理等於一次重複的表單提
2.判斷應該是判斷$_POST['reid'],而不是$_GET

1.重新整理頁面的時候會把$_POST裡面的內容也帶上。所以重新整理等於一次重複的表單提
2.判斷應該是判斷$_POST['reid'],而不是$_GET


第二個問題我改了一下 已經沒問題了 那麼第一個問題怎麼解決呢?

第一個問題可以通過這個方法解決:

將真正的處理資料部分放到一個單獨的檔案中進行,處理完畢redirect回顯示頁面。

第一個問題可以通過這個方法解決:

將真正的處理資料部分放到一個單獨的檔案中進行,處理完畢redirect回顯示頁面。



你是說把插入的資料的代碼的那一段另寫一個檔案是嗎 插入完成後再跳回來 是這樣的吧 但是跳回來的那個地址了的POST值怎麼辦呢 你再看一下我昨天提問的另一個文章
http://bbs.csdn.net/topics/391903553 這個代碼比較完整 我上面的代碼這樣就是為了省略那個提交的post值所以才提交到本頁的 但是現在又要改回回去 那個post值怎麼辦呢?

“那個POST值”是什麼意思?你需要在插入資料成功之後,回到的頁面再次顯示這些數值?如果是這樣,我建議你回到先前頁面的時候帶一個該記錄的ID,然後用資料庫查詢的方式把這個紀錄拿回來,再把欄位賦值給表單。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.