‘壹’ 关于php中表单按钮提交
你所发上来的代码是没有问题的,请留下你的QQ,我加你远程帮你看看。
——————
你所发上来的代码是没有问题的,请留下你的QQ,我加你远程帮你看看。
你这样吧,把你的script起始标签改成如下:
<scripttype="text/javascript">
然后再将script标签提到form表单前面去,也就是将你的代码改成如下结构尝试一下:、
<!doctypehtml>
<html>
<head>
<metacharset="utf-8">
<title>无标题文档</title>
</head>
<body>
<scripttype="text/javascript">
functionsub(){
varf=document.getElementById("form");
f.submit();
}
</script>
<formid="form"action=""method="post">
<inputonclick="sub()"type="button"value="提交">
</form>
</body>
</html>
____
如果接下来还是不行,就把sub()这个函数的名字改了,要知道sub是JS一个内置函数,可能是这里冲突也说不定
————
如果还是不行,你将form命名一个name,写成如下形式:
<scripttype="text/javascript">
functionsub(){
varf=document.myForm;
f.submit();
}
</script>
<formname="myForm"id="form"action=""method="post">
<inputonclick="sub()"type="button"value="提交">
</form>
‘贰’ php form表单怎么把数据提交到本页而不跳转
PHP把表单提交到本页,这个的话,我们是通过<form action="提交的文件名">来实现的,还有一个传值的方式,post或者是get可以通过METHOD来实现的,这里我写一段代码:
<html>
<head></head>
<body>
<form action='文件名' method="post">
姓名<input type='text' value="">
密码<input type='text' value="">
email<input type='text' value="">
</form>
</body>
</html>
‘叁’ php怎么获取form表单提交的数据
一般是用post获取提交的数据,如下实例:
<formname="form1"method="post">
<p>用户名:<inputtype="text"name="uname"/></p>
<p>密码:<inputtype="password"name="upwd"/></p>
<p><inputtype="submit"name="btn"value="提交"/></p>
<?php
if($_POST["btn"]){
echo'用户名:'.$_POST["uname"].'<br>';//三体教程
echo'密码:'.$_POST["upwd"];
}
?>
</form>
‘肆’ 如何用PHP实现表单提交
创建go.php,代码如下
<?php
@$username = $_POST['name'];
@$usermessage = $_POST['message'];
if(!empty($username) || !empty($usermessage)){
echo "您的姓名:".$username.",您的留言内容:".$usermessage;
}else{
echo '<form action="go.php" method="post">
您的姓名:<input type="text" name="name"><br><br>
留言内容:<input type="text" name="message">
<button>提交</button>
</form>';
案例截图:
‘伍’ php避免form表单重复提交
php避免form表单重复提交
重复提交我们在php中的防止方法许多最常用的就是数据库限制了,当然也有可以直接在客户端进行限制了,具体的来看php重复提交防止示例会有哪些呢?
下面的情况就会导致表单重复提交:
点击提交按钮两次。
点击刷新按钮。
使用浏览器后退按钮重复之前的操作,导致重复提交表单。
使用浏览器历史记录重复提交表单。
浏览器重复的HTTP请求。
网页被恶意刷新。
下面是几种解决办法:
一:利用js设置按钮点击后变成灰色
<form name=form1 method=”POST” action=”/” target=_blank>
<p>
<input type=”text” name=”T1″ size=”20″>
<input type=”button” value=”提交” onclick=”javascript:{this.disabled=true;document.form1.submit();}”>
</p>
</form>
点击完按钮之后变成灰色就不能点击了,用户需要再次提交表单的话就要刷新页面之后重新填写数据再提交了。
二:利用session
在session中???放一个特殊标志。当表单页面被请求时,生成一个特殊的字符标志串,存在session中,同时放在表单的隐藏域里。接受处理表单数据时,检查标识字串是否存在,并立即从session中删除它,然后正常处理数据。
如果发现表单提交里没有有效的.标志串,这说明表单已经被提交过了,忽略这次提交。
这使你的web应用有了更高级的XSRF保护
加载提交的页面时候,生成一个随机数,
$code = mt_rand(0,1000000);
存储在表单的隐藏输入框中:
< input type=”hidden” name=”code” value=””>
在接收页面的PHP代码如下:
<?php
session_start();
if(isset($_POST[‘code’])) {
if($_POST[‘code’] == $_SESSION[‘code’]){
// 重复提交表单了
}else{
$_SESSION[‘code’] =$_POST[‘code’]; //存储code
}
}?>
三:利用cookies
原理和session差不多,但是cookies一旦用户浏览器禁用cookies,这功能就失效了
if(isset($_POST[‘submit’])){
setcookie(“tempcookie”,””,time()+30);
header(“Location:”.$_SERVER[PHP_SELF]);exit();
}
if(isset($_COOKIE[“tempcookie”])){
setcookie(“tempcookie”,””,0);echo “您已经提交过表单”;
}
四:利用header函数跳转
一旦用户点击提交按钮,处理完数据后跳到其他页面
if (isset($_POST[‘submit’])) {
header(‘location:success.php’);//处理数据后,转向到其他页面
}
五:利用数据库来添加约束
直接在数据库里添加唯一约束或创建唯一索引,一旦发现用户重复提交了,直接抛出警告或者提示,或者只处理第一次提交的数据,这是最直接有效的方法,要求前期的数据库设计和架构要考虑周全.
六:Post/Redirect/Get模式
在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面。
if (isset($_POST[‘action’]) && $_POST[‘action’] == ‘submitted’) {
//处理数据,如插入数据后,立即转向到其他页面
header(‘location:submits_success.php’);
}
这能避免用户按F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退按导致的同样问题。
;‘陆’ php 初学者怎么实现表单的提交
给 form 表单添加 action 属性,属性值就是你接收表单数据的php页面地址,比如
html代码:
<formaction="1.php">
<inputtype="text"name="user">
<inputtype="submit"value="提交">
</form>
php代码:
$user=$_GET['user'];
echo$user;
‘柒’ ThinkPHP 中 form 表单用 get 提交会直接跳到首页,这个需要在哪里进行什么设置
我也遇到这个问题了,刚解决,你用的是TP3.2吧,访问参数类似?s=/xxx/xxx这样吗?那是因为你的s参数被表单get提交参数覆盖了,所以没有控制器和方法就默认访问首页去了。解决的话就把s参数放在表单的隐藏域就可以了。
‘捌’ php怎么实现form提交表单并跳转到action页面
<formaction="a.php"method="post"name="theForm"onsubmit="returnvalidate();">
<tablewidth="90%"id="general-table">
<tr>
<tdclass="narrow-label">{$lang.title}</td>
<td><inputtype="text"name="title"size="40"maxlength="60"value="{$article.title|escape}"/>{$lang.require_field}</td>
</tr>
<inputtype="submit"value="提交"class="button"/>
</form>
上述代码就可以做到执行了,既可以放在html里面做提交,也可以直接放在PHP里面做提交,当action没有指向文件的时候,默认是提交到本页面。
‘玖’ PHP中一个form表单用ajax实现提交之后,怎么恢复到以前的状态
$(form).trigger('reset');
在function里面用这句就可以了,trigger('reset')
触发form的reset[重置]事件相当于点击reset按钮。
‘拾’ php中form表单提交问题请教
把form后边的onsubmit事件删除,只保留a标签的onclick事件中的submit就可以了。