PHP.SU

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

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

> Найдено сообщений: 28
obi-wan Отправлено: 26 Июня, 2008 - 10:40:19 • Тема: Помогите разобраться с $_Get • Форум: Программирование на PHP

Ответов: 16
Просмотров: 903
После того как я нашел сайт php.su, я очень редко искал что-нибудь по пхп в сети. Там практически все, что нужно есть. "Основ" предостаточно. Справочник - пожалуйста. Статьи.

А что "посерьезней" тебе надо?
obi-wan Отправлено: 26 Июня, 2008 - 08:48:53 • Тема: Помогите разобраться с $_Get • Форум: Программирование на PHP

Ответов: 16
Просмотров: 903
Если позволишь дать совет, не надо читать книгу, в которой приводятся такие конструкции. Да и вообще по php книги сейчас не нужны, вся информация есть в сети, в частности, на этом сайте.
Когда я только-только решил изучать php, у меня дома не было инета и я купил книгу "PHP в WEB-дизайне" издательства BHV. Книга оказалась настолько ужасной, что я вообще ничего в пхп не понял. В итоге мое обучение основам затянулось на очень долго.
Короче, чтобы стать крутым программистом, нужен интернет и больше практиковаться. Все. Книги может если только по философии программирования пригодятся.
obi-wan Отправлено: 26 Июня, 2008 - 08:09:03 • Тема: Помогите разобраться с $_Get • Форум: Программирование на PHP

Ответов: 16
Просмотров: 903
Очень неудобно читать конструкции типа

print "<input type =\"hidden\" name =\" math\">\n";

Почему бы тогда не писать и

print "<title></title>";
print "</head>";

print "<body>";

??

Гораздо удобнее писать так:

PHP:
скопировать код в буфер обмена
  1.  
  2. <title></title>
  3. </head>
  4.  
  5. <body>
  6.  
  7.  
  8. <?PHP
  9. $a = $_GET["a"]; $b = $_GET["b"]; $c = $_GET["c"];
  10. ?>
  11. <form method ="get" action ="#"><br>
  12. A = <input name ="a" value ="<?=$a?>"><br>
  13. B = <input name ="b" value ="<?=$b?>">
  14.  
  15. <input name ="butt" value ="ok">
  16.  
  17. <? $c = 1; ?>
  18.  
  19. <input type ="hidden" name ="math">
  20. <input type ="submit" value ="Ok"></form>
  21.  
  22. <?PHP
  23. print_r($_GET);
  24. ?>
  25.  
  26. </body>
  27.  
  28. </html>
  29.  
obi-wan Отправлено: 11 Октября, 2007 - 10:23:25 • Тема: Как брать данные из форм • Форум: Программирование на PHP

Ответов: 8
Просмотров: 534
Короче, я решил ограничиться таким способом решения:
PHP:
скопировать код в буфер обмена
  1.  
  2.  <form ....>
  3.  <table .... >
  4.  ...
  5.  <input type="checkbutton" name="blabla1" ...> ...
  6.  ...
  7.  <input type="checkbutton" name="blabla2" ...> ...
  8.  ...
  9.  <input type="checkbutton" name="blabla3" ...> ... <input type="text" name="blabla3_text"> <input type="hidden" name="blabla_id" value="4"> ...
  10.  ...
  11.  ...
  12.  </table>
  13.  </form>
  14.  


Если ограничиться редактированием одной строки за раз, то проблема отпадает. Данные из checkbox передаются только если галочка стоит, а редактируется в один момент только одна строка.

Если бы нужно было редактировать несколько строк сразу, то полей для ввода бы добавилось.

Я просто хотел их в отдельные формы выделить для каждой строки, но этому мешает обрамляющая форма для checkbox'ов.\n\n(Добавление)
Спасибо
obi-wan Отправлено: 11 Октября, 2007 - 10:10:31 • Тема: Как брать данные из форм • Форум: Программирование на PHP

Ответов: 8
Просмотров: 534
Такой вариант не хочется использовать. Я поэтому этот вопрос здесь и задал.

Хочется, чтобы было вот так:

checkbox | имя 1 | характеристика 1 | характеристика 2 | ...
checkbox | имя 2 | характеристика 1 | характеристика 2 | ...
checkbox | имя 3 | характеристика 1 | характеристика 2 | ...
checkbox | имя 4 | поле для ввода 1 | поле для ввода 2 | ...
obi-wan Отправлено: 11 Октября, 2007 - 09:45:31 • Тема: Как брать данные из форм • Форум: Программирование на PHP

Ответов: 8
Просмотров: 534
Щас расскажу.
phpMyAdmin юзали же - видели, как там работа с таблицами происходит.
Ставишь галочку на нужных строках таблицы, выбираешь действие - и оно выполняется.
Мне нужно сделать то же самое.
Можно сделать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <form ....>
  3. <table .... >
  4. ...
  5. <input type="checkbutton" name="blabla1" ...> ...
  6. ...
  7. <input type="checkbutton" name="blabla2" ...> ...
  8. ...
  9. ...
  10. </table>
  11. </form>
  12.  


