Одесса: 5°С (вода 9°С)
Киев: 1°С
Львов: 7°С

Тема: Вопрос по PHP :)

Ответить в теме
Показано с 1 по 13 из 13
  1. Вверх #1

    Question Вопрос по PHP :)

    Народ помогите начинающему юзеру

    Не могу отобразить переменные в тексте письма... Может делаю что-то не так ?

    <?php
    if (isset($site)) {$site="Да";} else {$site="Нет";}
    if (isset($book)) {$book="Да";} else {$site="Нет";}
    $v = mail("[email protected]","Заказ сайта","На сайте был сделан заказ. \n Заказ пришел от: $fio \n Его пароль: $pass \n Его E-Mail: $email \n Выбрал формат диска: $format \n Выбрал курс по созданию сайта: $site \n Курс по созданию электронных книг: $book \n Выбрал тип доставки: $delivery \n Адрес для доставки: $adress","content-type:text/plain; charset = windows-1251\r\n");
    if ($v == "true") {echo "Ваше сообщение доставлено";}
    ?>


  2. Вверх #2
    может нужно кавычки \" \" экранировать

  3. Вверх #3
    Цитата Сообщение от Enter Посмотреть сообщение
    может нужно кавычки \" \" экранировать
    не помогло (

  4. Вверх #4
    качни тут www.colechen.ru/videos/7-sendmail.html обработчик и в коде посмотри как правильно отправлять надо

  5. Вверх #5
    Цитата Сообщение от Enter Посмотреть сообщение
    качни тут www.colechen.ru/videos/7-sendmail.html обработчик и в коде посмотри как правильно отправлять надо
    ок спс

  6. Вверх #6
    1. По всей видимости, во второй строчке ошибка - тоже должен быть $book="Нет";
    Поэтому пропадает $book

    Код:
    if (isset($site)) {$site="Да";} else {$site="Нет";}
    if (isset($book)) {$book="Да";} else {$site="Нет";}
    2. Кроме $site и $book у вас куча других переменных (которые в куске кода не определены), при интерпритации они будут undefined и выдавать соответствующий нотис, а при отключении нотисов - пустота. Смотрите, что и где определяется.

  7. Вверх #7
    Цитата Сообщение от Ramix Посмотреть сообщение
    1. По всей видимости, во второй строчке ошибка - тоже должен быть $book="Нет";
    Поэтому пропадает $book

    Код:
    if (isset($site)) {$site="Да";} else {$site="Нет";}
    if (isset($book)) {$book="Да";} else {$site="Нет";}

    2. Кроме $site и $book у вас куча других переменных (которые в куске кода не определены), при интерпритации они будут undefined и выдавать соответствующий нотис, а при отключении нотисов - пустота. Смотрите, что и где определяется.
    Спс исправил

  8. Вверх #8
    if ($v == "true") {echo "Ваше сообщение доставлено";} - true имеет тип boolean а не string.
    Здесь это не принципиально, так как сравнение однозначно будет в логическом контексте, но иногда это нужно надо учитывать.
    Последний раз редактировалось DC_new; 07.07.2011 в 18:18.

  9. Вверх #9
    if ($v == "true") {echo "Ваше сообщение доставлено";} - true имеет тип boolean а не string.
    Здесь это не принципиально
    Как раз здесь это принципиально. В примере $v никогда не будет "true" и строка никогда печататься не будет. Можно просто написать if ($v) {..}

  10. Вверх #10
    Цитата Сообщение от Agroman Посмотреть сообщение
    Как раз здесь это принципиально. В примере $v никогда не будет "true" и строка никогда печататься не будет. Можно просто написать if ($v) {..}
    А где интересно Вы в моем сообщении прочитали что $v будет равен "true" ?
    Функция mail() возвращает булевое значение, и конечно же $v будет содержать логический тип.

    Но если один из сравниваемых операндов логический, то PHP второй тоже интепретирует как логический, и сравнение происходит в логическом контексте.
    Не верите ? Попробуйте запустить код

    $v = true;
    if($v =="surprise") print "surprise";

    А теперь скажите как в логическом контексте интерпретируется непустая строка ?

  11. Вверх #11
    Модератор
    Мистер Одесский Форум
    Аватар для maxx™
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    38
    Сообщений
    23,353
    Репутация
    6088
    Цитата Сообщение от DC_new Посмотреть сообщение
    А теперь скажите как в логическом контексте интерпретируется непустая строка ?
    Это зависит от содержимого этой самой строки.

    А топистартеру - попробуй писать "Привет" . $name . "Как дела?"
    Такая конструкция всегда работает.

  12. Вверх #12
    Топикстартер, тогда уж лучше тернарный использовать, + как сказал maxx, так правильней и мух от котлет отделишь.
    Сделай, чтобы было. Затем — чтобы было красиво. Затем — чтобы было быстро

  13. Вверх #13
    Цитата Сообщение от maxx™ Посмотреть сообщение
    Это зависит от содержимого этой самой строки.

    А топистартеру - попробуй писать "Привет" . $name . "Как дела?"
    Такая конструкция всегда работает.
    Конкатенация иногда медленно работает. Но в данном случае это не принципиально. =)
    А вообще есть такая замечательная функция как var_dump() которая покажет тип и содержимое переменной... так что если что-то не выводится, то проверяйте значение своих переменных...


Ответить в теме

Похожие темы

  1. Введение в PHP, MySQL
    от Anonymous в разделе Программирование
    Ответов: 81
    Последнее сообщение: 21.03.2015, 02:17
  2. Бесплатно 25 мб места, cPanel, MySQL, PHP, CGI, Perl и др.
    от OnlineHoster в разделе Интернет :: технические вопросы
    Ответов: 1
    Последнее сообщение: 25.02.2006, 22:00
  3. помогите! PHP -> сохранение страницы с другого хоста
    от [)wad.org в разделе Программирование
    Ответов: 5
    Последнее сообщение: 22.03.2005, 16:25
  4. пмогите!!!!! (php,mysql, while();)
    от Jeno в разделе Программирование
    Ответов: 7
    Последнее сообщение: 23.11.2004, 17:07
  5. Кто у нас программирует на PHP?
    от iFog в разделе Программирование
    Ответов: 23
    Последнее сообщение: 10.03.2004, 17:35

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения