- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
С php знакома совсем чуть-чуть, написала полтора скрипта на коленке, и сейчас один из них почему-то заглючил (изменений я никаких не вносила).
Помогите пожалуйста разобраться в чем проблема.
форма выглядит так:
<table width="100%" border="0" cellpadding="10">
<tr>
<td colspan="3" valign="top"><h2>Пожалуйста, заполните форму заказа:</h2></td>
</tr>
<tr>
<td width="300" valign="top" class="comic">Ваше Имя:</td>
<td colspan="2" valign="top"><input name="imya" type="text" id="imya" value="" size="50" class="formy"></td>
</tr>
<tr>
<td valign="top" class="comic">Ваш заказ подробно<br>
(можно скопировать описание):</td>
<td colspan="2" valign="top"><textarea name="zakaz" cols="50" rows="10" wrap="virtual" id="zakaz" class="formy"></textarea></td>
</tr>
<tr>
<td valign="top" class="comic">Способ доставки:</td>
<td colspan="2" valign="top"><label>
<input name="samovivoz" type="checkbox" id="samovivoz" value="samov">
<span class="comic">самовывоз</span></label>
<br>
<label>
<input name="dostavka" type="checkbox" id="dostavka" value="dost">
<span class="comic">доставка</span></label>
<br>
<label>
<input name="peresilka" type="checkbox" id="peresilka" value="peres">
<span class="comic">пересылка</span></label></td>
</tr>
<tr>
<td valign="top" class="comic">Ваш адрес и как добраться<br>
(подробно):</td>
<td colspan="2" valign="top"><textarea name="adres" cols="50" rows="10" id="adres" wrap="virtual" class="formy"></textarea></td>
</tr>
<tr>
<td valign="top" class="comic">Нужна консультация?</td>
<td colspan="2" valign="top"><label>
<input name="da" type="checkbox" id="da" value="da">
<span class="comic">да</span></label>
<br>
<label>
<input name="net" type="checkbox" id="net" value="net">
<span class="comic">нет</span></label></td>
</tr>
<tr>
<td valign="top" class="comic">Городской телефон (с кодом города):</td>
<td colspan="2" valign="top"><input name="telgor" type="text" id="telgor" value="" size="50" class="formy"></td>
</tr>
<tr>
<td valign="top" class="comic">Мобильный телефон:</td>
<td colspan="2" valign="top"><input name="telmob" type="text" id="telmob" value="" size="50" class="formy"></td>
</tr>
<tr>
<td valign="top" class="comic">Удобное время звонка:</td>
<td colspan="2" valign="top"><input name="vremya" type="text" id="vremya" value="" size="50" class="formy"></td>
</tr>
<tr>
<td valign="top" class="comic">Способ оплаты:</td>
<td colspan="2" valign="top"><label>
<input name="nal" type="checkbox" id="nal" value="nal">
<span class="comic">наличными при получении </span></label>
<br>
<label>
<input name="predoplata" type="checkbox" id="predoplata" value="predoplata">
<span class="comic">предоплата </span></label></td>
</tr>
<tr>
<td valign="top" class="comic">Ваш e-mail (обязательно!):</td>
<td colspan="2" valign="top"><input name="mail" type="text" id="mail" value="" size="50" class="formy"></td>
</tr>
<tr>
<td valign="top" class="comic">Номер ICQ:</td>
<td colspan="2" valign="top"><input name="icq" type="text" id="icq" value="" size="50" class="formy"></td>
</tr>
<tr>
<td valign="top" class="comic">Дополнительные контакты:</td>
<td colspan="2" valign="top"><input name="dop" type="text" id="dop" value="" size="50" class="formy"></td>
</tr>
<tr>
<td valign="top" class="comic">Откуда Вы про нас узнали?</td>
<td colspan="2" valign="top"><input name="otkuda" type="text" id="otkuda" value="" size="50" class="formy"></td>
</tr>
<tr>
<td colspan="3"><label>
<input type="reset" name="ochistit" value="Очистить форму" class="submit">
</label>
<label>
<input type="submit" name="otpravit" value="Отправить заказ" class="submit">
</label></td>
</tr>
</table>
</form>
скрипт вот так:
$to = "адрес@yandex.ru";
$subject = "Новый заказ";
$message = "Имя пославшего:$imya
заказ подробно:$zakaz
Способы доставки::$samovivoz
Способы доставки:$dostavka
Способы доставки:$peresilka
адрес и как добраться:$adres
Нужна консультация?:$da
Нужна консультация?:$net
Городской телефон:$telgor
Мобильный телефон:$telmob
время звонка:$vremya
Способ оплаты:$predoplata
Способ оплаты:$nal
e-mail:$mail
ICQ:$icq
Дополнительные контакты:$dop
Откуда:$otkuda
IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message) or print "Не могу отправить заказ !!!";
echo "<html><body><h3>";
echo "Спасибо за заказ в нашем интернет-магазине!";
echo "</h3>";
echo "Ваш заказ: $zakaz";
echo "<br>";
echo "Мы...... ля-ля-ля............";
echo "</html></body>";
exit;
?>
последнюю неделю примерно при обработке скрипта выдаются ошибки вида
(выдает незаполненные галочками поля):
Notice: Undefined variable: dostavka in /home/m/mamalama/public_html/kak/mail2.php on line 9
Notice: Undefined variable: da in /home/m/mamalama/public_html/kak/mail2.php on line 12
Notice: Undefined variable: predoplata in /home/m/mamalama/public_html/kak/mail2.php on line 17
Notice: Undefined variable: nal in /home/m/mamalama/public_html/kak/mail2.php on line 18
в чем проблема?
хотелось бы еще чтобы в случае если форма типа этого
<input name="net" type="checkbox" id="net" value="net">
<span class="comic">нет</span></label>
незаполнена, то в итоге отсылки формы (в письме) она бы не отражалась вовсе...
в идеале мне бы еще понять как вообще php взаимодействует с html, т.е. как мне странице на php задать нужное оформление.
PHP вам сообщает, что переменные не инициализированы. Если это нормально, то
первой строчкой в php скрипте добавте:
Помоему, хотя я могу ошибаться, у Вас проблема с конкатенацией строк.
Вот, к примеру, Вы пишите
А нужно, на мой взгляд, так:
, ну или с одиночными кавычками, здесь без разницы (только будьте осторожны если потребуется перевод строки \n)И так по всему тексту.
PHP вам сообщает, что переменные не инициализированы. Если это нормально, то
первой строчкой в php скрипте добавте:
Спасибо, но вы могли бы прокомментировать, то Вы имели ввиду под "Если это нормально"?
и что дает эта строчка? я просто совсем ничего не понимаю пока а чтение про php пока меня только запутывает еще больше
Помоему, хотя я могу ошибаться, у Вас проблема с конкатенацией строк.
Вот, к примеру, Вы пишите
А нужно, на мой взгляд, так: , ну или с одиночными кавычками, здесь без разницы (только будьте осторожны если потребуется перевод строки \n)
И так по всему тексту.
посмотрела, и правда лажа какая-то с кавычками везде. все потому что я не совсем понимаю как надо и почему так...
но вот все же почему мне скрипт ошибки выдает? на передачу формы это не влияет но те, кто ее заполняет, порой пугаются.
Romanuser, вам нужно прочитать про интерполяцию строк в двойных кавычках.
lamansions, ошбика получается из-за того что пользователь не заполнил все поля в форме. Строчка, которую я вам написал, сообщает интепретатору PHP, чтобы он не сообщал о таких ошибках. Рекомендую к скачиванию PHP-мануал
P.s: С кавычками все в порядке.
Лёлик, спасибо Вам огромное!
мануал тоже посмотрю с удовольствием...
а с кавычками я сейчас проглядывала и меня смутила эта строка
$message = "Имя пославшего:$imya
строку сейчас впишу. после этого да?
т.е. получится так:
error_reporting(E_ALL ^ E_NOTICE);
и еще все же мне странно. скрипт работает полгода, а ошибки только сейчас. при чем незаполненные поля присутствовали всегла да и ругается он только на один тип полей сейчас...
echo "Ваш заказ: $zakaz"; - так можно, в двойных кавычках обрабатываются переменные. В апострофах - не обрабатываются.
и еще все же мне странно. скрипт работает полгода, а ошибки только сейчас.
Возможно, на сервере обновили версию PHP или просто изменили настройки по умолчанию.
дубль-дубль
пхп сообщает, что такие переменные не были определены, а именно в этом случае - не поставлены галки в хтмле, вот и переменных нет.
правильней будет делать проверку таких данных. например,
кстати, при регистер глобалс офф Ваш скрипт работать не будет
dvaes, спасибо!
скажите пожалуйста чем лучше делать так как Вы написали, а не так как написал Лелик? его строчку поставила, пока работает...
такую перепроверку надо делать во всех позициях или как?
можно для дураков. что это такое?