PHP.SU

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

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

> Найдено сообщений: 8
kopro Отправлено: 13 Апреля, 2013 - 10:56:35 • Тема: Вывод результата запроса • Форум: Вопросы новичков

Ответов: 1
Просмотров: 122
Есть вот такой обработчик формы, в котором также обьявлены функции:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4. switch($_POST['type'])
  5. {
  6. case "SMPP":
  7.  
  8. $tip=4;
  9. break;
  10. case "All":
  11.  
  12. $tip=5;
  13. break;
  14. case "SMTP":
  15.  
  16. $tip=9;
  17. break;
  18. case "HTTP":
  19.  
  20. $tip=4;
  21. break;
  22. case "WEB":
  23.  
  24. $tip=8;
  25. break;
  26. case "FTP":
  27.  
  28. $tip=6;
  29. break;
  30. }
  31.  
  32.  
  33.  
  34. function request ($tip) {
  35.  
  36. $query = "
  37. SELECT baza.id AS id, clienttip AS
  38. TYPE , Name,
  39. TYPE AS Connection, Email
  40. FROM  `baza`.`baza` ,  `baza`.`clienttip` ,  `baza`.`types`
  41. WHERE  `types`.`id` = '$tip'
  42. LIMIT 10;
  43. ";
  44.  
  45. $link = mysql_connect("127.0.0.1", "root" )
  46.        or die("Could not connect : <br>" . mysql_error());
  47.    mysql_set_charset('koi8r',$link);
  48. print "Connected successfully!";
  49.  
  50.  
  51.  
  52. $result = mysql_query($query) or die("Query failed : " . mysql_error());
  53. retutn $result;
  54. }
  55.  
  56. function  viewer ($result) {
  57. print "\n<table border=1>\n";
  58. print "<tr>\t<td>ID</td>\n\t<td>Client type</td>\n\t<td>Name</td>\n\t<td>Client </td>\n\t<td>Connection type </td>\n\t<$
  59. \t<td>Email</td>\n</tr>\n$";
  60. $i=1;
  61.   while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
  62.        print "<tr>\n";
  63.        echo "\t<td>$i</td>\n";$i++;
  64.        foreach ($line as $col_value) {
  65.        print "\t<td>$col_value </td>\n";
  66.        }
  67.        print "</tr>\n";
  68.    }
  69.    print "</table>\n";
  70. }
  71.         ?>
  72.  


Знаю что выглядит несколько бредово, но хочу научится писать функциями а не все подряд. Вот и изголяюсь. Так вот когда пытаюсь вызвать обьявленные функции:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <?
  4.  
  5.  
  6.  
  7. request ($tip);
  8. viewer ($result);
  9.  
  10.         ?>
  11.  


То получаю ошибку что переменная $result не получена функцией viewer.
Что я делаю не так?
kopro Отправлено: 05 Марта, 2013 - 01:03:50 • Тема: Проблема с формой "отправка письма с вложением" • Форум: Обсуждение статей

Ответов: 8
Просмотров: 8833
Такой вопрос: если тестировать скрипт на Denwer - письма в sendmail приходят без файла-вложения. Это значит скрипт не работает как надо, или потому что Denwer ?

В коде ничего не менял, как в примере:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
  3.  // проверяем правильности заполнения с помощью регулярного выражения
  4.  if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to'])) exit("Введите адрес в виде somebody@server.com");
  5.  $picture = "";
  6.  // Если поле выбора вложения не пустое - закачиваем его на сервер
  7.  if (!empty($_FILES['mail_file']['tmp_name']))
  8.  {
  9.    // Закачиваем файл
  10.    $path = $_FILES['mail_file']['name'];
  11.    if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
  12.  }
  13.  $thm = $_POST['mail_subject'];
  14.  $msg = $_POST['mail_msg'];
  15.  $mail_to = $_POST['mail_to'];
  16.  // Отправляем почтовое сообщение
  17.  if(empty($picture)) mail($mail_to, $thm, $msg);
  18.  else send_mail($mail_to, $thm, $msg, $picture);
  19.  // Вспомогательная функция для отправки почтового сообщения с вложением (Trianon)
  20.  function send_mail($mail_to, $thema, $html, $path)  
  21.  { if ($path) {  
  22.    $fp = fopen($path,"rb");  
  23.    if (!$fp)  
  24.    { print "Cannot open file";  
  25.      exit();  
  26.    }  
  27.    $file = fread($fp, filesize($path));  
  28.    fclose($fp);  
  29.    }  
  30.  
  31.    
  32.  
  33.    $boundary = "--".md5(uniqid(time())); // генерируем разделитель
  34.  
  35.    $headers .= "MIME-Version: 1.0\n";
  36.  
  37.    $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
  38.  
  39.    $multipart .= "--$boundary\n";
  40.  
  41.    $kod = 'koi8-r'; // или $kod = 'windows-1251';
  42.  
  43.    $multipart .= "Content-Type: text/html; charset=$kod\n";
  44.  
  45.    $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
  46.  
  47.    $multipart .= "$html\n\n";
  48.  
  49.  
  50.  
  51.    $message_part = "--$boundary\n";
  52.  
  53.    $message_part .= "Content-Type: application/octet-stream\n";
  54.  
  55.    $message_part .= "Content-Transfer-Encoding: base64\n";
  56.  
  57.    $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
  58.  
  59.    $message_part .= chunk_split(base64_encode($file))."\n";
  60.  
  61.    $multipart .= $message_part."--$boundary--\n";
  62.  
  63.        if(!mail($mail_to, $thema, $multipart, $headers))  
  64.         {echo "Fail";           //если не письмо не отправлено
  65.      }  
  66.    else { //// если письмо отправлено
  67. echo "Weeeee";  
  68.    }  
  69.  exit;  
  70.  }
  71. ?>
kopro Отправлено: 03 Марта, 2013 - 13:15:42 • Тема: Разделение кода • Форум: Вопросы новичков

Ответов: 2
Просмотров: 123
Спасибо, по разделению кода - вопрос отпал, но вот как связать чекбокс - с таблицей, что б отображалось только выбранное..?
Тоесть:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4. function DbQuery($query) {
  5.  
  6. $result = mysql_query($query) or die("Ошибка в запросе: " . mysql_error());
  7.  $arr = array();
  8.  while ($row = mysql_fetch_assoc($result)) {
  9.    $arr[] = $row;
  10.  }
  11.  return $arr;
  12. }
  13.  
  14. require 'bd.php';
  15.  
  16. $types=  DbQuery ("SELECT distinct type FROM `clients` ;");
  17.  
  18. $table= DbQuery ("SELECT  name, email, lang FROM clients;");
  19.  
  20. require 'inform.php';
  21. ?>


И шаблон в виде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Inform interface</title>
  5. <!-- <link type="text/css" rel="stylesheet" href="stylesheet.css"/> -->
  6. </head>
  7.         <body>
  8.                
  9.                       <div id='header'><p>Ololo</p></div>
  10.      <div id='content'><form action="inform.php" method="post">
  11.          <?php foreach ($arr as $str)?>
  12. <input name="type" type="radio" value="<?$str['Type']?>"> SMPP
  13. <input name="type" type="radio" value="<?$str['Type']?>" checked> All
  14. <input name="type" type="radio" value="<?$str['Type']?>"> SMTP
  15. <input name="type" type="radio" value="<?$str['Type']?>"> HTTP
  16. <input name="type" type="radio" value="<?$str['Type']?>"> WEB
  17.  
  18. <input type="submit" value="Показать">
  19. <!-- А дальше? Как привязать отображение столбцов таблицы в зависимости от "type" ? -->
  20.                          <table>
  21.         <tr>
  22.             <td>##</td>
  23.         <td>Connect</td>
  24.         <td>Клиент</td>        
  25.         <td>Contact</td>                                                                               
  26.         </tr>
  27.     <tr>
  28.              <td><?$table[type]?></td>
  29.     </tr>      
  30.                  </table>
  31.    
  32.      
  33. <form>
  34.        
  35.        
  36.         </div>
  37.                       <div id='footer'></div>
  38.          </body>
  39. </html>
kopro Отправлено: 03 Марта, 2013 - 11:32:12 • Тема: Разделение кода • Форум: Вопросы новичков

