5.05.2012 / 09:40 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Koenig, как так сделать? Я просто в этом еще нуб
|
5.05.2012 / 10:16 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Оно работает и как я написал, но почему-то форму отображает еще раз, когда я ввел логин и пароль совпадающий с лог и пар в бд, а не перекидает на page.php
|
5.05.2012 / 12:07 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Немного изменил, дык теперь после успешного ввода данных обновляется страница, но уже пустая, даже без формы
|
5.05.2012 / 12:25 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| <?php
$auto_user=$enter=0;
$form_error='';
$db_host='openserver';
$db_database='ukrnet';
$db_user='root';
$db_pass='';
$buttoninput='<form>
<input type="submit" id="buttoninput" value="Назад" />
</form>
<script>
document.getElementById(\'buttoninput\').onclick = function()
{
history.back();
return false;
}
</script>';
$db_server= mysql_connect($db_host, $db_user, $db_pass);
if (!$db_server) die("<b>Произошла ошибка соединения с базой данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br />Код ошибки:" . mysql_error() . $buttoninput);
mysql_select_db($db_database) or die("<b>Произошла ошибка при выборе базы данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br /> Код ошибки:" . mysql_error() . $buttoninput);
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
Авторизація
</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" />
</head>
<body>';
$form='<form method="post" action="enter.php" class="enteruser"><p align="center"><font class="menu">Авторизація</font></p><p align="center">
Логін:<br />
<input type="text" name="login" /><br />
Пароль:<br />
<input type="password" name="password" /><br />
<input type="submit" value="Увійти" />
</p></form>';
if (isset($_COOKIE['login']) && isset($_COOKIE['password']))
{
$login=$_COOKIE['login'];
$password=$_COOKIE['password'];
$result_h=mysql_query('SELECT * FROM user');
$num_string=mysql_num_rows($result_h);
for ($j=0; $j < $num_string; ++$j)
{
if ($login == mysql_result($result_h, $j, 'login') && $password == mysql_result($result_h, $j, 'password'))
{
$auto_user=1;
exit;
}
}
}
if ($auto_user == 1)
{
echo '<div class="error">Ви вже зайшли на сайт під логіном' . $login;
echo '<form>
<input type="submit" id="buttoninput" value="Назад" />
</form>
<script>
document.getElementById(\'buttoninput\').onclick = function()
{
history.back();
return false;
}
</script>
</div>';
}
elseif (isset($_POST['login']) && isset($_POST['password']))
{
$login=$_POST['login'];
$password=$_POST['password'];
$password=md5($password);
$q_result=mysql_query('SELECT * FROM user');
if (!$q_result) die ("Збій при провірці данних. Помилка:" . mysql_error());
$num_string=mysql_num_rows($q_result);
for ($j=0; $j < $num_string; ++$j)
{
if ($login == mysql_result($q_result, $j, 'login') && $password == mysql_result($q_result, $j, 'password'))
{
setcookie('login', $login, time() + 60 * 60 * 24 * 14);
setcookie('password', $password, time() + 60 * 60 * 24 * 14);
echo "<script>
document.location.href='../'
</script>";
mysql_close($db_server);
exit;
}
$form_error='<div class="error">Не вірно введений логін або пароль. Спробуйте ще раз.</div>';
}
}
else echo $form . $form_error;
echo "</body></html>";
?>
|
5.05.2012 / 17:24 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| <?php
$error="";
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
Авторизація
</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" />
</head>
<body>';
$db_host='openserver';
$db_database='ukrnet';
$db_user='root';
$db_pass='';
$buttoninput='<form>
<input type="submit" id="buttoninput" value="Назад" />
</form>
<script>
document.getElementById(\'buttoninput\').onclick = function()
{
history.back();
return false;
}
</script>';
$db_server= mysql_connect($db_host, $db_user, $db_pass);
if (!$db_server) die("<b>Произошла ошибка соединения с базой данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br />Код ошибки:" . mysql_error() . $buttoninput);
mysql_select_db($db_database) or die("<b>Произошла ошибка при выборе базы данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br /> Код ошибки:" . mysql_error() . $buttoninput);
if (isset($_COOKIE['login']) && isset($_COOKIE['password']))
{
if (mysql_query("SELECT * FROM `users` WHERE `login` = '". $_COOKIE['login'] ."' AND `password` = '". $_COOKIE['password'] ."'"))
{
header('Location: page.php');
exit;
}
}
elseif (isset($_POST['login']) && isset($_POST['password']))
{
if (mysql_query("SELECT * FROM `users` WHERE `login` = '". $_POST['login'] . "' AND `password` = '" . $_POST['password'] . '"'))
{
setcookie('login', $login, time() + 60 * 60 * 24 * 14, '../');
setcookie('password', $password, time() + 60 * 60 * 24 * 14, '../');
header('Location: page.php');
exit;
}
else $error='<div class="error">Не вірно введений логін або пароль. Спробуйте ще раз.</div>' . mysql_error();
}
echo $error . '<form method="post" action="enter.php" class="enteruser" /><p align="center"><font class="menu">Авторизація</font></p><p align="center">
Логін:<br />
<input type="text" name="login" /><br />
Пароль:<br />
<input type="password" name="password" /><br />
<input type="submit" value="Увійти" />
</p></form></body></html>';
?>
Первый раз форма отображается, потом лог и пароль ввел и войти нажал, опять отображаеться форма с ошибкой: Не вірно введений логін або пароль. Спробуйте ще раз. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''grandgoldgreen"' at line 1 |
5.05.2012 / 17:41 | |
Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| Dinisimys1, первое что бы я сделал, это разделил бы подключение и шапку в отдельные файлы, в будущем пригодиться, в шапку сделал бы вывод ошибок, весь вывод на экран после всех операции, чтоб редирект работал
__________________
Магистр Мёда |
5.05.2012 / 21:49 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Koenig, это отпадает. У меня для всех других файлов есть подключение в отдельном файле, но именно для этого не подходит, поэтому и сделал все в одном. Ведь от этого конечный результат не меняется?
|
6.05.2012 / 12:15 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| setcookie('login', $login, time() + 60 * 60 * 24 * 14, '/');
setcookie('password', $password, time() + 60 * 60 * 24 * 14, '/');
header('Location: page.php');
Ошибку выдает Warning: Cannot modify header information - headers already sent by (output started at W:\html\socart\www\user\enter.php:13) in W:\html\socart\www\user\enter.php on line 41
Warning: Cannot modify header information - headers already sent by (output started at W:\html\socart\www\user\enter.php:13) in W:\html\socart\www\user\enter.php on line 42
Warning: Cannot modify header information - headers already sent by (output started at W:\html\socart\www\user\enter.php:13) in W:\html\socart\www\user\enter.php on line 43
|
6.05.2012 / 12:24 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Dinisimys1, заголовки нужно высылать до любого вывода информации
|
6.05.2012 / 13:20 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Так сделал <?php
$error="";
require_once "../dbserver.php";
$buttoninput='<form>
<input type="submit" id="buttoninput" value="Назад" />
</form>
<script>
document.getElementById(\'buttoninput\').onclick = function()
{
history.back();
return false;
}
</script>';
if (!$db_server) $error.='Произошла ошибка соединения с базой данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.<br />Код ошибки:' . mysql_error() . $buttoninput;
mysql_select_db($db_database) or $error.='Произошла ошибка при выборе базы данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.<br />Код ошибки:' . mysql_error() . $buttoninput;
if (isset($_POST['login']) && isset($_POST['password']))
{
$login=$_POST['login'];
$password=md5($_POST['password']);
if (mysql_query("SELECT * FROM `user` WHERE `login` = '". $login . "' AND `password` = '" . $password . "'"))
{
setcookie('login', $login, time() + 60 * 60 * 24 * 14,'../');
setcookie('password', $password, time() + 60 * 60 * 24 * 14,'../');
echo '<div class="enteruser">Авторизація пройшла успішно. Тепер ви можете перейти на свою <a href="page.php">сторінку</a> і відредагувати особисті данні.</div>';
exit;
}
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
Авторизація
</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" />
</head>
<body>';
if (isset($_COOKIE['login']) && isset($_COOKIE['password']))
{
if (mysql_query("SELECT * FROM `users` WHERE `login` = '". $_COOKIE['login'] ."' AND `password` = '". $_COOKIE['password'] ."'"))
{
header('Location: page.php');
exit;
}
}
else $error.='Не вірно введений логін або пароль. Спробуйте ще раз.<br />Код:' . mysql_error();
}
echo '<div class="error">' . $error . '</div>' . '<form method="post" action="enter.php" class="enteruser" /><p align="center"><font class="menu">Авторизація</font></p><p align="center">
Логін:<br />
<input type="text" name="login" /><br />
Пароль:<br />
<input type="password" name="password" /><br />
<input type="submit" value="Увійти" />
</p></form></body></html>';
?>
Все ок, но только теперь почему-то стиль не работает, даже цвет фона не меняется Я так понял этот код вообще не выполняеться echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
Авторизація
</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" />
</head>
<body>';
Изменено Dinisimys1 (6.05 / 13:22) (всего 1 раз) |