Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проблема с выводом данных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
de'vovan
Отправлено: 04 Января, 2007 - 14:57:58
Post Id



Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Дек. 2006  
Откуда: Ейск


Помог: 0 раз(а)




Здраствуйте, нужна ваша помощь, я уже неделю делаю одну страницу и никак не могу понять в чем дело.
Делаю я страницу отправки данных из формы в виде таблицы. Никак не получается организовать вывод выбранных
пользователем checkbox(ов). Делаю так: проверив была ли нажата кнопка ОТПРАВИТЬ, делаю проверку выбранных
checkbox(ов), и если галочка была поставлена, записываю значение в массив $tip[]:
PHP:
скопировать код в буфер обмена
  1.         if (isset($_POST['baza']) == TRUE) { $tip[] = $_POST['baza']; }
  2.         if (isset($_POST['gost']) == TRUE) { $tip[] = $_POST['gost']; } и т.д.

Создал функцию вывода массива $tip[]:
PHP:
скопировать код в буфер обмена
  1. function tip($tip)
  2. {
  3.         $tip_mass = count($tip);
  4.         for ($i = 0; $i < $tip_mass; $i++)
  5.         {
  6.                 echo $tip[$i] . "<br>";
  7.         }
  8. }

Затем записываю в переменную $message тело письма, состоящего из таблицы с переданными данными:
PHP:
скопировать код в буфер обмена
  1. $message = "
  2.         <html>
  3.         <head>
  4.         <title></title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  6.         </head>
  7.         <body>
  8.         <table>
  9.           <tr>
  10.                 <th scope="col">Поле</th>
  11.                 <th scope="col">Значение</th>
  12.           </tr>

А вот ячейка, в которой надо вывести значения массива $tip функцией tip() :

Проблема в том, что массив со значениями выводится перед таблицей, а не в ее ячейке.
Могу выложить исходник. Заранее спасибо!Улыбка
 
 Top
evgenijj
Отправлено: 04 Января, 2007 - 15:33:16
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Прикрепляй исходники - посмотрю на досуге.

P.S. Странно как-то ты значения checkbox сохраняешь. Пусть есть 5 checkbox
PHP:
скопировать код в буфер обмена
  1.  
  2. <input type="checkbox" name="cb1"/>
  3. <input type="checkbox" name="cb2"/>
  4. <input type="checkbox" name="cb3"/>
  5. <input type="checkbox" name="cb4"/>
  6. <input type="checkbox" name="cb5"/>
  7.  

Пользователь отметил 1, 3 и 5-ый. Моссив $tip содержит три значения
PHP:
скопировать код в буфер обмена
  1.  
  2. $tip[0] = "On";
  3. $tip[1] = "On";
  4. $tip[2] = "On";
  5.  

Но какие checkbox были выбраны: 1, 3 и 5 или 3, 4, 5 или 1, 2, 3?
 
 Top
f0rm4t
Отправлено: 04 Января, 2007 - 15:40:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006  


Помог: -1 раз(а)




У тебя проблема с разметкой. Открой html-код сгенерированной страницы и ты поймешь в чем трабла.
 
 Top
de'vovan
Отправлено: 04 Января, 2007 - 17:16:15
Post Id



Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Дек. 2006  
Откуда: Ейск


Помог: 0 раз(а)




f0rm4t пишет:
У тебя проблема с разметкой. Открой html-код сгенерированной страницы и ты поймешь в чем трабла.

УлыбкаКак вы быстро отвечаете, реально!Улыбка
Посмотрел код сгенерированной страницы, все ОК. Что бы вы могли разобраться, вот исходник:
Скачать файл: forma.zip
Скачан раз: 421
 
 Top
f0rm4t
Отправлено: 04 Января, 2007 - 17:43:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006  


Помог: -1 раз(а)