Ответов: 2
Просмотров: 123
Есть страница, которая должна отображать таблицу. Данные в таблице берутся из БД
Таблица в зависимости от выбранных checkbox-ов имеет разное колличество столбцов. При всем при этом желательно максимально возможно разделить html и php код.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Inform interface</title>
  5. <!-- <link type="text/css" rel="stylesheet" href="stylesheet.css"/> -->
  6. </head>
  7.         <body>
  8.                       <div id='header'><p>Ololo</p></div>
  9.      <div id='content'><form method="post"  action="control.php" >
  10.          
  11. <input name="type" type="radio" value="SMPP"> SMPP
  12. <input name="type" type="radio" value="SMPP" checked> SMPP
  13. <input name="type" type="radio" value="SMTP"> SMTP
  14. <input name="type" type="radio" value="HTTP"> HTTP
  15. <input name="type" type="radio" value="WEB"> WEB
  16.  
  17.  
  18.    
  19.           <table>
  20.         <tr>
  21.             <td>##</td>
  22.         <td>Connect</td>
  23.         <td>Клиент</td>        
  24.                 <td>IW</td>
  25.                 <td>Bulk</td>
  26.                 <td>Language</td>
  27.                 <td>SMPP</td>
  28.                 <td>SMTP</td>
  29.                 <td>FTP</td>
  30.                 <td>HTTP</td>
  31.                 <td>WEB</td>
  32.                 <td>SS7</td>
  33.                 <td>Contact</td>
  34.                                                                                        
  35.         </tr>    
  36.                  </table>
  37.  
  38.        
  39.        
  40.          </form></div>
  41.                       <div id='footer'></div>
  42.          </body>
  43. </html>


Подскажите, как сделать что б отображались только выбранные чекбоксом поля (по какому принципу будет работать control.php )
А так же как разделить этот индекс, и код с запросом данных из БД. Потому как у меня работает только все вместе:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. $query = "
  3. SELECT name, Type , email, lang FROM clients
  4. where smpp=1
  5. order by lang;
  6. ";
  7.  
  8. $result = mysql_query($query, $db) or die("Query failed : " . mysql_error());
  9. print "\n<table border=1>\n";
  10. print "
  11. <tr>\t
  12. <td>##          </td>\n\t
  13. <td>Клиент      </td>\n\t
  14. <td>Подключение </td>\n\t
  15. <td>Contact </td>\n\t
  16. <td>Language </td>\n\t
  17. </tr>\n
  18. ";
  19. $i=1;
  20.   while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
  21.   {
  22.        print "<tr>\n";
  23.        echo "\t<td>$i</td>\n";$i++;
  24.        foreach ($line as $col_value)
  25.                 {
  26.        print "\t<td>$col_value </td>\n";
  27.        }
  28.        print "</tr>\n";
  29.    }
  30.    print "</table>\n";
  31. //закрытие соединение (рекомендуется)
  32.  mysql_close($db);
  33. ?>
kopro Отправлено: 01 Ноября, 2012 - 04:47:01 • Тема: Динамический список • Форум: Вопросы новичков

Ответов: 10
Просмотров: 450
Спасибо, помогли. Правда есть еще один ньюанс - если выбрать второй раз другой пункт списка - предыдущее поле остается отображенным . Необходимо добавить в скрипт-обработчик - обновление страницы при каждом новом выборе пункта меню? Каким образом это делается?
kopro Отправлено: 27 Октября, 2012 - 16:13:36 • Тема: Динамический список • Форум: Вопросы новичков

Ответов: 10
Просмотров: 450
Прошу прощения, но интерфейс в целом - на пхп, а без небольших javascrit-вставок обходится не получается. Если знаете как решить подобную задачу чисто на пхп - буду рад любому решению, помощи..
kopro Отправлено: 27 Октября, 2012 - 15:58:32 • Тема: Динамический список • Форум: Вопросы новичков

Ответов: 10
Просмотров: 450
Ну собственно как это сделать. Я так понимаю что в подобном коде:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <select >
  2. <option>Пункт один</option>
  3. <option>Пункт два </option>
  4. <option>Пункт три</option>


Каждому элементу списка нужно присвоить id, и связать с их помощью связать соответствующие элементы, с <div ...style.disabled=none;> - полями, и написать в селекте функцию для onclick, которая будет отображать поля. Но как должна выглядеть подобная функция, и как связываются пункты? Хотя бы в самом простом виде..
kopro Отправлено: 27 Октября, 2012 - 15:39:55 • Тема: Динамический список • Форум: Вопросы новичков

Ответов: 10
Просмотров: 450
Необходимо создать выпадающий список, после выбора элемента которого, стают видны остальные поля (разнообразные формы) на странице(в зависимости от выбранного пункта).

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB