php开发中mysql表单提交防止重复刷新的实现

 2022-10-27    373  

下面为您介绍的是php开发中mysql表单提交防止重复刷新的实现方法,如果您之前遇到过类似的问题,不妨一看。

数据库为jokes,表为jokes,添加一个笑话为例 mysql表单提交页面:

php开发中mysql表单提交防止重复刷新的实现

<HTML>
<HEAD>
<TITLE>OurListofJokes</TITLE>
</HEAD>
<BODY>

<?php
session_start();//启用session 
$timetime=time(); 
$key="sess_".$time;//根据时间生成一个随机的sessionkey 
$_SESSION[$key]=$time;//设置session的值 
?> 

<FORMACTION="input.php?tjid=1"METHOD=POST>
<P>Typeyourjokehere:<BR>
<TEXTAREANAME="joketext"ROWS=10COLS=40WRAP></TEXTAREA><BR>
//通过隐藏表单将session的key传递到服务端处理 
<inputtype="hidden"name="session_key"value="<?phpecho$key;?>"/>
<INPUTTYPE=SUBMITNAME="submitjoke"VALUE="SUBMIT">
</FORM>

</BODY>
</HTML>

处理页面: 
<HTML>
<HEAD>
<TITLE>OurListofJokes</TITLE>
</HEAD>
<BODY>
//连接数据库: 
<?php
$dbcnx=mysql_connect("localhost","root","******"); 
if(!$dbcnx){ 
echo("<P>Unabletoconnecttothe". 
"databaseserveratthistime.</P>"); 
exit(); 
} 
//Selectthejokesdatabase 
if(!@mysql_select_db("jokes")){ 
echo("<P>Unabletolocatethejoke". 
"databaseatthistime.</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"chucuola";//然后考虑是否要提示错误,或者转入另一个页面 
exit();//终止页面代码执行 
} 

//下面进行数据写操作 
if("SUBMIT"==$_POST["submitjoke"]){ 
$sql="INSERTINTOJokes(joketext) 
VALUES('$_POST[joketext]') 
"; 
if(mysql_query($sql)){ 
echo("<P>Yourjokehasbeenadded.</P>"); 
}else{ 
echo("<P>Erroraddingsubmittedjoke:". 
mysql_error()."</P>"); 
} 
//数据操作完成后,删除session 
unset($_SESSION[$key]); 
} 
?>

//显示笑话内容: 
<P>Hereareallthejokesinourdatabase:</P>
<BLOCKQUOTE>
<?php
$result=mysql_query( 
"SELECT*FROMJokes"); 
if(!$result){ 
echo("<P>Errorperformingquery:". 
mysql_error()."</P>"); 
exit(); 
} 
//Displaythetextofeachjokeinaparagraph 
while($row=mysql_fetch_array($result)){ 
echo("<P>".$row["JokeText"]."</P>"); 
} 
?>

</BODY>
</HTML> 

  •  标签:  
  • MySQL
  •  

原文链接:https://77isp.com/post/4517.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。