关于“php_表单如何提交”的问题,小编就整理了【5】个相关介绍“php_表单如何提交”的解答:
PHP如何避免表单的重复提交?1. 使用JS让按钮在点击一次后禁用(disable)。采用这种方法可以防止多次点击的发生,实现方式较简单。缺点是若客户端禁止JavaScript脚本,则失效。
2. 在提交成功后执行页面重定向(redirect)。转到提交成功信息页面。特点:避免F5重复提交,消除浏览器前进和后退按钮可导致的同样问题。
3. 表单隐藏域中存放session(表单被请求时生成的标记)。采用此方法在接收表单数据后,检查此标志值是否存在,先进行删除,然后处理数据; 若不存在,说明已提交过,忽略本次提交。
4. 数据库唯一索引约束(最有效的防止重复数据的方法)。
5. 使用验证码
php获取表单控件数据有哪两种方法?表单提交数据获取:$_POST 和 $_REQUEST
我的php代码中登陆界面加一个验证码,如何实现?将生成的验证码保存到session,同时输出到表单边上,用户将输出的验证码输入表单,这是再将用户输入的验证码与session中保存的验证进行比较,相等则验证通过反之验证失败!!!
php登陆页面+验证码的实现,参考如下: 1、首先新建一个php站点; 3、新建login.php文件; 用户名文本框昵称为name; 密码文本框为psw; 验证码为yzm; 表单的提交方式为post,提交到check.php。
html表单通过PHP提交到MySQL存储?cj.php代码示例如下:
<?php$conn=@mysql_connect("数据库","帐号","密码") or die(mysql_error()); @mysql_select_db('数据表名',$conn) or die(mysql_error()); $sqlstr = "insert into 数据表名(xm,xxmc,zy,szd,qq,yx,tel,radio,bz) values('" .$_POST['xm']."','" .$_POST['xxmc']."','" .$_POST['zy']."','" .$_POST['szd']."','" .$_POST['qq']."','" .$_POST['yx']."','" .$_POST['tel']."','" .$_POST['radio']."','" .$_POST['bz']."')";mysql_query($sqlstr) or die(mysql_error());
php获取不到post方式提交的数据?你把表单form的提交方法method从POST换成GET,你就能在URL清楚地看到每次提交的内容了,这样更方便新手理解.不过你也可以在浏览器提供的F12开发者工具的网络里查看到请求的GET/POST/请求头等信息.
PHP是HTML预处理器,浏览器首次加载test.php页面,服务器PHP其实并没有拿到用户提交的数据,也就是首次访问生成的HTML页面里的内联JS代码里的alert()是没有用户数据的,在你提交表单后才有,所以会出现你说的"页面JS总是获取到前一次请求的值".
最后再说个安全性问题,你的代码中,$_POST['one']是一个用户输出的数据,在你把用户输入的数据输出到页面上时,需要注意防御XSS注入,防御方法如下:
如果你是把用户输入的数据输出到
HTML上下文
如果你是把用户输入的数据输出到
JS上下文
不过个人还是建议分离JS跟PHP,也就是PHP不要直接输出内容赋值给JS,这样JS代码可以单独放到一个JS文件里.
JS可以这样拿到传统表单提交里的数据并进行AJAX提交,以jQuery为例,将传统form表单提交轻松改造为AJAX提交:
可见HTML传统表单并不需要修改,JS代码里也没有混有PHP代码,编程逻辑就清晰多了.
到此,以上就是小编对于“php_表单如何提交”的问题就介绍到这了,希望介绍关于“php_表单如何提交”的【5】点解答对大家有用。