Помощь! У меня возникли проблемы с вводом некоторых условных операторов в мой php-скрипт для формы.
Это суть HTML:
<input type="text" name="address1" id="address1" class="required" />
<input type="text" name="address2" id="address2" />
<input type="text" name="city" id="city" />
<input type="text" name="postcode" id="postcode" class="required" />
И php выглядит примерно так:
$address1 = $_REQUEST["address1"] ;
$address2 = $_REQUEST["address2"] ;
$city = $_REQUEST["city"] ;
$postcode = $_REQUEST["postcode"] ;
$message =
"address: $address1, " .
"$address2, " .
"$city, " .
"$postcode" .
$sent = mail($to, $subject, $message, 'From:' . $email_address) ;
У меня есть некоторая проверка jQuery на «адрес1» и «почтовый индекс», поэтому они не являются проблемой, поскольку они всегда будут возвращать значение. Если «адрес2» и «город» не заполнены (возможно, у заполнителя формы нет второй строки для своего адреса или он не вводит город, как они думают — правильно — что почтовый индекс будет достаточным при поиске своего адреса) они по-прежнему возвращают значение («ничего») в электронном письме.
То, что я хотел бы сделать, это то, что входы формы, которые оставлены пустыми, ничего не отправляют по электронной почте. Другими словами, если переменная $address2 пуста, не присылайте мне «пустое место». Например, если все будет готово, я получу это, и это здорово:
адрес: 1 Test Street, West End, Test City, AB1 23C
Если бы поле отсутствовало, я бы получил это, что немного беспорядочно:
адрес: 1 Test Street, , Test City, AB1 23C
Но я хотел бы это, потому что это красиво и аккуратно:
адрес: 1 Test Street, Test City, AB1 23C
Я пытался разобраться с функцией isset, но мне не повезло. Я также пробовал базовый оператор «если», но, похоже, тоже ничего не могу с этим сделать. Я должен признать, что php не является моей сильной стороной, и я потратил много времени на это безуспешно. Ваша помощь очень ценится!
Большое спасибо,
Мартин.
"I've got some jQuery validation on 'address1' and 'postcode' so they're not an issue as they'll always return a value."
Вы не можете доверять проверке на стороне клиента, чтобы она работала так, как вы этого хотите - пользователь может обойти ее или создать свою собственную форму, если они того пожелают. - person Hammerite   schedule 06.04.2011