举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > php处理表单 PHP表单多值字段

php处理表单 PHP表单多值字段

2023-03-05 01:18 PHP教程

php处理表单 PHP表单多值字段

php处理表单

PHP是一种强大的服务器端脚本语言,它可以用来处理表单数据。表单是一种用户界面,它允许用户在Web页面上输入信息,然后将这些信息发送到服务器。PHP可以收集这些信息,并将其存储在数据库中,或者使用它来执行特定的任务。

要处理表单数据,首先要创建一个HTML表单。HTML表单包含一系列字段,如文本字段、多选字段、下拉列表等。当用户填写并提交表单时,这些字段中的数据将作为HTTP请求发送到服务器。

当服务器端的PHP脚本得到HTTP请求时,它会使用$_POST或$_GET关联数组来获取表单中的数据。$_POST数组包含POST方法发送的所有数据,而$_GET数组包含GET方法发送的所有数据。

// 获取 POST 方法传递的 name 参数 
$name = $_POST['name']; 
// 获取 GET 方法传递的 age 参数 
$age = $_GET['age']; 

PHP还可以使用正则表达式来验证由表单传递的信息是否正确。例如,如果你想要验证一个email地址是否正确格式:

 
if ( preg_match( '/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $email ) ) { 
    // email 格式正确 
} else { 
    // email 格式不正确 
}   

当你处理客户端传来的信息时,你应该对其进行过滤和验证以避免XSS(Cross Site Scripting) 攻击。XSS是一种常见的Web应用安全问题,它使得想要圆出Web应用中不明代码能够执行圆出者愿意执行的代码。

  // 过去 HTML 标记   $data = strip_tags($data);   // 转义 HTML 字符   $data = htmlspecialchars($data); 

当你处理好所有信心之后就可以将其存

PHP表单多值字段

PHP教程 - PHP表单多值字段

表单字段可以发送多个值,而不是单个值。

实施例1

例如,以下表单字段能够向服务器发送多个值:

<label for="mySelection">What are your favorite widgets?</label> 
<select name="mySelection" id="mySelection" size="3" multiple="multiple"> 
  <option value="PHP">PHP Language</option> 
  <option value="Java">Java Language</option> 
  <option value="CSS">CSS Language</option> 
</select> 

多选列表框,允许用户选择一个或多个(或不选)选项。



实施例2

<label for="tested">Have you tested?</label>
<input type="checkbox" name="myTask" id="tested" value="testTask"/>

<label for="designed">Have you designed?</label>
<input type="checkbox" name="myTask" id="designed" value="designTask"/>

复选框可以具有相同的名称(myTask),但具有不同的值(testTask和designTask)。

如果用户选中两个复选框,testTask和designTask,在myTask字段名称下发送到服务器。



怎么样

那么如何处理PHP脚本中的多值字段呢?诀窍是添加方括号([])在HTML表单中的字段名称后面。

当PHP引擎看到提交的表单字段名称在末尾使用方括号,它会在$ _GET或$ _POST中创建一个嵌套的值数组和$ _REQUEST超全局数组,而不是单个值。

然后,您可以拉出单个值嵌套数组。 因此,您可以创建一个多选列表控件,如下所示:

<select name="mySelection[]" id="mySelection" 
    size="3" multiple="multiple"> ... </select>

然后,您可以检索包含提交的字段值的数组,如下所示:

$favoriteLanguage = $_GET["mySelection"];  // If using get method 
$favoriteLanguage = $_POST["mySelection"]; // If using post method 

实施例3

具有多值字段的注册表

<!DOCTYPE html5>
<html>
  <body>
    <form action="index.php" method="post"> 
        <label for="firstName">First name</label> 
        <input type="text" name="firstName" id="firstName" value="" /> 

        <label for="mySelection">What are your favorite widgets?</label> 
        <select name="mySelection[]" id="mySelection" size="3" multiple="multiple"> 
          <option value="PHP">PHP Language</option> 
          <option value="Java">Java Language</option> 
          <option value="CSS">CSS Language</option> 
        </select> 

        <label for="tested">Choice One?</label> 
        <input type="checkbox" name="chioces[]" id="ChoiceOne" value="testTask" /> 

        <label for="designed">Choice Two?</label> 
        <input type="checkbox" name="chioces[]" id="ChoiceTwo" value="designTask" /> 

        <input type="submit" name="submitButton" id="submitButton" value="Send Details" /> 
        <input type="reset" name="resetButton" id="resetButton"  value="Reset Form"/> 
      </div> 
    </form> 

  </body> 
</html> 

现在将以下脚本作为index.php保存在文档根文件夹中:

<!DOCTYPE html5> 
<html> 
<body> 
<?php 
$mySelection = ""; 
$chiocess = ""; 
if ( isset( $_POST["mySelection"] ) ) { 
  foreach ( $_POST["mySelection"] as $widget ) { 
    $mySelection .= $widget . ", "; 
  } 
} 

if ( isset( $_POST["chioces"] ) ) { 
  foreach ( $_POST["chioces"] as $chioces ) { 
    $chiocess .= $chioces . ", "; 
  } 
} 
$mySelection = preg_replace( "/, $/", "", $mySelection ); 
$chiocess = preg_replace( "/, $/", "", $chiocess ); 
?><dl> 
    <dt>First name</dt><dd><?php echo $_POST["firstName"]?></dd> 
    <dt>Favorite widgets</dt><dd><?php echo $mySelection?></dd> 
    <dt>You want to receive the following chiocess:</dt><dd> 
    <?php echo $chiocess?></dd> 
    <dt>Comments</dt><dd><?php echo $_POST["comments"]?></dd> 
</dl> 

</body> 
</html> 
阅读全文
以上是编程学为你收集整理的php处理表单 PHP表单多值字段全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • phpfor循环输出1到100 PHP for循环

    phpfor循环输出1到100 PHP for循环

    2023-04-18 PHP教程

    PHP教程 -PHP for循环for循环由声明,条件和操作组成:declaration defines a loop-counter variable and sets it to a starting ...

  • php 函数 PHP nl2br() 函数

    php 函数 PHP nl2br() 函数

    2023-04-21 PHP教程

    PHP nl2br() 函数PHP String 参考手册实例 在字符串中的新行(n)之前插入换行符:?php echo nl2br("One line.nAnother line.");...

  • php rmdir PHP rmdir() 函数

    php rmdir PHP rmdir() 函数

    2023-03-05 PHP教程

    PHP rmdir() 函数 完整的 PHP Filesystem 参考手册定义和用法 rmdir() 尝试删除dirname所指定的目录。 该目录必须是空的,而且要...

  • php 语句 PHP 7 use 语句

    php 语句 PHP 7 use 语句

    2023-03-12 PHP教程

    PHP 7 use 语句 PHP 7 新特性PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量:实例实例//PHP7之前版本需要使...

  • phpcurl详解 PHP curl_escape函数

    phpcurl详解 PHP curl_escape函数

    2023-03-19 PHP教程

    PHP curl_escape函数 PHP cURL参考手册(PHP 5 >= 5.5.0)curl_escape — 对给定的字符串进行URL编码。说明string curl_escape ( r...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部