в общем вопрос то сам вот в чём.
когда юзер впервые входит на сайт у негона экране в определённом месте появляется формочка для авторизации, после того как он авторизовался он переходит на главную страницу и по идее менюшка для ввода имени и пароля должна исчезать, так как в коде прописано - если куки не пустые то не выводить форму авторизации, а инфа после авторизации записывается в куки, и вместо неё должна быть надпись "Вы авторизованы $name" но этого но происходит, но это ещё не самое странное. Самое странно что когда юзверь переходит в меню авторизации/регистрации это самое окошко исчезает и скрипт работает корректно :( я вообще не могу понять в чём причина...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
if (!$_COOKIE["valid_user"])
{ echo '
<form name=enterform method=post action=/underconscio/cmsintez/registration/auth.php>
<td bgcolor=ffffff width=126 height=23></td><td bgcolor=ffffff width=162 height=23>
<small>Имя:</small>
<input style=background-color:EDEBEB;color:000000;font-size:10;height:17;width:80 type=text name=name>
</td><td bgcolor=ffffff width=136 height=23>
<small>Пароль:</small>
<input style=background-color:EDEBEB;color:000000;font-size:10;height:17;width:80 type=password name=pass>
</td><td bgcolor=ffffff width=149 height=23>
<input style=background-color:ffffff;border:0;font-size:11;height:20;width:50 type=submit name=submit value=вход>
</td>
</form>';
}
else {
echo '<td bgcolor=ffffff width=126 height=23></td>
<td bgcolor=ffffff width=162 height=23><small>Вы авторизованы <b>';
echo $valid_user;
echo '</b></small></td>
<td bgcolor=ffffff width=136 height=23></td>
<td bgcolor=ffffff width=149 height=23></td>
';}?>
этот код инклудится из папки, допустим "Authorization" и кода мы нажимаем на "вход" мы перемещаемся в эту папку, вот там то все куки и работают как надо - с ними там что хочу то и делаю, но как только возвращаюсь в корневую папку - ничего не работает. блин - видать туплю, ожет ктонибуль "популярно" обьяснить?
код авторизации/регистрации:
<?php
include ("config.php");
//начало проверка на правильность ввода имени и пароля пользователя.
if (empty($name))
{
echo 'Вы не ввели <b>Имя</b>, пожалуйста попробуйте ещё раз.';
exit();
}
if (empty($pass))
{
echo 'Вы не ввели <b>Пароль</b>, пожалуйста попробуйте ещё раз.';
exit();
}
$name=trim($name);
$pass=trim($pass);
if (!ereg("[A-Za-zА-Яа-я0-9'()|\/,.~!@#$%^&*;: -]{1,20}", $name))
{
echo 'Введены запрещённые символы в <b>Имени</b>, попробуйте ещё раз.';
exit();
}
else {
if (!ereg("[A-Za-zА-Яа-я0-9]{1,20}", $pass))
{
echo 'Введены запрещённые символы в <b>Пароле</b>, попробуйте ещё раз.';
exit();
}
else {
$pass=md5($pass);
}
}
//конец проверка на правильность ввода имени и пароля пользователя.
//изменяем время последнего посещения страницы Юзером.
$query2 = "UPDATE user SET last_time = NOW() FROM user WHERE name = '".$name."'";
mysql_query($query2);
//данные занесены
//начало проверки на существование тковых логина и пароля и соответствнный вывод либо не выводформы регистрации.
$query = "SELECT pass FROM user WHERE name='".$name."'";
$passw = mysql_query($query);
$password = mysql_fetch_array($passw);
$passw_num_rows = mysql_num_rows($passw);
if(!$passw)
{
echo "Ошибка выполнения запроса.";
exit();
}
if (empty($passw_num_rows))
{
include ("../../up.html");
include ("../../buttons.php");
echo '<td width=100% bgcolor=D4D4D4 valign=top>
<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>';
echo 'Пользователь с таким именем не обнаружен.<br>Пожалуйста повторите авторизацию.<br>Если Вы не зарегистрированы, то можете зарегистрироваться здесь.';
include ("registration.php");
include ("../../dawn.html");
exit();
}
else
{
{
setcookie("valid_user", $name, time()+604800);
if (!$_COOKIE["valid_user"])
{
echo 'Плюшки не заполнены.';
}
else
{
echo 'Плюшки вродебы заполнены';
}
}
include ("../../up.html");
include ("../../buttons.php");
echo '<td width=100% bgcolor=D4D4D4 valign=top>
<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>';
echo 'Пользователь с таким именем действительно есть. и его зовут <b>';
echo $name;
echo '</b>!<br>';
if ($pass == $password['pass'])
{
echo 'И его пароль равен паролю введённому Вами.';
}
else
{
echo 'Но его <b>пароль не равен тому что ввели Вы</b>.<br> Попробуйте пройти авторизацию повторно.<br>Если Вы не зарегистрированы, то можете сделать это здесь';
include ("registration.php");
}
include ("../../dawn.html");
exit();
}
?>