И вроде никаких проблем.

Однако мне нужно, чтобы в строчках этой таблицы появлялись еще поля для ввода, например, чтобы редактировать некоторые данные в записях.

Вижу 2 варианта:
1. Использовать вложенные формы. Но можно ли это?
2. Использовать под те поля для ввода ту же самую форму. Только это не совсем удобно. Будет слишком много данных передаваться за раз из формы.

Непонятно?
obi-wan Отправлено: 11 Октября, 2007 - 09:26:17 • Тема: Помогите с action! • Форум: Программирование на PHP

Ответов: 10
Просмотров: 534
Блин, где-то здесь была тема уже об этом. Не смог найти.
Создай переменную $_SESSION['field'], запиши туда вставляемое значение, и при вставке проверяй, не совпадает ли вновь вставляемое значение с хранимым в сессии.
obi-wan Отправлено: 11 Октября, 2007 - 08:06:22 • Тема: Как брать данные из форм • Форум: Программирование на PHP

Ответов: 8
Просмотров: 534
Добрый день!
Есть таблица записей, которые можно отмечать галочками и потом с отмеченными производить всякие действия.
Нет проблем - создал форму, обрамляющую таблицу, и всё.

Однако внутри таблицы тоже должны быть поля для ввода, и лучше всего было бы их оформить в виде отдельных форм.

Вопрос:
В ХТМЛ вложенные формы допускаются или нет?
Или я совсем дурак, и для тех полей для ввода нужно использовать ту же самую форму, получая автоматом имена для <input>?
obi-wan Отправлено: 05 Октября, 2007 - 11:20:27 • Тема: Число строк кода переваливает за 2000 • Форум: Программирование на PHP

Ответов: 7
Просмотров: 416
Само по себе не значит. Другое дело, что я взял и проверил.
Написал такой код:


Не выполнилось. Улыбка значит, читает.
obi-wan Отправлено: 04 Октября, 2007 - 19:43:20 • Тема: Число строк кода переваливает за 2000 • Форум: Программирование на PHP

Ответов: 7
Просмотров: 416
Мысль.
Ошибка E_PARSE может возникать просто потому, что дошел пхп до какой-то строчки, отпарсить не может - вот и выдает. Дальше не читает, поэтому таких ошибок всегда не больше одной.

Вызов функций. Функции вызываются только после того, как их определение прочитано. Поэтому ничего "дальше" читать тоже по идее не надо.
obi-wan Отправлено: 27 Сентября, 2007 - 13:14:42 • Тема: Число строк кода переваливает за 2000 • Форум: Программирование на PHP

Ответов: 7
Просмотров: 416
Спасибо. Вопросов больше нет Улыбка
obi-wan Отправлено: 26 Сентября, 2007 - 12:57:38 • Тема: Число строк кода переваливает за 2000 • Форум: Программирование на PHP

Ответов: 7
Просмотров: 416
Спасибо. Я вот в чем сомневался. ПХП же интерпретирует, а не компилирует. Поэтому подумал, что можно гулять по строкам, куда скажут, а не читать и компилить 3000-строчный файл.
Значит, он все равно читает всё?
obi-wan Отправлено: 26 Сентября, 2007 - 11:47:57 • Тема: Число строк кода переваливает за 2000 • Форум: Программирование на PHP

Ответов: 7
Просмотров: 416
Здравствуйте!
Пишется крупный пхп проект. Код уже получается длинный, и вдобавок известно, что будут добавляться все новые и новые страницы с нестандартным содержимым, так что код будет еще длиннее. Мало того, для новых страниц не создается отдельный файл .php, а они добавляются по следующему принципу:
index.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. require_once("pages.php");
  3. ...
  4. // $page_type получаем из GET
  5.  
  6. switch ($page_type)
  7. {
  8.   case "page_name":
  9.     $page = new page_name;
  10.     break;
  11.   ...
  12. }
  13. echo_page($page);
  14.  


pages.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. class html_page
  3. {
  4.   var $content;
  5.   ...
  6. }
  7.  
  8. class page_name extends html_page
  9. {
  10.   function page_name()
  11.   {
  12.      $this->content = "...";
  13.      ...
  14.   }
  15. }
  16.  
  17. function echo_page($page)
  18. {
  19.    echo " ...
  20.    {$page->content}
  21.   ...";
  22. }
  23.  

Структура, в общем, такая. Мне она очень понравилась. Развязывает руки во многом. Однако код pages.php получается уже очень длинным.

Вопрос:
1. Будет ли такой большой код одного файла сильно тормозить выполнение программы, если он еще разрастется (сейчас пока все ок)?
2. Будет ли быстрее работать программа, если чуть-чуть по-другому действовать?
index.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. // $page_type получаем из GET
  3.  
  4. switch ($page_type)
  5. {
  6.   case "page_name":
  7.     include("page_name.php");
  8.     $page = new page_name;
  9.     break;
  10.   ...
  11. }
  12. echo_page($page);
  13.  

То есть для каждой страницы делать отдельный файл с определением ее класса, а потом динамически инклудить только нужный файл, не читая 3000 строк pages.php?

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB