Указания к выполнению работы

Если Вы не получили окно показанное на рис. 2.31, а получили что-то подобное, как показано например, на рис. 2.32, то Вы скорее всего скопировали в файл index.php информацию из рис. 2.30, что не рекомендуется, т. к. при правке Вы могли допустить неточность.

Рис. 2.32. Предупреждение после модификации кода файла index.php.

 

Чтобы проверить это предположение закомментарим /* */ введенную часть текста (рис. 2.33).

<html>

<body>

<p> New Проверка моего домена с именем Moy.loc </p>

<? echo "Проверка вставки PHP кода в содержимое HTML" ?><br>

<?

/* комментарий в стиле СИ

$db = mysql_connect("localhost","people","12345");

mysql_select_db ("my_base",$db);

$result = mysql_query ("SELECT * FROM lesonss ", $db);

$num = mysql_num_rows ($result);

echo "Всего лекций в базе My_base, в таблице Lessons пока - $num";

*/

?>

</body>

</html>

Рис. 2.33. Использование блокового комментария в php (строки 7 и 13).

 

Более подробно использование комментариев в языке PHP приведено далее.

На данном этапе после сохранения изменений и перезапуска Вы увидите уже привычный экран (рис. 2.29). Значит ошибка внутри вставленного кода.

Для простейшей отладки приведите текст программы к виду (рис. 2.34).

<html>

<body>

<p> New 1Проверка моего домена с именем Moy.loc </p>

<? echo "Проверка вставки PHP кода в содержимое HTML" ?><br>

<?

$db = mysql_connect("localhost","people","12345") or die ("Нет соединения". mysql_error());

mysql_select_db ("my_base",$db)or die ("Нет доступа к базе".mysql_error());

$result = mysql_query ("SELECT * FROM lesonss ", $db) or die ("No доступа к табл".mysql_error())

//$num = mysql_num_rows ($result);

//echo "Всего лекций в базе My_base, в таблице Lessons пока - $num";

?>

</body>

</html>

Рис. 2.34. Использование строкового комментария в php (строки 10 и 11) и функции mysql_error().

 

Обратите внимание, что точка перед функцией mysql_error() поставлена не случайно.

После проведенных манипуляций Вы получите на экране (рис. 35)

Рис. 2.35. Ошибка, выданная функцией mysql_error() из строки 9 кода на рис. 2.14.

 

Ошибка заключается в неправильном написании слова lesonss в 9-ой строке кода представленного на рис. 2.34. Таблицы с таким названием в базе данных My_Base нет, а есть таблица с именем lessons.

 

Таким образом, правильный текст программы следующий (рис. 2.36):

<html>

<body>

<p> New Проверка моего домена с именем Moy.loc </p>

<? echo "Проверка вставки PHP кода в содержимое HTML" ?><br>

<?

$db = mysql_connect("localhost","people","12345");

mysql_select_db ("my_base",$db);

$result = mysql_query ("SELECT * FROM lessons ", $db)

$num = mysql_num_rows ($result);

echo "Всего лекций в базе My_base, в таблице Lessons пока - $num";

?>

</body>

</html>

Рис. 2.36. Правильный код index.php.

 

Используем данный код (рис. 2.36) для проверки функции mail.

$v = mail ("admin@moy.com","Привет", "Проверка функции MAIL"), которая позволяет переслать информацию с сервера клиенту (ам). Текст программы приобретет вид (рис. 2.37).

 

<html>

<body>

<p> New Mail Проверка моего домена с именем Moy.loc </p>

<? echo "Проверка вставки PHP кода в содержимое HTML" ?><br>

<?

$db = mysql_connect("localhost","people","12345");

mysql_select_db ("my_base",$db);

$result = mysql_query ("SELECT * FROM lessons ", $db);

$num = mysql_num_rows ($result);

echo "Всего лекций в базе My_base, в таблице Lessons пока - $num";

$v = mail ("admin@moy.com","Привет","Проверка функции MAIL");

?>

</body>

</html>

Рис. 2.37. Код index.php использующий обратную связь.

 

Первый параметр функции mail – это адрес получателя.

Второй параметр функции – это тема письма.

Третий параметр функции – это содержание письма

 

В качестве получателя использован адрес, сформированный в предыдущей лабораторной работе. Поэтому при загрузке файла Index.html на исполнение, функция mail будет автоматически слать сообщение по указанному адресу.

Если программу представленную на рис. 2.2 сохранить и перейти в Вашем браузере (например, в Internet Explorer) по адресу http://moy.loc/ , то Вы получите следующее окно (рис. 2.38).

 

Рис. 2.38. Окно браузера.

 

Аналогичный вариант Вы получите и в окне другого браузера (рис. 2.38a).

Рис. 2.38a. Окно браузера.

 

Для того чтобы проверить ушло ли сообщение, необходимо перейти в папку куда Вы установили сервер (в нашем случае это C:\WebServers) и найти в ней подпапку с именем !sendmail (рис. 2.39).

Рис. 2.39. Папка !sendmail для хранения сообщений по Email.

 

Если открыть эту папку, то в ней увидим полученное письмо (рис. 2.40).

 

Рис. 2.40. Возможный состав папки.

 

Имя письма состоит из даты отправки и времени получения. Расширение .eml, указывает к какому типу файлов относится данный файл.

 

Если раскрыть этот файл, то мы увидим следующее содержимое (рис. 2.41).

 

·

Рис. 2.41. Содержимое письма.