1

我有一个 HTML 表单,它使用一个简单的 PHPmail()脚本将其内容发送到电子邮件地址。我刚刚实现了一个下拉列表:

<select name="event">
  <option name="event1" value="event1">Event 1</option>
  <option name="event2" value="event2">Event 2</option>
  <option name="event3" value="event3">Event 3</option>  
</select>

但是我正在努力寻找一种通过 mail() 发送所选项目的方法

我尝试使用选择元素的名称:

$event= $_REQUEST['event'] ;

以及选项元素的名称:

$event1= $_REQUEST['event1'] ;
$event2= $_REQUEST['event2'] ;
$event3= $_REQUEST['event3'] ;

但这些似乎对我不起作用。有谁知道通过选择器列表检索和发送信息的正确方法?谢谢

4

2 回答 2

4

将此用于您的 html 表单:

<select name="event">
 <option value="event1">Event 1</option>
 <option value="event2">Event 2</option>
 <option value="event3">Event 3</option>
</select>

并在您的表单提交到的 php 页面上使用它:

$event = $_POST['event']

或者

$event = $_GET['event']
于 2012-08-14T00:30:00.153 回答
1

每个选项元素没有自己的名称,只是一个值。

来源:http ://www.w3.org/TR/html401/interact/forms.html#h-17.6

从您的选项元素中删除该name属性:

<select name="event">
  <option value="event1">Event 1</option>
  <option value="event2">Event 2</option>
  <option value="event3">Event 3</option>  
</select>

并且根据您的表单元素使用的方法(postget),您应该使用:

$event = $_POST["event"];

或者

$event = $_GET["event"];

除了使用 mail() 之外,如果保存到数据库或打印回用户,不要忘记使用htmlspecialchars()mysqli_real_escape_string( )。

于 2012-08-14T00:32:53.553 回答