RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 438
от 24.08.2006, 08:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 331, Экспертов: 42
В номере:Вопросов: 2, Ответов: 7


Вопрос № 52542: здравствуйте! очень нужна помощь. где здесь проблема? $this_string_length - это длинна строки $thisstring $file_name = ""; for ($i = 0; $i = $this_string_length; $i++) { $file_name_let = $thisstring{$i};<br...
Вопрос № 52567: Уважаемые эксперты! У меня к Вам 2 вопроса. 1) Есть форма в html файле. Нужно передать ее по почте на определенный адрес. То есть процесс выглядит так: пользователь заполняет форму, нажимает кнопку "Далее", все данные передаются в php ф...

Вопрос № 52.542
здравствуйте!

очень нужна помощь. где здесь проблема?
$this_string_length - это длинна строки $thisstring

$file_name = "";
for ($i = 0; $i = $this_string_length; $i++)
{
$file_name_let = $thisstring{$i};
$file_name = $file_name.$file_name_let;
}

заранее спасибо
Отправлен: 18.08.2006, 23:48
Вопрос задал: Kovpack (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Madproger
Здравствуйте, Kovpack!

1) for ($i = 0; $i = $this_string_length; $i++) - что ты этим хотел сказать?
Если длина строки не равна нулю - цикл не выполнится не разу иначе один раз

Думаю так for ($i = 0; $i < $this_string_length; $i++)

2) $thisstring{$i}; - опять непонятно :)
Думаю надо так $thisstring[$i]; - если ты хотел массив
И так $thisstring.$i; - если хотел добавить номер


---------
И будет вам счАстиЕ!
Ответ отправил: Madproger (статус: 8-ой класс)
Ответ отправлен: 19.08.2006, 00:31

Отвечает: Santana
Здравствуйте, Kovpack!
Говорите ошибка "Uninitialized string offset on line ...", естественно ПХП не понимает конструкции $thisstring{$i}
Ответ отправил: Santana (статус: 5-ый класс)
Ответ отправлен: 19.08.2006, 10:09

Отвечает: Галушко Павел Павлович
Здравствуйте, Kovpack!
У вас:
for ($i = 0; $i = $this_string_length; $i++)
А должно быть:
for ($i = 0; $i <= $this_string_length; $i++)
---------
И это пройдет © надпись на кольце Соломона
Ответ отправил: Галушко Павел Павлович (статус: 2-ой класс)
Ответ отправлен: 19.08.2006, 11:03

Отвечает: Cimus
Здравствуйте, Kovpack!

$file_name = "";
for ($i = 0; $i = $this_string_length; $i++) //следует поменять = на <=
{
$file_name_let = $thisstring{$i};//это выражение верно, хотя некоторые сказали обратное
$file_name = $file_name.$file_name_let;
}

---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 6-ой класс)
Ответ отправлен: 19.08.2006, 13:21

Отвечает: NoOne
Здравствуйте, Kovpack!
Цикл должен проходить от 0 до strlen($thisstring)-1, то есть не до длины строки, а до длины строки минус один, так как отсчет начинается с нуля. Можно писать так:
for ($i = 0; $i < $this_string_length; $i++)
обратите внимание, стоит знак < а не =
Также, уже не желательно писать $thisstring{$i}, так как такой синтаксис вскоре будет убран из php, лучше $thisstring[$i]
---------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (c) М.Фаулер
Ответ отправил: NoOne (статус: 1-ый класс)
Ответ отправлен: 21.08.2006, 12:54


Вопрос № 52.567
Уважаемые эксперты! У меня к Вам 2 вопроса.
1) Есть форма в html файле. Нужно передать ее по почте на определенный адрес. То есть процесс выглядит так: пользователь заполняет форму, нажимает кнопку "Далее", все данные передаются в php файл. Пользователь нажимает кнопку "Отправить" в php файле и данные передаются на мой почтовый ящик. Но я не знаю как передать данные в php. Знаю, что через form, но данные передаются почему то неправильно.
2) Продолжение первого вопроса: на форме есть select. Допустим есть значения 1,2,3,4,5. Пользователь выбирает 3. Как написать код в php, чтобы передавалась именно 3.
Буду признателен, если приведете примеры кода на оба вопроса.
С уважением, worsvch.

Приложение:

Отправлен: 19.08.2006, 07:26
Вопрос задал: Worsvch (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ерёмин Андрей
Здравствуйте, Worsvch!
1. Воспользуйтесь функцией mail(). Вот простой пример отправки сообщения по электронной почте:
mail("myemail@email.ru","New information",$_POST["text"]);
Соответственно, если на форму поместить текстовое поле и назвать его text, а в обработчике формы (action) указать этот скрипт, то введённый текст и будет отправлен на e-mail.
2. Это уже спецификаия html. Посмотрите фрагмент в приложении. При таком выборе в переменной $select как и раз и будет выбранное число. То есть, каждая строка имеет текстовое представление и кодовое значение.
Удачи!

Приложение:

---------
Нет правила без исключений. Правило без исключений - исключение из правил.

Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 19.08.2006, 07:33
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое! В моем коде не было S_POST. Я про него просто не знал. Видим, поэтому и была ошибка.

Отвечает: Santana
Здравствуйте, Worsvch!
могу предложить следующую форму отправки писем (см приложение).
получается письмо в стиле
Поле=Значение поля

Приложение:

Ответ отправил: Santana (статус: 5-ый класс)
Ответ отправлен: 19.08.2006, 10:21
Оценка за ответ: 5
Комментарий оценки:
Не знал, что так можно отправлять данные


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное