admin 发表于 2023-2-16 18:54:49

PHP 表单和用户输入

<div id="article_content" class="article_content clearfix">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
                <div id="content_views" class="htmledit_views">
                  <p>PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息&#xff0c;比如用户输入。</p>
<hr>
<h2>PHP 表单处理</h2>
<p>有一点很重要的事情值得注意&#xff0c;当处理 HTML 表单时&#xff0c;PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。</p>
<h3>实例</h3>
<p>下面的实例包含了一个 HTML 表单&#xff0c;带有两个输入框和一个提交按钮。</p>
<h2>form.html 文件代码&#xff1a;</h2>
<p><html> <head> <meta charset&#61;&#34;utf-8&#34;> <title>菜鸟教程(runoob.com)</title> </head> <body> <form action&#61;&#34;welcome.php&#34; method&#61;&#34;post&#34;> 名字: <input type&#61;&#34;text&#34; name&#61;&#34;fname&#34;> 年龄: <input type&#61;&#34;text&#34; name&#61;&#34;age&#34;> <input type&#61;&#34;submit&#34; value&#61;&#34;提交&#34;> </form> </body> </html></p>
<p>当用户填写完上面的表单并点击提交按钮时&#xff0c;表单的数据会被送往名为 &#34;welcome.php&#34; 的 PHP 文件&#xff1a;</p>
<h2>welcome.php 文件代码&#xff1a;</h2>
<p>欢迎<?php echo $_POST[&#34;fname&#34;]; ?>!<br> 你的年龄是 <?php echo $_POST[&#34;age&#34;]; ?> 岁。</p>
<p>通过浏览器访问演示如下&#xff1a;</p>
<p style="text-align:center;"></p>
<p>我们将在下一章中讲解 PHP 中的 $_GET 和 $_POST 变量。</p>
<hr>
<h2>PHP 获取下拉菜单的数据</h2>
<h3>PHP 下拉菜单单选</h3>
<p>以下实例我们设置了下拉菜单三个选项&#xff0c;表单使用 GET 方式获取数据&#xff0c;action 属性值为空表示提交到当前脚本&#xff0c;我们可以通过 select 的 name 属性获取下拉菜单的值&#xff1a;</p>
<h2>php_form_select.php 文件代码&#xff1a;</h2>
<p><?php $q &#61; isset($_GET['q'])? htmlspecialchars($_GET['q']) : ''; if($q) { if($q &#61;&#61;'RUNOOB') { echo '菜鸟教程<br>http://www.runoob.com'; } else if($q &#61;&#61;'GOOGLE') { echo 'Google 搜索<br>http://www.google.com'; } else if($q &#61;&#61;'TAOBAO') { echo '淘宝<br>http://www.taobao.com'; } } else { ?></p>
<p><form action&#61;&#34;&#34; method&#61;&#34;get&#34;> <select name&#61;&#34;q&#34;> <option value&#61;&#34;&#34;>选择一个站点:</option> <option value&#61;&#34;RUNOOB&#34;>Runoob</option> <option value&#61;&#34;GOOGLE&#34;>Google</option> <option value&#61;&#34;TAOBAO&#34;>Taobao</option> </select> <input type&#61;&#34;submit&#34; value&#61;&#34;提交&#34;> </form></p>
<p><?php } ?></p>
<h3>PHP 下拉菜单多选</h3>
<p>如果下拉菜单是多选的&#xff08; multiple&#61;&#34;multiple&#34;&#xff09;&#xff0c;我们可以通过将设置 select <strong>name&#61;&#34;q[]&#34;</strong> 以数组的方式获取&#xff0c;以下使用 POST 方式提交&#xff0c;代码如下所示&#xff1a;</p>
<h2>php_form_select_mul.php 文件代码&#xff1a;</h2>
<p><?php $q &#61; isset($_POST['q'])? $_POST['q'] : ''; if(is_array($q)) { $sites &#61; array( 'RUNOOB' &#61;> '菜鸟教程: http://www.runoob.com', 'GOOGLE' &#61;> 'Google 搜索: http://www.google.com', 'TAOBAO' &#61;> '淘宝: http://www.taobao.com', ); foreach($q as $val) { // PHP_EOL 为常量&#xff0c;用于换行 echo $sites[$val] . PHP_EOL; } } else { ?></p>
<p><form action&#61;&#34;&#34; method&#61;&#34;post&#34;> <select multiple&#61;&#34;multiple&#34; name&#61;&#34;q[]&#34;> <option value&#61;&#34;&#34;>选择一个站点:</option> <option value&#61;&#34;RUNOOB&#34;>Runoob</option> <option value&#61;&#34;GOOGLE&#34;>Google</option> <option value&#61;&#34;TAOBAO&#34;>Taobao</option> </select> <input type&#61;&#34;submit&#34; value&#61;&#34;提交&#34;> </form></p>
<p><?php } ?></p>
<hr>
<h2>单选按钮表单</h2>
<p>PHP 单选按钮表单中 name 属性的值是一致的&#xff0c;value 值是不同的&#xff0c;代码如下所示&#xff1a;</p>
<h2>php_form_radio.php 文件代码&#xff1a;</h2>
<p><?php $q &#61; isset($_GET['q'])? htmlspecialchars($_GET['q']) : ''; if($q) { if($q &#61;&#61;'RUNOOB') { echo '菜鸟教程<br>http://www.runoob.com'; } else if($q &#61;&#61;'GOOGLE') { echo 'Google 搜索<br>http://www.google.com'; } else if($q &#61;&#61;'TAOBAO') { echo '淘宝<br>http://www.taobao.com'; } } else {</p>
<p>?><form action&#61;&#34;&#34; method&#61;&#34;get&#34;> <input type&#61;&#34;radio&#34; name&#61;&#34;q&#34; value&#61;&#34;RUNOOB&#34; />Runoob <input type&#61;&#34;radio&#34; name&#61;&#34;q&#34; value&#61;&#34;GOOGLE&#34; />Google <input type&#61;&#34;radio&#34; name&#61;&#34;q&#34; value&#61;&#34;TAOBAO&#34; />Taobao <input type&#61;&#34;submit&#34; value&#61;&#34;提交&#34;> </form></p>
<p><?php } ?></p>
<hr>
<h2>checkbox 复选框</h2>
<p>PHP checkbox 复选框可以选择多个值&#xff1a;</p>
<h2>php_form_select_checkbox.php 文件代码&#xff1a;</h2>
<p><?php $q &#61; isset($_POST['q'])? $_POST['q'] : ''; if(is_array($q)) { $sites &#61; array( 'RUNOOB' &#61;> '菜鸟教程: http://www.runoob.com', 'GOOGLE' &#61;> 'Google 搜索: http://www.google.com', 'TAOBAO' &#61;> '淘宝: http://www.taobao.com', ); foreach($q as $val) { // PHP_EOL 为常量&#xff0c;用于换行 echo $sites[$val] . PHP_EOL; } } else {</p>
<p>?><form action&#61;&#34;&#34; method&#61;&#34;post&#34;> <input type&#61;&#34;checkbox&#34; name&#61;&#34;q[]&#34; value&#61;&#34;RUNOOB&#34;> Runoob<br> <input type&#61;&#34;checkbox&#34; name&#61;&#34;q[]&#34; value&#61;&#34;GOOGLE&#34;> Google<br> <input type&#61;&#34;checkbox&#34; name&#61;&#34;q[]&#34; value&#61;&#34;TAOBAO&#34;> Taobao<br> <input type&#61;&#34;submit&#34; value&#61;&#34;提交&#34;> </form></p>
<p><?php } ?></p>
<hr>
<h2>表单验证</h2>
<p>我们应该尽可能的对用户的输入进行验证&#xff08;通过客户端脚本&#xff09;。浏览器验证速度更快&#xff0c;并且可以减轻服务器的压力。</p>
<p>如果用户输入需要插入数据库&#xff0c;您应该考虑使用服务器验证。在服务器验证表单的一种好的方式是&#xff0c;把表单的数据传给当前页面&#xff08;异步提交的方式更好&#xff09;&#xff0c;而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。</p>
<p> </p>
                </div>
      </div>
      <div id="treeSkill"></div>
页: [1]
查看完整版本: PHP 表单和用户输入