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]   

> Без описания
dominion
Отправлено: 05 Января, 2016 - 15:15:10
Post Id


Новичок


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


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




Подскажите что то я запутался. есть форма с выпадающим списком. значения в список выводятся из базы. не могу заставить значение из этого списка отправить на почту. Преподаватель приходит пустая графа, хотя в форме он был выбран
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include ("blocks/db.php");
  4.  
  5. $result = mysql_query("SELECT name,obraz,spec,opit,predm,dop,foto FROM prepod WHERE lang='eng'",$db);
  6.  
  7. $myrow = mysql_fetch_array ($result);
  8. ?>
  9.  
  10.  
  11. <?PHP
  12. //Если форма отправлена
  13. if(isset($_POST['submit'])) {
  14.  
  15.     //Проверка Поля ИМЯ
  16.     $name = trim($_POST['contactname']);
  17.    
  18.  
  19.     //Проверка поля ТЕМА
  20.     $subject = trim($_POST['subject']);
  21.    
  22.    
  23.     $tel = trim($_POST['tel']);
  24.    
  25.    
  26.     $skype = trim($_POST['skype']);
  27.    
  28.    
  29.     $pred = 'Английский';
  30.    
  31.     $prepod = trim($_POST['prepod']);
  32.    
  33.    
  34.     //Проверка правильности ввода EMAIL
  35.     if(trim($_POST['email']) == '')  {
  36.         $hasError = true;
  37.     } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
  38.         $hasError = true;
  39.     } else {
  40.         $email = trim($_POST['email']);
  41.     }
  42.  
  43.    
  44.    
  45.     //Если ошибок нет, отправить email
  46.     if(!isset($hasError)) {
  47.         $emailTo = 'online@school-expert.ru'; //Сюда введите Ваш email
  48.         $body = "Имя: $name \n\nEmail: $email \n\nТелефон: $tel \n\nSkype: $skype \n\nПредмет: $pred \n\nПреподаватель: $prepod";
  49.         $headers = 'Заказ пробного урока <'.$emailTo.'>' . "\r\n" . 'Ответ: ' . $email;
  50.  
  51.         mail($emailTo, $subject, $body, $headers);
  52.         $emailSent = true;
  53.     }
  54. }
  55. ?>
  56. <html>
  57. <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><title>Главная  </title><meta name="format-detection" content="telephone=no"><link rel="stylesheet" type="text/css" href="./files/0.css"><link rel="stylesheet" type="text/css" href="./files/1.css"><link rel="stylesheet" type="text/css" href="./files/2.css"><link rel="stylesheet" type="text/css"><link href="./files/components-static.min.css" rel="stylesheet" type="text/css"><link href="files/3.css" rel="stylesheet" type="text/css"><link href="files/menu.css" rel="stylesheet" type="text/css">
  58. <script src="jquery.min1.js"></script>
  59.     <script>
  60.           $(document).ready(function(){
  61.                 $('#login-trigger').click(function(){
  62.                     $(this).next('#login-content').slideToggle();
  63.                     $(this).toggleClass('active');                  
  64.                    
  65.                     if ($(this).hasClass('active')) $(this).find('span').php('&#x25B2;')
  66.                         else $(this).find('span').php('&#x25BC;')
  67.                     })
  68.           });
  69.     </script>
  70.  
  71. </head>
  72.  
  73. <body bgcolor="e78f09">
  74. <style>
  75. a {
  76.     text-decoration: none;
  77.    
  78.    }
  79.  form.form .btn,
  80. form.form .text,
  81. form.form .textarea {
  82. -moz-border-radius:8px;
  83. -webkit-border-radius:8px;
  84. border-radius:8px;
  85. }
  86.         article, aside, details, figcaption, figure,
  87.         footer, header, hgroup, menu, nav, section {
  88.           display: block;
  89.         }
  90.        
  91.         fieldset
  92.         {
  93.           margin: 0;
  94.           padding: 0;
  95.           border: 0;
  96.         }
  97.        
  98.         input:focus,textarea:focus {
  99.           outline: none;
  100.         }
  101.        
  102.         /*----------------------*/
  103.         div.error_field{
  104.     background: #FEDAFB;
  105.     border: 1px solid #FA74F0;
  106. }
  107.  
  108. div.errors{
  109.     width: 580px;
  110.     margin: 15px auto;
  111.     padding: 10px;
  112.     border: 1px solid #ccc;
  113.     background: #FDFEC2;
  114. }
  115.  
  116. div.errors .error{
  117.     color: red;
  118.     font-weight: bold;
  119.     font-size: 12px;
  120.     margin: 5px;
  121. }
  122.        
  123.        
  124.         /*----------------------*/
  125.        
  126.         .cf:before,
  127.         .cf:after {
  128.           content:"";
  129.           display:table;
  130.         }
  131.        
  132.         .cf:after {
  133.           clear:both;
  134.         }
  135.        
  136.         .cf {
  137.           zoom:1;
  138.         }
  139.          
  140.         /*----------------------*/
  141.        
  142.         header {
  143.           padding: 8px 10%;
  144.           border-bottom: 1px solid #fff;
  145.           background-color: #777;
  146.           background-image: -webkit-gradient(linear, left top, left bottom, from(#777), to(#555));
  147.           background-image: -webkit-linear-gradient(top, #777, #555);
  148.           background-image: -moz-linear-gradient(top, #777, #555);
  149.           background-image: -ms-linear-gradient(top, #777, #555);
  150.           background-image: -o-linear-gradient(top, #777, #555);
  151.           background-image: linear-gradient(top, #777, #555);
  152.           -moz-box-shadow: 0 -3px 3px rgba(0,0,0,.5) inset;
  153.           -webkit-box-shadow: 0 -3px 3px rgba(0,0,0,.5) inset;
  154.           box-shadow: 0 -3px 3px rgba(0,0,0,.5) inset;
  155.         }
  156.        
  157.         /*----------------------*/
  158.        
  159.         nav ul {
  160.           margin: 0;
  161.           padding: 0;
  162.           list-style: none;
  163.           position: relative;
  164.           float: right;
  165.           background: #eee;
  166.           border-bottom: 1px solid #fff;
  167.           -moz-border-radius: 3px;
  168.           -webkit-border-radius: 3px;
  169.           border-radius: 3px;    
  170.         }
  171.        
  172.         nav li {
  173.           float: left;          
  174.         }
  175.        
  176.         nav #login {
  177.           border-right: 1px solid #ddd;
  178.           -moz-box-shadow: 1px 0 0 #fff;
  179.           -webkit-box-shadow: 1px 0 0 #fff;
  180.           box-shadow: 1px 0 0 #fff;  
  181.         }
  182.        
  183.         nav #login-trigger,
  184.         nav #signup a {
  185.           display: inline-block;
  186.           *display: inline;
  187.           *zoom: 1;
  188.           height: 25px;
  189.           line-height: 25px;
  190.           font-weight: bold;
  191.           padding: 0 8px;
  192.           text-decoration: none;
  193.           color: #444;
  194.           text-shadow: 0 1px 0 #fff;
  195.         }
  196.        
  197.         nav #signup a {
  198.           -moz-border-radius: 0 3px 3px 0;
  199.           -webkit-border-radius: 0 3px 3px 0;
  200.           border-radius: 0 3px 3px 0;
  201.         }
  202.        
  203.         nav #login-trigger {
  204.           -moz-border-radius: 3px 0 0 3px;
  205.           -webkit-border-radius: 3px 0 0 3px;
  206.           border-radius: 3px 0 0 3px;
  207.         }
  208.        
  209.         nav #login-trigger:hover,
  210.         nav #login .active,
  211.         nav #signup a:hover {
  212.           background: #fff;
  213.         }
  214.        
  215.         nav #login-content {
  216.           display: none;
  217.           position: absolute;
  218.           top: 24px;
  219.           right: 0;
  220.           z-index: 999;    
  221.           background: #fff;
  222.           background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  223.           background-image: -webkit-linear-gradient(top, #fff, #eee);
  224.           background-image: -moz-linear-gradient(top, #fff, #eee);
  225.           background-image: -ms-linear-gradient(top, #fff, #eee);
  226.           background-image: -o-linear-gradient(top, #fff, #eee);
  227.           background-image: linear-gradient(top, #fff, #eee);  
  228.           padding: 15px;
  229.           -moz-box-shadow: 0 2px 2px -1px rgba(0,0,0,.9);
  230.           -webkit-box-shadow: 0 2px 2px -1px rgba(0,0,0,.9);
  231.           box-shadow: 0 2px 2px -1px rgba(0,0,0,.9);
  232.           -moz-border-radius: 3px 0 3px 3px;
  233.           -webkit-border-radius: 3px 0 3px 3px;
  234.           border-radius: 3px 0 3px 3px;
  235.         }
  236.        
  237.         nav li #login-content {
  238.           right: 0;
  239.           width: 250px;  
  240.         }
  241.        
  242.         /*--------------------*/
  243.        
  244.         #inputs input {
  245.           background: #f1f1f1;
  246.           padding: 6px 5px;
  247.           margin: 0 0 5px 0;
  248.           width: 238px;
  249.           border: 1px solid #ccc;
  250.           -moz-border-radius: 3px;
  251.           -webkit-border-radius: 3px;
  252.           border-radius: 3px;
  253.           -moz-box-shadow: 0 1px 1px #ccc inset;
  254.           -webkit-box-shadow: 0 1px 1px #ccc inset;
  255.           box-shadow: 0 1px 1px #ccc inset;
  256.         }
  257.        
  258.         #inputs input:focus {
  259.           background-color: #fff;
  260.           border-color: #e8c291;
  261.           outline: none;
  262.           -moz-box-shadow: 0 0 0 1px #e8c291 inset;
  263.           -webkit-box-shadow: 0 0 0 1px #e8c291 inset;
  264.           box-shadow: 0 0 0 1px #e8c291 inset;
  265.         }
  266.        
  267.         /*--------------------*/
  268.        
  269.         #login #actions {
  270.           margin: 10px 0 0 0;
  271.         }
  272.        
  273.         #login #submit {        
  274.           background-color: #d14545;
  275.           background-image: -webkit-gradient(linear, left top, left bottom, from(#e97171), to(#d14545));
  276.           background-image: -webkit-linear-gradient(top, #e97171, #d14545);
  277.           background-image: -moz-linear-gradient(top, #e97171, #d14545);
  278.           background-image: -ms-linear-gradient(top, #e97171, #d14545);
  279.           background-image: -o-linear-gradient(top, #e97171, #d14545);
  280.           background-image: linear-gradient(top, #e97171, #d14545);
  281.           -moz-border-radius: 3px;
  282.           -webkit-border-radius: 3px;
  283.           border-radius: 3px;
  284.           text-shadow: 0 1px 0 rgba(0,0,0,.5);
  285.           -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
  286.           -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
  287.           box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;    
  288.           border: 1px solid #7e1515;
  289.           float: left;
  290.           height: 30px;
  291.           padding: 0;
  292.           width: 100px;
  293.           cursor: pointer;
  294.           font: bold 14px Arial, Helvetica;
  295.           color: #fff;
  296.         }
  297.        
  298.         #login #submit:hover,
  299.         #login #submit:focus {      
  300.           background-color: #e97171;
  301.           background-image: -webkit-gradient(linear, left top, left bottom, from(#d14545), to(#e97171));
  302.           background-image: -webkit-linear-gradient(top, #d14545, #e97171);
  303.           background-image: -moz-linear-gradient(top, #d14545, #e97171);
  304.           background-image: -ms-linear-gradient(top, #d14545, #e97171);
  305.           background-image: -o-linear-gradient(top, #d14545, #e97171);
  306.           background-image: linear-gradient(top, #d14545, #e97171);
  307.         }  
  308.        
  309.         #login #submit:active {    
  310.           outline: none;
  311.           -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
  312.           -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
  313.           box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;      
  314.         }
  315.        
  316.         #login #submit::-moz-focus-inner {
  317.           border: none;
  318.         }
  319.        
  320.         #login label {
  321.           float: right;
  322.           line-height: 30px;
  323.         }
  324.        
  325.         #login label input {
  326.           position: relative;
  327.           top: 2px;
  328.           right: 2px;
  329.         }
  330. </style>
  331. <table align="center" cellpadding="0" cellspacing="0">
  332. <tr>
  333. <td></td>
  334. <td height="140" background="files/head.png">
  335.   <table><tr><td width="10"></td><td><a href="index.php"><img src="images/logo.png"></a></td><td width="0"></td></tr><tr><td></td><td width="666">
  336.  <table width="867"><tr><?PHP $punkt = 'predm'; require_once("blocks/menu.php"); ?>  </tr>
  337. </table>
  338. </td><td></td><td width="0"></td></tr></table></td>
  339.  
  340. </tr>
  341. <tr>
  342. <td width="9"></td>
  343. <td bgcolor="#ffffff"><table width="960"><tr><td width="201" align="center"><a href="french.php"><img src="./files/fr.png"></a><p style="text-align:center;"><strong>Французский</strong></p></td><td width="172" align="center"><a href="germ.php"><img src="./files/ge.png"></a><p style="text-align:center;"><strong>Немецкий</strong></p></td><td width="186" align="center"><a href="eng.php"><img src="./files/en.png"></a><p style="text-align:center;"><strong>Английский</strong></p></td><td width="204" align="center"><a href="italy.php"><img src="./files/it.png"></a><p style="text-align:center;"><strong>Итальянский</strong></p></td><td width="173" align="center"><a href="chi.php"><img src="./files/ki.png"></a><p style="text-align:center;"><strong>Китайский</strong></p></td></tr></table><table width="959"><tr><td width="396" ><p><h2><center><strong>Английский язык</strong></center></h2></p>
  344.  <? do {
  345.  
  346.  printf ( "
  347.  
  348.  
  349. <table>
  350.  <td>
  351.  <table>
  352.    <tr></tr>
  353.  <td>%s</td>
  354.    <td valign='top'><table>
  355.      <tr>
  356.        <td><strong>%s</strong><br></td>
  357.      </tr>
  358.      <tr>
  359.        <td><strong>Образование: </strong></td>
  360.        <td>%s </td>
  361.      </tr>
  362.      <tr>
  363.        <td><strong>Специализация:</strong></td>
  364.        <td> %s</td>
  365.      </tr>
  366.      <tr>
  367.        <td><strong>Опыт:</strong></td>
  368.        <td>%s</td></tr>
  369.        <tr>
  370.        <td><strong>Предмет:</strong></td>
  371.        <td> %s</td> </tr>
  372.        <tr>
  373.        <td><strong>Доп.информация:</strong></td>
  374.        <td> %s</td>
  375.      
  376.    
  377.      </tr>
  378.    </table>
  379.    </td></tr></table>", $myrow["foto"],$myrow ['name'],$myrow ['obraz'],$myrow ['spec'],$myrow ['opit'],$myrow ['predm'],$myrow ['dop'] );
  380.   }
  381. while ($myrow = mysql_fetch_array ($result));
  382. ?>
  383.  
  384. <table>
  385.   <tr>
  386.     <td><div id='container'>
  387.       <div id='mainContent'>
  388.       <?PHP if(isset($hasError)) { //Если найдены ошибки ?>
  389.       <div class='error_field'>
  390.         <p>Проверьте, пожалуйста, правильность заполения всех полей.</p>
  391.       </div>
  392.       <?PHP } ?>
  393.       <?PHP if(isset($emailSent) && $emailSent == true) { //Если письмо отправлено ?>
  394.       <div class='errors'>
  395.         <p><strong>Заказ успешно отправлен!</strong></p>
  396.         <p>Спасибо <strong><?php echo $name;?></strong> за заказ пробного урока! Наш менеджер свяжется с вами в ближайшее время.</p>
  397.       </div>
  398.       <?PHP } ?>
  399.       <header class='cf'>
  400.         <nav>
  401.           <ul>
  402.             <li id='login'> <a id='login-trigger' href='#'> Заказать пробный урок <span>&#x25BC;</span> </a>
  403.               <div id='login-content'>
  404. <form method='post' class='form' action='<? echo $_SERVER['PHP_SELF']; ?>' id="contactform">                  <fieldset id='inputs'>
  405.                     <div>
  406.                       <label for='name'><strong>Имя:</strong></label>
  407.                       <input type='text' required name='contactname' id='contactname' value="" class='text' />
  408.                     </div>
  409.                     <div>
  410.                       <label for='email'><strong>Email:</strong></label>
  411.                       <input type='text' size='30' name='email' id='email' value="" required class='text' />
  412.                     </div>
  413.                     <div>
  414.                       <label for='tel'><strong>Телефон:</strong></label>
  415.                       <input type='text' required size='30' name='tel' id='tel' value="" class='text' />
  416.                     </div>
  417.                     <div>
  418.                       <label for='skype'><strong>Skype:</strong></label>
  419.                       <input type='text' size='30' required name='skype' id='skype' value="" class='text' />
  420.                     </div>
  421.                     <div>
  422.       <label for='name'><strong>Преподаватель:</strong></label>  
  423.         <select name='prepod' class='text' id="prepod">
  424. <option value="">Выбрать...</option>
  425.     <?PHP
  426.         $sql = mysql_query("SELECT name FROM `prepod` WHERE lang='eng'");
  427.         while($row = mysql_fetch_object($sql)){
  428.         echo "<option value = '$row->id' > $row->name </option>";
  429.         }
  430.     ?>
  431. </select>          
  432.                    
  433.                     </div>
  434.                     <div>
  435.                       <input type='hidden' name='pred' id='pred' value='<? echo '$pred'; ?>' class='text' />
  436.                     </div>
  437.                   </fieldset>
  438.                   <input type='submit' class='btn' value='Отправить' name='submit' />
  439.                 </form>
  440.               </div>
  441.             </div>
  442.             </div>
  443.           </ul>
  444.         </nav>
  445.       </header></td></tr></table>
  446.   </tr>
  447.   </table></td>
  448.   </table>
  449.   </td></tr></table></td>
  450. </tr>
  451. <tr><td width="9"></td>
  452. <td height="140" width="960" align="left" background="files/footer.png"><table><tr>
  453.       <td width="561"><br><br><br><span style="font-size:14px;"><span style="font-family:arial;"><span style="color:#FFFFFF;">&nbsp; &copy; 2016 Онлайн школа Эксперт</span></span></span></td><td width="215"><span style="font-family:arial;"><span style="font-size:14px;"><span style="color:#FFFFFF;"><br><br><br>Тел.: +7 (495) 123-12-12<br>e-mail:online@school-expert.ru</span></span></span></td></tr></table></td>
  454. </tr>
  455. </table>
  456.  
  457. </body>
  458. </html>
  459.  
  460.  
  461.  
 
 Top
dcc0
Отправлено: 05 Января, 2016 - 18:51:12
Post Id


Участник


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


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




prepod выбран на 426 строке.
Отправка - mail - на 40 строке.
Остальная выборка из базы на 5 строке и prepod там нет.
В скрипте нет ни функций, ни ООП, из чего вывод - скрипт выполняется построчно, согласно человеческому представлению, то есть, сверху внизу, строка за строкой, словно чтение книжки.

(Отредактировано автором: 05 Января, 2016 - 18:54:44)



-----
Март 2021. Бросил программирование
 
 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