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]   

> Без описания
soltx
Отправлено: 02 Октября, 2014 - 20:22:17
Post Id


Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2013  


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




Подскажите как правильно записать массив $basket в моём случаи

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //Retrieve form data.
  3. //GET - user submitted data using AJAX
  4. //POST - in case user does not support javascript, we'll use POST instead
  5.  
  6. $name = isset($_REQUEST['name']) ?$_REQUEST['name'] : '';
  7. $phone = isset($_REQUEST['phone']) ?$_REQUEST['phone'] : '';
  8. $street = isset($_REQUEST['street']) ?$_REQUEST['street'] : '';
  9. $house = isset($_REQUEST['house']) ?$_REQUEST['house'] : '';
  10. $comments = isset($_REQUEST['comments']) ?$_REQUEST['comments'] : '';
  11. $basket = isset($_REQUEST['basket']) ?$_REQUEST['basket'] : '';
  12.  
  13.  
  14. //flag to indicate which method it uses. If POST set it to 1
  15. if ($_POST) $post=1;
  16.  
  17. //Simple server side validation for POST data, of course, you should validate the email
  18.  
  19.  
  20.  
  21. //if the errors array is empty, send the mail
  22. if (!$errors) {
  23.  
  24.         //recipient
  25.         $to = 'Your Name <example@example.com>';       
  26.         //sender
  27.         $from = $name . ' <example@example.com>';
  28.        
  29.         //subject and the html message
  30.         $subject = 'Заказ от ' . $name;
  31.         $message = '
  32.         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  33.         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  34.         <html xmlns="http://www.w3.org/1999/xhtml">
  35.         <head></head>
  36.         <body>
  37.         <table>
  38.                 <tr><td>Name</td><td>' . $name . '</td></tr>
  39.                 <tr><td>Phone</td><td>' . $phone . '</td></tr>
  40.                 <tr><td>Street</td><td>' . $street . '</td></tr>
  41.                 <tr><td>House</td><td>' . $house . '</td></tr>
  42.                 <tr><td>Comments</td><td>' . $comments . '</td></tr>
  43.                 <tr><td>Basket</td><td>' . $basket . '</td></tr>
  44.                
  45.         </table>
  46.         </body>
  47.         </html>';
  48.  
  49.         //send the mail
  50.         $result = sendmail($to, $subject, $message, $from);
  51.        
  52.         //if POST was used, display the message straight away
  53.         if ($_POST) {
  54.                 if ($result) echo 'Thank you! We have received your message.';
  55.                 else echo 'Sorry, unexpected error. Please try again later';
  56.                
  57.         //else if GET was used, return the boolean value so that
  58.         //ajax script can react accordingly
  59.         //1 means success, 0 means failed
  60.         } else {
  61.                 echo $result;  
  62.         }
  63.  
  64. //if the errors array has values
  65. } else {
  66.         //display the errors message
  67.         for ($i=0; $i<count($errors); $i++) echo $errors[$i] . '<br/>';
  68.         echo '<a href="/">Back</a>';
  69.         exit;
  70. }
  71.  
  72.  
  73. //Simple mail function with HTML header
  74. function sendmail($to, $subject, $message, $from) {
  75.         $headers = "MIME-Version: 1.0" . "\r\n";
  76.         $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
  77.         $headers .= 'From: ' . $from . "\r\n";
  78.        
  79.         $result = mail($to,$subject,$message,$headers);
  80.        
  81.         if ($result) return 1;
  82.         else return 0;
  83. }
  84. ?>
 
 Top
kotyara1979
Отправлено: 02 Октября, 2014 - 23:23:00
Post Id


Частый гость


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


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




Вопрос не понятен. Куда записать вам его нужно?

Если вы имеете в виду вывести в сообщение, то делайте цикл по элементам и выводите, например, в таблицу.


-----
Сделать можно все. Главное одеть каску.
 
 Top
soltx
Отправлено: 03 Октября, 2014 - 08:08:29
Post Id


Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2013  


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




PHP:
скопировать код в буфер обмена
  1. $basket = isset($_REQUEST['basket']) ?$_REQUEST['basket'] : '';
  2.  
  3. <tr><td>Basket</td><td>' . $basket . '</td></tr>


я правильно записал массив? так как получаю на почту

CODE (html):
скопировать код в буфер обмена
  1. <tr><td>Basket</td><td>Array,Array,Array,Array,Array,Array,Array</td></tr>

(Отредактировано автором: 03 Октября, 2014 - 08:08:50)

 
 Top
RickMan
Отправлено: 03 Октября, 2014 - 09:21:44
Post Id


Участник


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


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




А что у вас в $_REQUEST['basket']?
 
 Top
soltx
Отправлено: 03 Октября, 2014 - 13:21:02
Post Id


Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2013  


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




