Начну с того, что я только начал изучать php, посему не судите строго ;)
Итак, суть проблемы, подскажите пожалуйста как выводить правильно php через html (то, что мешать хтмл и пхп не желательно, я в курсе, это всего лишь для закрепления знаний, а не для какого-то реального сайта). Теперь объясняю детали, есть index.html, мне необходимо произвести авторизацию пользователя не выходя за пределы этого index.html.
Код index.php
<html>
<body>
<div style="margin:0; width:600px; height:600px; background-color:#999">
<?php
include "auth.php";
?>
</div>
</body>
</html>
Т.е. тут все просто, я банально делаю вывод auth.php в блоке.
Вот мой auth.php
<?php
if (!isset ($_POST['login'])) //Если не передан параметр "логин" то..
{
echo file_get_contents('login-form.html'); //..то выводим форму для ввода "логина"
}
else //Если передан "логин" то..
{
include "config.php"; //Подключаемся к MySQL..
mysql_select_db($DB); //Выбираем Базу данных..
$login = ($_POST['login']); //Берем логин из формы авторизации
$password = ($_POST['password']); //Берем пароль от туда же
//В переменную заносим текст запроса в БД (Выбираем столбец "id" в таблице "users",
//при условии если логин и пароль из столбцов "login" и "password" будут совпадать с переданными из формы
$query = "SELECT `id`
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error()); //Передаем наш запрос БД и заносим ответ в переменную.
if (mysql_num_rows($sql) == 1) //Если количество строк в ответе нашей БД будет = 1, то..
{
echo file_get_contents('admin-menu.html'); //Выводим панель/приветствие.
}
else
{
die('Такой логин с паролем не найдены в базе данных. И даём ссылку на повторную авторизацию.'); //Если строк >1, то неверные данные.
}
}
?>
Сорри за коментарии к коду, делал для себя.. Сразу скажу, что скрипт авторизации полностью рабочий. Скрипт старался максимально упростить, для будущей работы над ошибками.
Что в итоге я имею. В моем index.html в блоке выводиться форма авторизации (login-form.html), затем при выводе данных сообщения (либо об успешной авторизации(подключение admin-menu.html) либо об ошибке логина/пароля) выводятся уже вне index.html.
ЗЫ Надеюсь нормально смог объяснить проблему.