Хе.. у тебя echo в переменную идет? Делай примерно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. ...
  3. function tip($tip)
  4. {
  5.         $tip_mass = count($tip);
  6.         for ($i = 0; $i < $tip_mass; $i++)
  7.         {
  8.                 $res .= $tip[$i] . ">БР<";
  9.         }
  10.         return $res;
  11. }
  12. ...
  13. $tip[] = " ";
  14.   echo "<table width=\"400\" border=\"1\" cellspacing=\"2\" cellpadding=\"2\" bgcolor=\"#fffb9b\">
  15.           <tr>
  16.                 <th scope=\"col\">Поле</th>
  17.                 <th scope=\"col\">Значение</th>
  18.           </tr>
  19.           <tr>
  20.                 <td>Ф.И.О.</td>
  21.                 <td>" . str_replace('<', '<', $_POST['fio']) . "</td>
  22.           </tr>
  23.           <tr>
  24.                 <td>телефон</td>
  25.                 <td>" . str_replace('<', '<', $_POST['tel']) . "</td>
  26.           </tr>
  27.           <tr>
  28.                 <td>почта</td>
  29.                 <td>" . str_replace('<', '<', $_POST['email']) . "</td>
  30.           </tr>
  31.           <tr>
  32.                 <td>из</td>
  33.                 <td>" . str_replace('<', '<', $_POST['iz']) . "</td>
  34.           </tr>
  35.           <tr>
  36.                 <td>кол-во человек</td>
  37.                 <td>" . str_replace('<', '<', $_POST['kol-vo']) . "</td>
  38.           </tr>
  39.           <tr>
  40.                 <td>транспорт</td>
  41.                 <td>" . str_replace('<', '<', $_POST['transport']) . "</td>
  42.           </tr>
  43.           <tr>
  44.                 <td>дата приезда</td>
  45.                 <td>" . str_replace('<', '<', $_POST['data1']) . "</td>
  46.           </tr>
  47.           <tr>
  48.                 <td>дата отъезда</td>
  49.                 <td>" . str_replace('<', '<', $_POST['data2']) . "</td>
  50.           </tr>
  51.           <tr>
  52.                 <td>предпочитаю</td>
  53.                 <td>" . tip($tip) . "</td>
  54.           </tr>
  55.           <tr>
  56.                 <td> расчитываю на</td>
  57.                 <td>" . str_replace('<', '<', $_POST['summa']) . "руб." . "</td>
  58.           </tr>
  59.           <tr>
  60.                 <td>дополнительно:</td>
  61.                 <td>" . str_replace('<', '<', $_POST['dopoln']) . "</td>
  62.           </tr>
  63.         </table>";
  64. }
 
 Top
de'vovan
Отправлено: 04 Января, 2007 - 17:56:22
Post Id



Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Дек. 2006  
Откуда: Ейск


Помог: 0 раз(а)




Заработало, спасибо огромноеРадость
А можно пояснить для чего были сделаны подобные изменения в функции, как это работает?
вот только появилась ошибка
CODE (text):
скопировать код в буфер обмена
  1.  [color=blue]Notice: Undefined variable: res in z:homevip.suwwwphpforma.php on line 8[/color]
 
 Top
f0rm4t
Отправлено: 04 Января, 2007 - 18:00:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006  


Помог: -1 раз(а)




А, ну тогда функцию оставь из куска выше, а таблицу эту:
PHP:
скопировать код в буфер обмена
  1. $message = "
  2.         <table width=\"400\" border=\"1\" cellspacing=\"2\" cellpadding=\"2\" bgcolor=\"#fffb9b\">
  3.           <tr>
  4.                 <th scope=\"col\">Поле</th>
  5.                 <th scope=\"col\">Значение</th>
  6.           </tr>
  7.           <tr>
  8.                 <td>Ф.И.О.</td>
  9.                 <td>" . str_replace('<', '<', $_POST['fio']) . "</td>
  10.           </tr>
  11.           <tr>
  12.                 <td>телефон</td>
  13.                 <td>" . str_replace('<', '<', $_POST['tel']) . "</td>
  14.           </tr>
  15.           <tr>
  16.                 <td>почта</td>
  17.                 <td>" . str_replace('<', '<', $_POST['email']) . "</td>
  18.           </tr>
  19.           <tr>
  20.                 <td>из</td>
  21.                 <td>" . str_replace('<', '<', $_POST['iz']) . "</td>
  22.           </tr>
  23.           <tr>
  24.                 <td>кол-во человек</td>
  25.                 <td>" . str_replace('<', '<', $_POST['kol-vo']) . "</td>
  26.           </tr>
  27.           <tr>
  28.                 <td>транспорт</td>
  29.                 <td>" . str_replace('<', '<', $_POST['transport']) . "</td>
  30.           </tr>
  31.           <tr>
  32.                 <td>дата приезда</td>
  33.                 <td>" . str_replace('<', '<', $_POST['data1']) . "</td>
  34.           </tr>
  35.           <tr>
  36.                 <td>дата отъезда</td>
  37.                 <td>" . str_replace('<', '<', $_POST['data2']) . "</td>
  38.           </tr>
  39.           <tr>
  40.                 <td>предпочитаю</td>
  41.                 <td>" . tip($tip) . "</td>
  42.           </tr>
  43.           <tr>
  44.                 <td> расчитываю на</td>
  45.                 <td>" . str_replace('<', '<', $_POST['summa']) . "руб." . "</td>
  46.           </tr>
  47.           <tr>
  48.                 <td>дополнительно:</td>
  49.                 <td>" . str_replace('<', '<', $_POST['dopoln']) . "</td>
  50.           </tr>
  51.         </table>";
  52.         echo $message;
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB