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]   

> Описание: тупик
AlexNewaro
Отправлено: 13 Февраля, 2015 - 14:05:51
Post Id



Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2015  


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




Навертел от души прекрасно работающую конструкцию - получение данных из чекбоксовой формы, формирование запроса в базу, параллельная отправка менеджеру письма с данными, что вводил и отмечал пользователь.
Доволен был как слон, пока не отметил больше одного чекбокса каждого типа. И вот тут грянул вселенский пук - вывод результатов отлично работает, а вот в письме вместо всех отмеченных юзером значений одного типа - пусто.
То бишь выбирает он два чекбокса type - в письме напротив графы "тип" - пусто. По одному - все отлично. Но нужно ровно столько прислать в письме, сколько отмечено юзером.
Вот и не могу никак объединить значения и через запятую их в письме написать.

Прошу помощи!

PHP:
скопировать код в буфер обмена
  1. <?
  2. if( ! defined( 'DATALIFEENGINE' ) ) {
  3.     die( "Hacking attempt!" ); }
  4. $tpl->load_template( 'hotels.tpl' );
  5. ini_set('display_errors',1);
  6. function connectDB (){
  7. define('DB_HOST', '');
  8. define('DB_USER', '');
  9. define('DB_PASS', '');
  10. define('DB_NAME', '');
  11.  
  12. $dbconn = mysql_connect(DB_HOST, DB_USER, DB_PASS)
  13. or die("Ошибка соединения с базой данных! " . mysql_error());
  14. mysql_select_db(DB_NAME);
  15. mysql_query('SET NAMES utf8');
  16. return $dbconn;
  17. }
  18.  
  19. $site['from_name'] = 'Технический отдел'; // from (от) имя
  20. $site['from_email'] = 'it@mail';
  21. $site['smtp_mode'] = 'disabled';
  22. $site['smtp_host'] = null;
  23. $site['smtp_port'] = null;
  24. $site['smtp_username'] = null;
  25.  
  26. if(isset($_REQUEST['submit']))
  27. { $connect = connectDB();
  28.  
  29. if( count($_GET['type']) > 0 )
  30. {$type = implode(',',$_GET['type']);
  31. $str.= ' AND type IN('.$type.')';}
  32.  
  33. if( count($_GET['place']) > 0 )
  34. {$place = implode(',',$_GET['place']);
  35. $str.= ' AND place IN('.$place.')';}
  36.  
  37. if( count($_GET['rating']) > 0 )
  38. {$rating = implode(',',$_GET['rating']);
  39. $str.= ' AND rating IN('.$rating.')';}
  40.  
  41. if( $_GET['clientname'] != null )
  42. {$cname = $_GET['clientname'];}
  43.  
  44. if( $_GET['clientemail'] != null )
  45. {$cmail = $_GET['clientemail'];}
  46.  
  47. if( $_GET['clienttelephone'] != null )
  48. {$ctel = $_GET['clienttelephone'];}
  49.  
  50. $typ['25,26'] = 'ОТЕЛЬ';
  51. $typ[28] = 'САНАТОРИЙ';
  52. $typ[27] = 'ПАНСИОНАТ';
  53.  
  54. $rat[15] = '<img src="/templates/img/s1.png" border="0">';
  55. $rat[17] = '<img src="/templates/img/s2.png" border="0">';
  56. $rat[19] = '<img src="/templates/img/s3.png" border="0">';
  57. $rat[21] = '<img src="/templates/img/s4.png" border="0">';
  58. $rat[23] = '<img src="/templates/img/s5.png" border="0">';
  59.  
  60. $ratt[15] = '1*';
  61. $ratt[17] = '2*';
  62. $ratt[19] = '3*';
  63. $ratt[21] = '4*';
  64. $ratt[23] = '5*';
  65.  
  66. $pla[5] = 'ЦЕНТР';
  67. $pla[6] = 'ХОСТА';
  68. $pla[7] = 'АДЛЕР';
  69. $pla[42] = 'ИМЕРЕТИНКА';
  70. $pla[8] = 'КРАСНАЯ ПОЛЯНА';
  71. $pla[9] = 'ЛАЗАРЕВСКОЕ';
  72. $pla[10] = 'ДАГОМЫС';
  73.  
  74. if($_GET and $_GET['clientemail'] != null){
  75.         if(filter_var($_GET['clientemail'], FILTER_VALIDATE_EMAIL)){
  76. require_once($_SERVER['DOCUMENT_ROOT'].'/test/lib/MailClass.inc');
  77. $mailer = new FreakMailer();
  78. $mailer->Subject = 'Клиент просит связаться по поводу размещения';
  79. $mailer->Body =
  80. 'Имя клиента: '.$cname.'
  81. email: '.$cmail.'
  82. телефон: '.$ctel.'
  83. Параметры его поиска:
  84. Тип: '.$typ[$type].'
  85. Класс: '.$ratt[$rating].'
  86. Расположение: '.$pla[$place].'';
  87. $mailer->AddAddress('@gmail', '');
  88. if(!$mailer->Send())
  89. {
  90.   //echo 'Не могу отослать письмо!';
  91. }
  92. else
  93. {
  94.  echo '<div style="display: none;">
  95.    <div class="box-modal" id="exampleModal">
  96.        <div class="box-modal_close arcticmodal-close">закрыть</div>
  97.        СПАСИБО ЗА ВАШУ ЗАЯВКУ, МЫ ОБЯЗАТЕЛЬНО СВЯЖЕМСЯ С ВАМИ В БЛИЖАЙШЕЕ ВРЕМЯ!
  98.    </div>
  99. </div>';
  100. }
  101. $mailer->ClearAddresses();
  102. $mailer->ClearAttachments();
  103.        }
  104.         else{
  105.                 echo '<div style="display: none;">
  106.    <div class="box-modal" id="exampleModal">
  107.        <div class="box-modal_close arcticmodal-close">ЗАКРЫТЬ</div>
  108.        ВЫ НЕВЕРНО ВВЕЛИ АДРЕС СВОЕЙ ЭЛЕКТРОННОЙ ПОЧТЫ.<br>ВЫ МОЖЕТЕ ПРОДОЛЖИТЬ РАБОТАТЬ С ПОИСКОМ ПО ОТЕЛЯМ, НО ЕСЛИ ХОТИТЕ, ЧТОБЫ МЫ С ВАМИ СВЯЗАЛИСЬ - ВВЕДИТЕ СВОЙ ЭЛЕКТРОННЫЙ АДРЕС ПРАВИЛЬНО.<br>СПАСИБО!
  109.    </div>
  110. </div>';
  111.         }
  112. }
  113.  
  114. function resSQL($s){
  115. $r=mysql_query($s);
  116. if ($row=mysql_fetch_row($r))
  117.  return $row[0];
  118. else
  119.  return false; }
  120.  
  121. $mpp=9;
  122.  
  123. if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
  124. $page = 1; } else { $page = (int) $_GET['page']; }
  125.  
  126. $q=mysql_query('select SQL_CALC_FOUND_ROWS `name`, `rating`, `key`, `address`, `desc`, `src` FROM `sled_hotels` WHERE town=4 '.$str.' limit '.(($page-1)*$mpp).','.$mpp);
  127. $fr=resSQL('SELECT FOUND_ROWS()');
  128. $num = '<div class="hotelsearchresults">По вашему запросу найдено объектов для размещения:&nbsp;'.$fr.' </div>';
  129.  
  130. if( $type > 0 )
  131. {$typelink = '&type[]='.$type;
  132. } else {$typelink = null;}
  133. if( $rating > 0 )
  134. {$ratinglink = '&rating[]='.$rating;
  135. } else {$ratinglink = null;}
  136. if( $place > 0 )
  137. {$placelink = '&place[]='.$place;
  138. } else {$placelink = null;}
  139.  
  140. $pc=ceil($fr/$mpp);
  141. $pagi = 'страниц:&nbsp;';
  142. if ($pc>1)
  143. {
  144.    $raz='';
  145.    for($n=1;$n<=$pc;$n++)
  146.    {
  147.       $pagi .= $raz;
  148.       if ($page==$n)
  149.          $pagi .= $n;
  150.       else
  151.       {
  152.          $pagi .= '<A HREF="/test/?do=hotels';
  153.          if ($n>0)
  154.             $pagi .= '&page='.$n.$typelink.$ratinglink.$placelink.'&submit=ПОКАЗАТЬ+ВЫБРАННОЕ';
  155.          $pagi .= '">'.$n.'</A>';
  156.       }
  157.       $raz='<span style="color:#999;"> | </span>';
  158.    }$pagi .= '</div>';
  159. }
  160. echo '</div>';
  161.  
  162. if ($_GET['submit'] = 'ПОКАЗАТЬ+ВЫБРАННОЕ')
  163.  
  164. {$demo = '<div class="allresult">';
  165. while( $r=mysql_fetch_assoc($q))
  166. {
  167. $demo .= '<div class="eachresult">
  168.        <div class="hotelnamewhiteline">
  169.          <div class="hotelrating">'.$rat[$r['rating']].'</div>
  170.          <div class="hotelname"><a href="/'.$r['key'].'.html" target="_parent">&nbsp;&nbsp;"'.$r['name'].'"&nbsp;&nbsp;</a></div>
  171.        </div>
  172.          <div class="hoteladdress">'.$r['address'].'</div>
  173.          <div class="hoteldescription"><a href="/'.$r['key'].'.html" target="_parent">'.$r['desc'].'</a></div>
  174.        <div class="hotelphoto"><a href="/'.$r['key'].'.html" target="_parent"><img src="http://www.sgtours.ru'.$r['src'].'" border="0" width="160" height="120" style="border: 7px solid rgb(255, 255, 255); box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3); border-radius: 7px; margin: 0px 10px 0px 0px;"></a></div>
  175.      </div>';
  176. }
  177. echo '</div>';
  178. }else{$demo .= null;}
  179.  
  180. }
  181.  
  182. else
  183.  
  184. {}
  185.  
  186. $tpl->set( '{demo}', $demo );
  187. $tpl->set( '{num}', $num );
  188. $tpl->set( '{pagi}', $pagi );
  189. $tpl->compile( 'content' );
  190. $tpl->clear();
  191.  
  192. ?>


