[英]Value from checkbox send by mail - PHP form
I have this PHP code on my backend 我的后端有这个PHP代码
if(!empty($_POST['model_list'])) {
foreach($_POST['model_list'] as $model) {
}
} else {
throw new Exception('Choose the model.');
}
When I receive the request from my front-end, the $_POST['model_list'] variable doesn't seem to contain the value that was specified in the front-end. 当我从前端收到请求时,$ _POST ['model_list']变量似乎不包含前端指定的值。
Here's my HTML code: 这是我的HTML代码:
<input type="checkbox" value="A" name="model_list[]"><span>A</span>
I have an error: 我有一个错误:
Notice: Undefined variable: model in /form.php on line 17
注意:未定义的变量:第17行的/form.php中的模型
Line 17: 第17行:
$body = "Name: $name \n E-mail: $email \n Phone number: $tel \n Serial number: $number \n Model: $model \n Message: $message \n";
Full code: 完整代码:
<?php
if (isset($_POST["submit"])) {
$name = (string) $_POST['name'];
$email = (string) $_POST['email'];
$message = (string) $_POST['message'];
$number = (string) $_POST['number'];
$tel = (string) $_POST['tel'];
$from = 'name@domain.tld';
$to = 'name@domain.tld';
$subject = 'Form';
$body = "Name: $name \n E-mail: $email \n Phone number: $tel \n Serial number: $number \n Model: $model \n Message: $message \n";
try {
if (!$name) {
throw new Exception('Write name.');
}
if (!$email || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
throw new Exception('Write correct e-mail');
}
if (!$message) {
throw new Exception('Write message');
}
if (mail ($to, $subject, $body, $from)) {
$result = "<center><div style='color:white;font-size:15px;font-weight:700;'>Your message has been sent</div></center>";
} else {
throw new Exception("Your message has not been sent, try again");
}
if(!empty($_POST['model_list'])) {
foreach($_POST['model_list'] as $model) {
}
} else {
throw new Exception('Choose the model.');
}
} catch(Exception $e){
$result = "<center><div style='color:white;font-size:25px;font-weight:700;'>" . $e->getMessage() . "</div></center>";
}
echo $result;
}
?>
Thanks in advance. 提前致谢。
To get all the models in the email, use implode
: 要获取电子邮件中的所有模型,请使用
implode
:
if (!empty($_POST['model_list'])) {
$model = implode(', ', $_POST['model_list']);
} else {
$model = '';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.