#php
#php
Вопрос:
Я опубликовал вопрос об этом ранее, но теперь у меня возникла новая проблема, которую я не понимаю. Вот HTML:
<select name="contactname">
<option></option>
<option value="John Smith|Jsmith@email.com">John Smith</option>
</select>
Вот ошибка, которую я получаю сейчас, когда я внес изменения на страницу публикации.
Ошибка синтаксического анализа: неожиданная T_CONSTANT_ENCAPSED_STRING в строке 48
Вот страница публикации:
</head>
<body>
<?php
$pickone = $_POST [pickone];
$dropone = $_POST [dropone];
$weight = $_POST [weight];
$length = $_POST [length];
$pallets = $_POST [pallets];
$pickupdate = $_POST [pickupdate];
$equipment = $_POST [equipment];
$loadtype = $_POST [loadtype];
$specialinformation = $_POST [specialinformation];
$commodity = $_POST [commodity];
$closetime = $_POST [closetime];
$deliverydate = $_POST [deliverydate];
$req = $_POST [req];
$contact = explode('|', $_POST[contactname]);
$header = "From: " . $contact[0] . " <" . $contact[1] . ">rn";
$subject= "New Load";
$from= "You";
$message = "
Picks: $pickone
Drops: $dropone n
PU Date: $pickupdate Close Time: $closetime
Del Date: $deliverydate n
Mode: $loadtype
Equipment: $equipment
Length: $length
Weight: $weight
Pallets: $pallets
Commodity: $commodity n
Requirements:
$req n
Special Information: $specialinformation
Contact: $contactname[0]
";
mail("email.com", $subject, $message, $header");
?>
<p align="center">Thank You<br>
<input type="button" onclick="window.location.href='page.php';" value=" Post Another Load " />
</p>
</body>
</html>
Пожалуйста, дайте мне знать, чего мне не хватает, потому что, если я не попытаюсь взорвать contactname, это сработает нормально. Спасибо,
Комментарии:
1. Без обид, но ваш код действительно плох. Пожалуйста, добавьте
error_reporting(E_ALL);
в начало вашего кода, а затем исправьте все уведомления. В основном цитирующие строки (ключи вашего массива) — т.е.$_POST['pickone']
вместо$_POST [pickone]
Ответ №1:
mail("email.com", $subject, $message, $header");
Удалите кавычки в конце:
mail("email.com", $subject, $message, $header);
Кроме того, вы действительно хотите вставить реальный адрес электронной почты вместо «email.com «
При исправлении материала также заключайте в кавычки все ключи вашего массива — т.е. $_POST['something']
вместо $_POST[something]
и включайте уведомления с помощью error_reporting(E_ALL);
Ответ №2:
Не следует ли в одной строке читать:
Contact: $contact[0]
Ответ №3:
В конце письма у вас есть дополнительная двойная кавычка mail("email.com", $subject, $message, $header");
, которая должна быть mail("email.com", $subject, $message, $header);
Ответ №4:
Похоже, что в конце строки почты ошибка «.
Попробуйте изменить его на: mail("email.com",$subject,$message,$header);
Кроме этого я не вижу в этом ничего плохого