Ошибки до выполнения скрипта.
PHP:
скопировать код в буфер обмена
  1. Notice: Undefined variable: demo in /home/site/www/test/engine/modules/hotels.php on line 204
  2. Notice: Undefined variable: num in /home/site/www/test/engine/modules/hotels.php on line 205
  3. Notice: Undefined variable: pagi in /home/site/www/test/engine/modules/hotels.php on line 206


Ошибки после выполнения скрипта
PHP:
скопировать код в буфер обмена
  1. Notice: Undefined variable: str in /home/site/www/test/engine/modules/hotels.php on line 35
  2. Notice: Undefined variable: cname in /home/site/www/www/test/engine/modules/hotels.php on line 88
  3. Notice: Undefined variable: ctel in /home/site/www/test/engine/modules/hotels.php on line 90
  4.  

(Отредактировано автором: 13 Февраля, 2015 - 14:06:36)

 
 Top
RickMan
Отправлено: 13 Февраля, 2015 - 14:21:20
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


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





замените на


И почитайте про isset. А еще советую менять логику скрипта и стиль написания кода.
И еще непонятно зачем нужно
 
 Top
AlexNewaro
Отправлено: 13 Февраля, 2015 - 14:25:39
Post Id



Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2015  


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




RickMan пишет:
замените на


И почитайте про isset. А еще советую менять логику скрипта и стиль написания кода.
И еще непонятно зачем нужно


Спасибо, учту. Чувствовал, что не по феншую...
Стиля пока нет, как такового. Подучиваю функции, компилирую чужие наработки в одну работающую конструкцию, какие-то вещи начинаю сам дописывать, но пока по мелочи.

Но вот по сабжу - прямо тупик тупиковый. Третий день убиваюсь. Просил бы помочь с этим.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB