下面為您介紹的是php開發中mysql表單提交防止重復刷新的實現方法,如果您之前遇到過類似的問題,不妨一看。
數據庫為jokes,表為jokes,添加一個笑話為例
mysql表單提交頁面:
- <HTML>
- <HEAD>
- <TITLE> Our List of Jokes </TITLE>
- </HEAD>
- <BODY>
- <?php
- session_start(); // 啟用session
- $timetime = time();
- $key ="sess_" . $time; // 根據時間生成一個隨機的session key
- $_SESSION[$key] = $time; // 設置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傳遞到服務端處理
- <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>
- //連接數據庫:
- <?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();
- }
- //啟動session:
- session_start();
- $key = $_POST['session_key'];
- if(!$key || $_SESSION[$key] != substr($key, 5)){
- // 如果沒有傳 session_key 參數
- // 或者 session_key 參數值截斷 sess_後的數字 與 session參數值不匹配
- unset($_SESSION[$key]); // 刪除 session 值
- echo "chu cuo la";// 然後考慮是否要提示錯誤,或者轉入另一個頁面
- exit(); // 終止頁面代碼執行
- }
- // 下面進行數據寫操作
- 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>");
- }
- // 數據操作完成後,刪除session
- unset($_SESSION[$key]);
- }
- ?>
- //顯示笑話內容:
- <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>
MySQL大表備份的簡單方法
MySQL分表處理的實現方法
MySQL授權表使用示例
MySQL內存表的弊端
MySQL獨立表空間的優缺點