Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 755
от 01.09.2007, 19:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 436, Экспертов: 48
В номере:Вопросов: 4, Ответов: 10


Вопрос № 99738: Добрый день уважаемые эксперты. Скажите пожалуйста, как скрипт на php может "считать" командную строку типа www.mysite.com.ru/index.php?variable=myvalue И сколько таких параметров можно передать, и как они должны быть разделены ...
Вопрос № 99797: Доброе время суток, эксперты. Подскажите как из mysql базы данных экспортировать данные в exel. Это делается средствами php или mysql. Спасибо....
Вопрос № 99871: Здравствуйте! столкнулся с необходимостью автоматизировать администрирование БД MySQL. Написал запросы, все рабочие. теперь решил перенести запросы в рнр. Так как некоторые из запросов довольно сложные и подразумевают множественные операции с...
Вопрос № 99882: Уважаемые эксперты помогите мне нужно внести данные с помощью формы в MYSQL. Как написать данный скрипт "config.php". Где можно прочитать...

Вопрос № 99.738
Добрый день уважаемые эксперты.
Скажите пожалуйста, как скрипт на php может "считать" командную строку типа
www.mysite.com.ru/index.php?variable=myvalue
И сколько таких параметров можно передать, и как они должны быть разделены в ссылке?
и если кто-то может, порекомендуйте мне хорошую книгу, чтобы там все было сжато и понянто описано, и как можно меньше "воды"
Заранее благодарен.
Отправлен: 26.08.2007, 18:51
Вопрос задал: Ігор (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Бобровский Сергей Сергеевич
Здравствуйте, Ігор!
Рекомендую книги Котерова.
Считать можно.
При переходе по такой ссылке, какая указана у Вас, в сценарии станет доступна переменная
$_GET['variable'], значение которой будет равно "myvalue"
---------
Никогда не бойтесь делать то, что не умеете! Помните: Ноев Ковчег построил любитель, а Титаник - профессионал.
Ответ отправил: Бобровский Сергей Сергеевич (статус: 2-ой класс)
Ответ отправлен: 26.08.2007, 18:57
Оценка за ответ: 5
Комментарий оценки:
Отлично, благодарю за совет.
А книгу я поищу.

Отвечает: Azrr
Здравствуйте, Ігор!
При передачи php скрипту параметров они автоматически преобразуются в переменные, т.е. в случае index.php?variable=myvalue
пременная $variable будет равна "myvalue", разделяются они символом &, наример script.php?val1=1&val2=2&val3=3, передать их можно много, но если параметров много их лучше передавать POST'ом.

Какую книгу вам порекомендовать даже не знаю, для начала "PHP для чайников", а потом на что нибудь посерьёзней, лично я при себе держу "Профессиональное РНР программирование" Луиса Аргериха и ко.
Ответ отправил: Azrr (статус: 3-ий класс)
Ответ отправлен: 26.08.2007, 19:07
Оценка за ответ: 5

Отвечает: Powoditch konstantin
Здравствуйте, Ігор!
Дополняю в свою очередь ответ о количестве переменных. Можно в get запросе передать количество символов ДО 256.
Ответ отправил: Powoditch konstantin (статус: 5-ый класс)
Ответ отправлен: 26.08.2007, 22:00
Оценка за ответ: 4
Комментарий оценки:
Честно, говоря, мне это мало что говорит.
Ладно, я уже разобрался.
Пока даже мне хватает 1 переменной, поэтому я пользуюсь (пока) $QUERY_STRING

Отвечает: Miklucho
Здравствуйте, Ігор!
Все зависит от того включена ли лиректива register_globals в файле php.ini

1) Если register_globals=on, то при вызове вашего скрипта index.php с параметром ?variable=myvalue
в скрипте автоматически появится переменная $variable значение которой будет равно myvalue

Соотвественно если вы передадите в index.php два или более параметра, например index.php?variable=myvalue&variable2=myvalue2&variable3=myvalue3

то в скрипте будут доступны для использования три переменных variable, variable2, variable3 с соотвествующими значениями.

2) Однако сейчас часто стали выключать register_globals, т.е. register_globals=off.
В этом случае переменные автоматически создаваться не будут. Их значения будут хранится в глобальном массиве $_GET
Тогда чтобы получить переменные $variable,$variable2,$variable3 вам необходимо написать такие строки:
$variable=$_GET['variable'];
$variable2=$_GET['variable2'];
$variable3=$_GET['variable3'];

т.е. для каждого переданного параметра в массиве $_GET будет создан отдельный элемент, имя ключа которого совпадает с именем переданного параметра, а значение этого элемента равняется значению параметра.

Рекомендую в целях совместимости ваших скриптов с разными хостингами, не полагаться на включенный register_globals и пользоваться только вторым способом.

PS: Массив $_GET используется для хранения только тех параметров которые были переданы скрипту методом get. Если данные передавались методом post, используйте глобальный массив $_POST.
Также существует глобальный массив $_REQUEST, который является объединением массивов $_GET и $_POST
Подробнее об этих и других суперглобальных массивах и переменных вы можете ознакомится здесь:
http://ru2.php.net/manual/ru/language.variables.predefined.php
либо здесь
http://gazette.linux.ru.net/lg86/lechnyr.html

А хорошая книга (Максим Кузнецов "PHP5 на примерах") по PHP есть на ftp-сервере rusfaq.ru
Ответ отправил: Miklucho (статус: Студент)
Ответ отправлен: 27.08.2007, 06:31
Оценка за ответ: 5
Комментарий оценки:
Очень благодарствую. ВАш ответ был самым полным, из всех, что я получил. Так что - огромное спасибо!!!

Отвечает: M@gi$†e®
Здравствуйте, Ігор!
Да, PHP может "считать" URL.
Все, что находится в URL, помещается в массивы $_GET, $_REQUEST, $GLOBALS.

Самая хорошая книга, на мой взгляд: Д. Котеров, А. Костарев. PHP 5.

Приложение:

---------
Aquila non Capta Muscas

Ответ отправил: M@gi$†e® (статус: 4-ый класс)
Ответ отправлен: 28.08.2007, 02:26
Оценка за ответ: 3
Комментарий оценки:
Книгу я посмотрю, вот только бы, конечно, хотелось услышать все-таки больше о $_GET, $_REQUEST, $GLOBALS.

С другой стороны, пока мне это не нужно, я решил проблему немного иным путём.


Вопрос № 99.797
Доброе время суток, эксперты. Подскажите как из mysql базы данных экспортировать данные в exel. Это делается средствами php или mysql. Спасибо.
Отправлен: 27.08.2007, 09:18
Вопрос задал: Александр Михайлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: din
Здравствуйте, Александр Михайлович!
Вот ссылка на библиотеку для PHP, которая работает с Excel.

Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 27.08.2007, 09:57

Отвечает: Powoditch konstantin
Здравствуйте, Александр Михайлович!
В дополнение хочу сказать что phpMyAdmin может делать експорт БД в ексель формате.
Ответ отправил: Powoditch konstantin (статус: 5-ый класс)
Ответ отправлен: 27.08.2007, 13:20


Вопрос № 99.871
Здравствуйте!
столкнулся с необходимостью автоматизировать администрирование БД MySQL.
Написал запросы, все рабочие. теперь решил перенести запросы в рнр. Так как некоторые из запросов довольно сложные и подразумевают множественные операции с базой данных, я объединял их в файлы и запускал файлами же на исполнение. но при переносе таких файлов в рнр выводится ошибка в синтаксисе mysql запроса! если разбить содержимое такого файла на отдельные запросы - ошибок нет.
использую функцию mysql_query

скажите пожалуйста, мне придётся каждый файл разбивать на отдельные запросы или при одном обращении функцией mysql_query возможно выполнить несколько запросов одновременно? или есть другая функция, которая позволит выполнить такое???

з.ы. не предлагайте написать более грамотные запорсы mysql, объединив их все в один - всё что можно было объединить в один запрос я уже давно объединил
Отправлен: 27.08.2007, 17:50
Вопрос задал: Rok-set (статус: 8-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Flynn
Здравствуйте, Rok-set!
Не получится. Mysql_query выполняет только один запрос за раз.
Как вариант можете разбивать запросы по символу ; функцией $q_array = explode(";",$query); если данный символ у вас встречается только в конце каждого запроса. Если нет - придется немного усложнить проверку, чтобы после точки с запятой проверяло наличие конца строки или же слов Insert, Select и т.д. что используются в начале запроса.
НУ и соответственно потом для каждого элемента полученого массива выполнить запрос.
Ответ отправил: Flynn (статус: 4-ый класс)
Ответ отправлен: 27.08.2007, 22:00
Оценка за ответ: 5
Комментарий оценки:
в принципе временно задачу уже решил. спасибо за дельный совет -
если такой функции нет, напиши сам ))


Вопрос № 99.882
Уважаемые эксперты помогите мне нужно внести данные с помощью формы в MYSQL.
Как написать данный скрипт "config.php". Где можно прочитать

Приложение:

Отправлен: 27.08.2007, 18:43
Вопрос задал: Slavkoz (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PVS
Здравствуйте, Slavkoz!
$date=$_POST['date'];
$text=$_POST['text'];
mysql_query("insert into data_table(pole_date,pole_text) values('".addslashes($date)."','".addslashes($text)."')");

С книгами не дружу, уважаю только прилагаемый к PHP manual :-)
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 27.08.2007, 18:55

Отвечает: Azrr
Здравствуйте, Slavkoz!
В приложении содержимое config.php, почитать можно в книге "PHP и MySql" Деордицы И.К., Професиональное програмирование PHP Луиса Аргериха.

Приложение:

Ответ отправил: Azrr (статус: 3-ий класс)
Ответ отправлен: 27.08.2007, 18:59


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.58 от 30.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное