Java 同一页上有多个表单
我在同一页上有12个表格,每个表格都需要能够在上面提交。 提交时,信息应通过电子邮件发送给我。我使用PHP循环创建产品的表单:Java 同一页上有多个表单,java,php,ajax,Java,Php,Ajax,我在同一页上有12个表格,每个表格都需要能够在上面提交。 提交时,信息应通过电子邮件发送给我。我使用PHP循环创建产品的表单: <?php foreach ($_productCollection as $_product): ?> <form action="" method="post"> <p> <textarea class="finalT
<?php foreach ($_productCollection as $_product): ?>
<form action="" method="post">
<p>
<textarea class="finalTextArea" name="message" id="textarea" placeholder="Motivering MAX 50 Tecken"></textarea>
</p>
<p>
<input type="text" class="finalText" name="name" id="textfield" placeholder="För och Efternamn">
</p>
<p>
<input type="text" class="finalText" name="email" id="textfield2" placeholder="E-mail">
</p>
<p>
<input type="submit" class="finalTextSubmit" name="submit" value="Rösta!">
</p>
</form>
我正试图使用以下代码通过电子邮件将表格发送给我:
<?php
if(isset($_POST['submit'])){
$to = "martin@imonline.se"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$first_name = $_POST['name'];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $first_name . " " . " wrote the following:" . "\n\n". $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
}
?>
它在第一个表单上工作,当它被提交时,它将根本不工作。有没有一种方法可以通过AJAX或其他解决方案实现这一点 如果您将所有输入的名称切换为以[]结尾,例如name=message[],则可以提交多条消息。如果你选择这样做,你将不得不在一个单一的形式,但所有字段。类似于以下内容的内容虽然我没有测试过,所以它可能包含一些缺陷,但这只是为了提供另一种解决问题的方法:
<form action="" method="post">
<?php
foreach ($_productCollection as $_product){
?>
<p>
<textarea class="finalTextArea" name="message[]" id="textarea" placeholder="Motivering MAX 50 Tecken"></textarea>
</p>
<p>
<input type="text" class="finalText" name="name[]" id="textfield" placeholder="För och Efternamn">
</p>
<p>
<input type="text" class="finalText" name="email[]" id="textfield2" placeholder="E-mail">
</p>
<?php
}
?>
<p>
<input type="submit" class="finalTextSubmit" name="submit" value="Rösta!">
</p>
</form>
现在,所有post参数都将存储在数组中,从而创建多个相同的值。
然后我们必须循环遍历每个元素,并为数组中的每个元素发送邮件
<?php
if( $_SERVER['REQUEST_METHOD'] == "POST" ){
$i = 0;
foreach( $_POST['email'] AS $from ){
$to = "martin@imonline.se";
$first_name = $_POST['name'][$i];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $first_name . " " . " wrote the following:" . "\n\n". $_POST['message'][$i];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'][$i];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
$i++;
}
}
您可以使用ajax,也可以只使用一个输入类型=submit,这是在我看来唯一的方法。谢谢,你能不能解释一下,只用一种输入法?我能不能只贴一块,如果可以的话,然后你就可以往上走。谢谢并发表评论@Arif_suhail_123,这样我就可以得到通知,你发布了一些东西,你得到了你的解决方案,和我要发布的一样