Обратная связь
|
Пример 2: Английские дата и время Попробуем создать более сложную функцию. Функция, вызываемая с датой и временем, возвращает это в формате: Wednesday, 15 February, 2012, 10:00:00 AM
<html> <head> <title>Функции</title> </head> <body> <?php function EnglishDateTime($date) { // Массив с английскими названиями дней недели $arrDay = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"); // Массив с английскими названиями месяцев $arrMonth = array("","January","February","March","April","May","June","July","August","September","October","November","December"); // Конструируется дата $EnglishDateTime = $arrDay[(date("w",$date))] . ", " . date("d",$date); $EnglishDateTime = $EnglishDateTime . " " . $arrMonth[date("n",$date)] . " " . date("Y",$date); $EnglishDateTime = $EnglishDateTime . ", " . date("H",$date) . ":" . date("i",$date); return $EnglishDateTime; } // Проверка работы функции echo EnglishDateTime(time()); ?> </body> </html>
Обратите внимание, как '$arrMonth' и '$EnglishDateTime' конструируются в нескольких строках. Это сделано, чтобы пользователи с низким разрешением экрана могли лучше разглядеть пример. Это не влияет на сам код.
Эта функция работает на всех вэб-серверах, независимо от языка. То есть вы можете видеть работу этой функции, если ваш сайт, например, размещён на французском сервере, но вам нужны английские даты.
Передача переменных через URL
При работе с PHP часто необходимо передать переменные с одной страницы в другую. Этот урок - о передаче переменных в URL.
Как это работает?
Возможно, вас удивляло, почему некоторые URL выглядят наподобие этого:
http://html.net/page.php?id=1254 Почему после имени страницы стоит знак вопроса?
Ответ: символы после знака вопроса это строка HTTP-запроса. Строка HTTP-запроса может содержать как имена переменных, так и их значения. В вышеприведённом примере строка HTTP-запроса содержит переменную "id" со значением "1254".
Вот другой пример:
http://html.net/page.php?name=Joe То есть у вас снова переменная ("name") со значением ("Joe").
Как получить переменную с помощью PHP?
Предположим, у вас есть PHP-страница people.php. Можно вызвать её с использованием URL:
people.php?name=Joe В PHP вы можете получить значение переменной 'name' таким образом:
$_GET["name"] То есть вы используете $_GET для поиска значения именованной переменной. Попробуем на примере:
<html> <head> <title>Строка запроса</title> </head> <body> <?php // Значение переменной найдено echo "<h1>Hello " . $_GET["name"] . "</h1>"; ?> </body> </html> Попробуйте в этом примере заменить "Joe" вашим собственным в URL и снова вызвать документ! Довольно прикольно, а?
Несколько переменных в одном URL
В URL можно передавать и не одну переменную. Разделяя переменные знаком &, можно передавать несколько:
people.php?name=Joe&age=24 Этот URL содержит две переменные: name и age. Как и ранее, можно получит переменные так :
$_GET["name"] $_GET["age"] Добавим в пример ещё одну переменную:
<html> <head> <title>Строка запроса</title> </head> <body> <?php // Значение имени переменной name найдено echo "<h1>Hello " . $_GET["name"] . "</h1>"; // Значение имени переменной age найдено echo "<h1>You are " . $_GET["age"] . " years old </h1>"; ?> </body> </html>
Передача переменных через формы
Интерактивные сайты принимают ввод от пользователей. Один из распространённых способов получения ввода - формы.
В этом уроке посмотрим, как создать форму и обработать ввод на сервере.
<form>
При создании формы участвуют два важных атрибута: action и method.
Action
Используется для ввода URL, куда отправляется форма. Это может быть PHP-файл, который обрабатывает ввод.
Method
Может иметь значение "post" или "get", которые являются различными методами передачи данных. Пока вам нет необходимости углубляться в отличия этих методов; методом "get" данные отправляются через URL, а методом "post" - как блок данных через стандартный сервис ввода/standard input service (STDIN). В последнем пройденном уроке мы видели, как данные получаются через URL с использованием $_GET. В этом уроке мы рассмотрим, как получаются данные, отправленные через форму методом "post".
HTML-страница с формой
Страница с формой не обязаны быть РНР-файлом (но может быть). Она даже не обязана находиться на том же сайте, что и файл, который получает данные.
В нашем первом примере мы рассмотрим очень простую форму с одним текстовым полем:
<html> <head> <title>Форма</title> </head> <body> <h1>Введите ваше имя</h1> <form method="post" action="handler.php"> <input type="text" name="username"> <input type="submit"> </form> </body> </html> В браузере отобразится форма:
Теперь начинается самое интересное: получение и обработка данных с помощью PHP.
|
|