如何在 php 变量中使用多个 if(isset($_POST))
how to use multiple if(isset($_POST)) inside php variable
在包含 select 产品的多个复选框的页面上,我想发送一封带有 selected 复选框的电子邮件。
下面的代码在点击提交按钮后成功输出了我喜欢的东西,但是在网页上。我只是不知道如何将结果包含在电子邮件中。
这是 html 表格:
<form action="" method="post">
<label for="product1"><input type="checkbox" class="equipment[]" id="product1" name="product1" value="100">Add to inquiry</label>
<label for="product2"><input type="checkbox" class="equipment[]" id="product2" name="product2" value="50">Add to inquiry</label>
<label for="product3"><input type="checkbox" class="equipment[]" id="product3" name="product3" value="80">Add to inquiry</label>
<input type="submit" name="submit" class="formsubmitbtn" value="Send inquiry">
</form>
这是在页面上成功打印结果的PHP代码:
<?php
if(isset($_POST['product1'])){
echo "checked Product Name 1"."<br>";
}
if(isset($_POST['product2'])){
echo "checked Product Name 2"."<br>";
}
if(isset($_POST['product3'])){
echo "checked Product Name 3";
}
?>
结果(对我来说是完美的)是:
选中产品名称 1
选中产品名称 2
选中产品名称 3
现在我想将结果放在电子邮件中。这是电子邮件的 PHP:
<?php
if(isset($_POST['submit'])){
$to = "myemailaddress";
$from = $_POST['email']; // this is the sender's Email address
$gearselection = ???;
$subject = "Inquiry";
$message = $from . "\n\n" . $gearselection;
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Your inquiry has been sent.";
}
?>
并且在 $gearselection 我想输出上面代码的结果。
有人能帮忙吗?
首先,得到方括号的应该是 name
属性,而不是 class 并且这个 name
属性应该在 input
复选框上定义不是 label
.
<form action="" method="post">
<input type="checkbox" name="product[]" id="product1" value="Product 1">
<label for="product1">Product 1</label>
<input type="checkbox" name="product[]" id="product2" value="Product 2">
<label for="product2">Product 2</label>
<input type="checkbox" name="product[]" id="product3" value="Product 3">
<label for="product3">Product 3</label>
<input type="submit" name="submit" class="formsubmitbtn" value="Send inquiry">
</form>
然后在 PHP 一侧,您将获得一组值,具体取决于为 $_POST['product']
勾选的内容 - 您可以循环遍历它们以获取所有已检查的项目已选中。
if(!empty($_POST['product'])) {
foreach($_POST['product'] as $p) {
echo $p;
}
}
在您的电子邮件中,您可以执行以下操作:
if(!empty($_POST['product'])) {
$gearselection = implode(', ', $_POST['product']);
}
在包含 select 产品的多个复选框的页面上,我想发送一封带有 selected 复选框的电子邮件。
下面的代码在点击提交按钮后成功输出了我喜欢的东西,但是在网页上。我只是不知道如何将结果包含在电子邮件中。
这是 html 表格:
<form action="" method="post">
<label for="product1"><input type="checkbox" class="equipment[]" id="product1" name="product1" value="100">Add to inquiry</label>
<label for="product2"><input type="checkbox" class="equipment[]" id="product2" name="product2" value="50">Add to inquiry</label>
<label for="product3"><input type="checkbox" class="equipment[]" id="product3" name="product3" value="80">Add to inquiry</label>
<input type="submit" name="submit" class="formsubmitbtn" value="Send inquiry">
</form>
这是在页面上成功打印结果的PHP代码:
<?php
if(isset($_POST['product1'])){
echo "checked Product Name 1"."<br>";
}
if(isset($_POST['product2'])){
echo "checked Product Name 2"."<br>";
}
if(isset($_POST['product3'])){
echo "checked Product Name 3";
}
?>
结果(对我来说是完美的)是:
选中产品名称 1
选中产品名称 2
选中产品名称 3
现在我想将结果放在电子邮件中。这是电子邮件的 PHP:
<?php
if(isset($_POST['submit'])){
$to = "myemailaddress";
$from = $_POST['email']; // this is the sender's Email address
$gearselection = ???;
$subject = "Inquiry";
$message = $from . "\n\n" . $gearselection;
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Your inquiry has been sent.";
}
?>
并且在 $gearselection 我想输出上面代码的结果。
有人能帮忙吗?
首先,得到方括号的应该是 name
属性,而不是 class 并且这个 name
属性应该在 input
复选框上定义不是 label
.
<form action="" method="post">
<input type="checkbox" name="product[]" id="product1" value="Product 1">
<label for="product1">Product 1</label>
<input type="checkbox" name="product[]" id="product2" value="Product 2">
<label for="product2">Product 2</label>
<input type="checkbox" name="product[]" id="product3" value="Product 3">
<label for="product3">Product 3</label>
<input type="submit" name="submit" class="formsubmitbtn" value="Send inquiry">
</form>
然后在 PHP 一侧,您将获得一组值,具体取决于为 $_POST['product']
勾选的内容 - 您可以循环遍历它们以获取所有已检查的项目已选中。
if(!empty($_POST['product'])) {
foreach($_POST['product'] as $p) {
echo $p;
}
}
在您的电子邮件中,您可以执行以下操作:
if(!empty($_POST['product'])) {
$gearselection = implode(', ', $_POST['product']);
}