Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая MySQL и PHP.doc
Скачиваний:
34
Добавлен:
16.12.2018
Размер:
896 Кб
Скачать

Работа с формами

Для передачи данных от пользователя Web-страницы на сервер используются HTML-формы. Для работы с формами в PHP предусмотрен ряд специальных средств.

Обработка ввода пользователя

PHP-программу обработки ввода можно отделить от HTML-текста, содержащего формы ввода, а можно расположить на одной странице.

Пример 2

<?php

if ( ! isset( $cardnumber ) )

$m = "Введите номер карточки";

elseif ( $cardnumber == "" )

$m = "Ваш номер пуст!";

else

$m = "Ваш номер: $cardnumber";

?>

<html>

<head>

<title>Пример обработки ввода</title>

</head>

<body>

<h1><?php echo $m?></h1>

<form name="form1" action="<?php echo $PHP_SELF?>" method="post">

<p>Номер карточки:

<input name="cardnumber" type="text" size="20">

</form>

</body>

</html>

Здесь отсутствует кнопка передачи данных, т.к. форма, состоящая из одного поля, передается автоматически при нажатии клавиши <Enter>.

При обработке элемента с многозначным выбором для доступа ко всем выбранным значениям нужно к имени элемента добавить пару квадратных скобок.

Пример 3.1

ex.htm

<html>

<head>

<title>Список</title>

</head>

<body>

<form name="form1" action="ex1.php" method="post">

<select name="Item[]" size=5 multiple>

<option>Чай

<option>Кофе

<option>Молоко

<option>Ветчина

<option>Сыр

</select>

<input type="submit" value="ВВОД">

</form>

</body>

</html>

Пример 3.2

ex1.php

<html>

<head>

<title>Обработка списка (файл ex1.php)</title>

</head>

<body>

<?php

echo "Ваш заказ: <p><ul>";

foreach ( $Item as $value ) echo "<li>$value";

echo "</ul>";

?>

</body>

</html>

Пример 4. Прием значений от checkbox-флажков.

< ?

if (@$_REQUEST['doGo']) {

foreach (@$_REQUEST['known'] as $k=>$v) {

if($v) echo "Вы знаете язык программирования $k!<br>";

else echo "Вы не знаете языка программирования $k. <br>";

}

}

?>

<form action="< ?=$_SERVER['SCRIPT_NAME']?>" method=post>

Какие языки программирования вы знаете?<br>

<input type=hidden name="known[PHP]" value="0">

<input type=checkbox name="known[PHP]" value="1">PHP<br>

<input type=hidden name="known[Perl]" value="0">

<input type=checkbox name="known[Perl]" value="1">Perl<br>

<input type=submit name="doGo" value="Go!">

</form>

Пример 5

< ?php ## Модель скрипта, принимающего текст от пользователя.

if (@$_REQUEST['text'])

echo htmlspecialchars($_REQUEST['text'])."<hr>";

?>

<form action="< ?=$_SERVER['SCRIPT_NAME']?>" method="post">

<textarea name="text" cols="60" rows="10">

< ?=@htmlspecialchars($_REQUEST['text'])?>

</textarea><br>

<input type="submit">

</form>

Связь php с базой данных MySql

Чтобы получить доступ к базе данных из Web, используя PHP, надо сделать следующие основные шаги:

  • Подключение к серверу MySQL.

  • Выбор базы данных.

  • Выполнение запроса к базе данных:

    • добавление;

    • удаление;

    • изменение;

    • поиск;

    • сортировка.

  • Получение результата запроса.

  • Отсоединение от базы данных.

Для подключения к серверу базы данных в PHP есть функция mysql_connect( ). Ее аргументы: имя компьютера, имя пользователя и пароль. Эти аргументы можно опустить. По умолчанию имя компьютера = localhost, тогда имя пользователя и пароль не требуется. Если PHP используется в сочетании с сервером Apache, то можно воспользоваться функцией mysql_pconnect(). В этом случае соединение с сервером не исчезает после завершения работы программы или вызова функции mysql_close(). Функции mysql_connect() и mysql_pconnect() возвращают идентификатор подключения, если все прошло успешно. Например:

$link = mysql_pconnect ();

if ( !$link ) die ("Невозможно подключение к MySQL");

После того, как соединение с сервером MySQL установлено, нужно выбрать базу данных. Для этого используется функция mysql_select_db(). Ее аргумент: имя базы данных. Функция возвращает true, если указанная база данных существует и доступ к ней возможен. Например:

$db = "sample";

mysql_select_db ( $db ) or die ("Невозможно открыть $db");

Для добавления, удаления, изменения и выбора данных нужно сконструировать и выполнить запрос SQL. Для этого в языке PHP существует функция mysql_query(). Ее аргумент: строка с запросом. Функция возвращает идентификатор запроса.