php開發(fā)中mysql表單提交防止重復(fù)刷新的實(shí)現(xiàn)
作者:佚名
在php開發(fā)中中,經(jīng)常使用mysql數(shù)據(jù)庫,下文將教您實(shí)現(xiàn)mysql表單提交防止重復(fù)刷新的方法,希望對(duì)您今后的項(xiàng)目開發(fā)能有所幫助。
下面為您介紹的是php開發(fā)中mysql表單提交防止重復(fù)刷新的實(shí)現(xiàn)方法,如果您之前遇到過類似的問題,不妨一看。
數(shù)據(jù)庫為jokes,表為jokes,添加一個(gè)笑話為例
mysql表單提交頁面:
- <HTML>
- <HEAD>
- <TITLE> Our List of Jokes </TITLE>
- </HEAD>
- <BODY>
- <?php
- session_start(); // 啟用session
- $timetime = time();
- $key ="sess_" . $time; // 根據(jù)時(shí)間生成一個(gè)隨機(jī)的session key
- $_SESSION[$key] = $time; // 設(shè)置session的值
- ?>
- <FORM ACTION="input.php?tjid=1" METHOD=POST>
- <P>Type your joke here:<BR>
- <TEXTAREA NAME="joketext" ROWS=10 COLS=40 WRAP></TEXTAREA><BR>
- //通過隱藏表單將 session 的 key傳遞到服務(wù)端處理
- <input type="hidden" name="session_key" value="<?php echo $key;?>" />
- <INPUT TYPE=SUBMIT NAME="submitjoke" VALUE="SUBMIT">
- </FORM>
- </BODY>
- </HTML>
- 處理頁面:
- <HTML>
- <HEAD>
- <TITLE> Our List of Jokes </TITLE>
- </HEAD>
- <BODY>
- //連接數(shù)據(jù)庫:
- <?php
- $dbcnx =mysql_connect("localhost","root","******");
- if (!$dbcnx) {
- echo( "<P>Unable to connect to the " .
- "database server at this time.</P>" );
- exit();
- }
- // Select the jokes database
- if (! @mysql_select_db("jokes") ) {
- echo( "<P>Unable to locate the joke " .
- "database at this time.</P>" );
- exit();
- }
- //啟動(dòng)session:
- session_start();
- $key = $_POST['session_key'];
- if(!$key || $_SESSION[$key] != substr($key, 5)){
- // 如果沒有傳 session_key 參數(shù)
- // 或者 session_key 參數(shù)值截?cái)?nbsp;sess_后的數(shù)字 與 session參數(shù)值不匹配
- unset($_SESSION[$key]); // 刪除 session 值
- echo "chu cuo la";// 然后考慮是否要提示錯(cuò)誤,或者轉(zhuǎn)入另一個(gè)頁面
- exit(); // 終止頁面代碼執(zhí)行
- }
- // 下面進(jìn)行數(shù)據(jù)寫操作
- if ("SUBMIT" ==$_POST["submitjoke"] ) {
- $sql="INSERT INTO Jokes (joketext)
- VALUES ('$_POST[joketext]')
- ";
- if (mysql_query($sql)) {
- echo("<P>Your joke has been added.</P>");
- } else {
- echo("<P>Error adding submitted joke: " .
- mysql_error() . "</P>");
- }
- // 數(shù)據(jù)操作完成后,刪除session
- unset($_SESSION[$key]);
- }
- ?>
- //顯示笑話內(nèi)容:
- <P> Here are all the jokes in our database: </P>
- <BLOCKQUOTE>
- <?php
- $result = mysql_query(
- "SELECT * FROM Jokes");
- if (!$result) {
- echo("<P>Error performing query: " .
- mysql_error() . "</P>");
- exit();
- }
- // Display the text of each joke in a paragraph
- while ( $row = mysql_fetch_array($result) ) {
- echo("<P>" . $row["JokeText"] . "</P>");
- }
- ?>
- </BODY>
- </HTML>
【編輯推薦】
責(zé)任編輯:段燃
來源:
互聯(lián)網(wǎng)