у меня там наименование, цена
 
 Top
RickMan
Отправлено: 03 Октября, 2014 - 13:30:03
Post Id


Участник


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


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




Если там массив, то воспользуйтесь или foreach или напрямую пишите ячейку.
 
 Top
Sail
Отправлено: 03 Октября, 2014 - 14:23:07
Post Id



Участник


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


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




soltx пишет:
у меня там наименование, цена

Для нескольких "продуктов" в корзине?
Тогда можно так:
PHP:
скопировать код в буфер обмена
  1. $basket = isset($_REQUEST['basket']) ?$_REQUEST['basket'] : array();
  2. foreach($basket as $value) {
  3.     echo "<tr><td>{$value['name']}</td><td>{$value['price']}</td></tr>";
  4. }
  5.  
 
 Top
soltx
Отправлено: 03 Октября, 2014 - 16:15:34
Post Id


Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2013  


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




несколько продуктов

с foreach возникла синтаксическая ошибка строка 45
пытался решить нечего хорошего из того не вышло

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. //Retrieve form data.
  4. //GET - user submitted data using AJAX
  5. //POST - in case user does not support javascript, we'll use POST instead
  6.  
  7. $name = isset($_REQUEST['name']) ?$_REQUEST['name'] : '';
  8. $phone = isset($_REQUEST['phone']) ?$_REQUEST['phone'] : '';
  9. $street = isset($_REQUEST['street']) ?$_REQUEST['street'] : '';
  10. $house = isset($_REQUEST['house']) ?$_REQUEST['house'] : '';
  11. $comments = isset($_REQUEST['comments']) ?$_REQUEST['comments'] : '';
  12. $basket = isset($_REQUEST['basket']) ?$_REQUEST['basket'] : array();
  13.  
  14.  
  15.  
  16. //flag to indicate which method it uses. If POST set it to 1
  17. if ($_POST) $post=1;
  18.  
  19. //Simple server side validation for POST data, of course, you should validate the email
  20.  
  21.  
  22.  
  23. //if the errors array is empty, send the mail
  24. if (!$errors) {
  25.  
  26.         //recipient
  27.         $to = 'Your Name <example@example.com>';       
  28.         //sender
  29.         $from = $name . ' <example@example.com>';
  30.        
  31.         //subject and the html message
  32.         $subject = 'Заказ от ' . $name;
  33.         $message = '
  34.         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  35.         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  36.         <html xmlns="http://www.w3.org/1999/xhtml">
  37.         <head></head>
  38.         <body>
  39.         <table>
  40.                 <tr><td>Name</td><td>' . $name . '</td></tr>
  41.                 <tr><td>Phone</td><td>' . $phone . '</td></tr>
  42.                 <tr><td>Street</td><td>' . $street . '</td></tr>
  43.                 <tr><td>House</td><td>' . $house . '</td></tr>
  44.                 <tr><td>Comments</td><td>' . $comments . '</td></tr>
  45.   foreach($basket as $value) {
  46.    echo "<tr><td>{$value['name']}</td><td>{$value['price']}</td></tr>";}
  47.        
  48.         </table>
  49.         </body>
  50.         </html>';
  51.  
  52.         //send the mail
  53.         $result = sendmail($to, $subject, $message, $from);
  54.        
  55.         //if POST was used, display the message straight away
  56.         if ($_POST) {
  57.                 if ($result) echo 'Thank you! We have received your message.';
  58.                 else echo 'Sorry, unexpected error. Please try again later';
  59.                
  60.         //else if GET was used, return the boolean value so that
  61.         //ajax script can react accordingly
  62.         //1 means success, 0 means failed
  63.         } else {
  64.                 echo $result;  
  65.         }
  66.  
  67. //if the errors array has values
  68. } else {
  69.         //display the errors message
  70.         for ($i=0; $i<count($errors); $i++) echo $errors[$i] . '<br/>';
  71.         echo '<a href="/">Back</a>';
  72.         exit;
  73. }
  74.  
  75.  
  76. //Simple mail function with HTML header
  77. function sendmail($to, $subject, $message, $from) {
  78.         $headers = "MIME-Version: 1.0" . "\r\n";
  79.         $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
  80.         $headers .= 'From: ' . $from . "\r\n";
  81.        
  82.         $result = mail($to,$subject,$message,$headers);
  83.        
  84.         if ($result) return 1;
  85.         else return 0;
  86. }
  87. ?>
  88.  

(Отредактировано автором: 03 Октября, 2014 - 16:18:39)

 
 Top
kotyara1979
Отправлено: 05 Октября, 2014 - 00:12:40
Post Id


Частый гость


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


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




У вас foreach внутри ординарных кавычек.


-----
Сделать можно все. Главное одеть каску.
 
 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