我已经搜索了几个小时,但实际上找不到答案。
我想做的是一个大字段和彼此相邻的小字段,例如。 对于单独的地址或电话号码,例如 Blackstreet 27 或 123 - 456789。 它需要在我邮箱中收到的邮件中打印为一个。 一切都与网页上的两个或多个字段有关,但与最终结果无关。相同的名称或 ID 不起作用。
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label for="form_area">Area code *</label>
<input id="form_area" maxlength="4" type="tel" name="area" class="form-control" placeholder="Area code required *" required="required" data-error="Your area code is required.">
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label for="form_phone">Phone number *</label>
<input id="form_phone" type="tel" pattern="^[_0-9]{1,}$" name="phone" class="form-control" placeholder="Phone number required *" required="required" placeholder="Your phone number is required.">
<div class="help-block with-errors"></div>
</div>
</div>
</div>
编辑:对不起。我认为这与 php 文件有关。' 使这一切中断。当我删除它时,它全部出现在一行中,只有一些字段必须在一行中。
法典:
<?php
// configure
$from = 'emailadres';
$sendTo = 'emailadres';
$subject = 'New message from contact form';
$fields = array('name' => 'Name', 'businessname' => 'Businessname', 'phone' => 'Phonenumber', 'email' => 'Email', 'message' => 'Message'); // array variable name => Text to appear in email
$okMessage = 'I'll contact you asap!';
$errorMessage = 'Something went wrong. try again later';
// let's do the sending
try
{
$emailText = "You have new message from contact form'n============================='n";
foreach ($_POST as $key => $value) {
if (isset($fields[$key])) {
$emailText .= "$fields[$key]: $value'n";
}
}
mail($sendTo, $subject, $emailText, "From: " . $from);
$responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch ('Exception $e)
{
$responseArray = array('type' => 'danger', 'message' => $errorMessage);
}
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$encoded = json_encode($responseArray);
header('Content-Type: application/json');
echo $encoded;
}
else {
echo $responseArray['message'];
}
?>
也许你可以写 col-xs-2 而不是 col-xs-5。或者写入输入字段宽度。另请查看 http://bootsnipp.com/有数十个有效的引导片段。
不幸的是,
我的问题还没有解决。是否可以做这样的事情:
foreach ($_POST as $key => $value) {
if (isset($fields[$key])) {
$emailText .= "$fields[$key]: $name $businessname'n";
"$fields[$key]: $phonenumber'n";
"$fields[$key]: $email'n";
}
}
所以我告诉表单在哪个值之后打破,而不是在每个值之后?
将我的旧 phpmailer 表单与引导和 ajax 表单相结合应该更容易,但我缺乏经验来解决这个问题。
我终于得到了答案!(感谢剧本作者Ondrej)。
这部分必须更换:
foreach ($_POST as $key => $value) {
if (isset($fields[$key])) {
$emailText .= "$fields[$key]: $value'n";
}
}
为此:
$emailText .= "Name: " . $_POST['name']. "'n";
$emailText .= "Businessname: " . $_POST['businessname']. "'n";
$emailText .= "Address: " . $_POST['street']." ". $_POST['number']. "'n";
$emailText .= "Phonenumber: " . $_POST['phone']. "'n";
$emailText .= "E-mail: " . $_POST['email']. "'n";
$emailText .= "Message: " . $_POST['message']. "'n";
并且可以在配置部分删除此行:
$fields = array('name' => 'Name', 'businessname' => 'Businessname', 'phone' => 'Phonenumber', 'email' => 'Email', 'message' => 'Message'); // array variable name => Text to appear in email
所以完整的 php 文件现在看起来像这样:
<?php
// configure
$from = 'emailadres';
$sendTo = 'emailadres';
$subject = 'New message from contact form';
$okMessage = 'I'll contact you asap!';
$errorMessage = 'Something went wrong. try again later';
// let's do the sending
try
{
$emailText = "You have new message from contact form'n============================='n";
$emailText .= "Name: " . $_POST['name']. "'n";
$emailText .= "Businessname: " . $_POST['businessname']. "'n";
$emailText .= "Address: " . $_POST['street']." ". $_POST['number']. "'n";
$emailText .= "Phonenumber: " . $_POST['phone']. "'n";
$emailText .= "E-mail: " . $_POST['email']. "'n";
$emailText .= "Message: " . $_POST['message']. "'n";
mail($sendTo, $subject, $emailText, "From: " . $from);
$responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch ('Exception $e)
{
$responseArray = array('type' => 'danger', 'message' => $errorMessage);
}
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$encoded = json_encode($responseArray);
header('Content-Type: application/json');
echo $encoded;
}
else {
echo $responseArray['message'];
}
?>