Если Вы не получили окно показанное на рис. 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. Содержимое письма.