[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не страбвтывае скрипт авторизации
Гость_Mila
Здравствуйте!
есть скрипт авторизации php+mysql. в коде вроде все нормально, но почемуто не хочет срабатывать (

<?php
$target=$_SERVER["PHP_SELF"];
include("common.php");
if (isset($_SESSION['level'])) {
if (isset($logout)){
session_unregister("level");
}else{
echo"
<form name=form1 method=post action=
$target>
<table border=0 cellspacing=0 cellpadding=0 class=content>
<tr>
<td>You are logged</td>
</tr>
<tr>
<td >
<input name=logout type=hidden value=logout>
<input name=submit type=image src=assets/logout.gif border=0 >
</td>
</tr>
</table>
</form>"
;
}
}

if (!isset($_SESSION['level'])) {
if (isset($username)){
$query = "SELECT level FROM users WHERE username='$username' AND password='$password'" or die("Wrong Password");
$sql_results = mysql_query($query,$connection) or die("Wrong Password");
while ($row = mysql_fetch_array($sql_results)) {
$level = $row['level'];
session_register("level");
}
}

if (isset($_SESSION['level'])) {
echo"
<form name=form1 method=post action=
$target>
<table border=0 cellspacing=0 cellpadding=0 class=content>
<tr>
<td>You are logged in</td>
</tr>
<tr>
<td >
<input name=logout type=hidden value=logout>
<input name=submit type=image src=assets/logout.gif border=0 >
</td>
</tr>
</table>
</form>"
;
}else{
echo"
<form name=form1 method=post action=
$target>
<table border=0 cellspacing=0 cellpadding=0 class=content>
<tr>
<td>username:</td>
</tr>
<tr>
<td><input type=text name=username class=form></td>
</tr>
<tr>
<td>password:</td>
</tr>
<tr>
<td><input type=password name=password class=form></td>
</tr>
<tr>
<td align=right>
<input name=submit type=image src=assets/go.gif border=0 ></td>
</tr>
</table>
</form>"
;
}
}

?>


пытаюсь вывести на эран содержимое $level ... echo $level; на эране пусто( я предполагаю, что в эту переменную ни чего не попадает...
запрос отрабатывает нормально... как считаете, что может быть не так?



Спустя 5 минут, 37 секунд (16.06.2010 - 13:55) Basili4 написал(а):
не написал session_start()

Спустя 1 минута, 43 секунды (16.06.2010 - 13:57) tomash написал(а):
session_register("level");

поменяйте на

session_start();
$_SESSION['level'] = $level;


Такой способ определения переменных сессии session_register применялся в ранних версиях PHP

Спустя 29 минут, 33 секунды (16.06.2010 - 14:27) Гость_Mila написал(а):
результат не изменился (

Спустя 19 минут, 37 секунд (16.06.2010 - 14:46) tomash написал(а):
$query = "SELECT level FROM users WHERE username='".$username."' AND password='".$password."'" or die("Wrong Password");

Спустя 9 минут, 26 секунд (16.06.2010 - 14:56) Гость_Mila написал(а):
не работает(

Спустя 8 минут, 8 секунд (16.06.2010 - 15:04) tomash написал(а):
А что на экран выводит?

Спустя 8 минут, 11 секунд (16.06.2010 - 15:12) Гость_Mila написал(а):
Цитата (tomash @ 16.06.2010 - 12:04)
А что на экран выводит?

На экране форма авторизации... хотя после выполнения входа должно произойти вот что

<?php session_start();?>
<?php
include("header.php");?>
<table
width="777" border="0" cellspacing="0" cellpadding="0" align="center" class="content">
<tr>
<td
width="100"><?php include("assets/login.php"); ?>
</td>
<td
width="577" align="center"></td>
<td
width="100"> </td>
</tr>
<tr>
<td></td>
<td>
<?php
if ((isset($_SESSION['level'])) && ($_SESSION['level']==1)) { ?>
echo "I want only guests to see this";
<?php }?>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<?php
if ((isset($_SESSION['level'])) && ($_SESSION['level']==2)) {?>
echo "I want only employers to see this";
<?php }?>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<?php
if ((isset($_SESSION['level'])) && ($_SESSION['level']==3)) {?>
echo "I want only friends to see this";
}
<?php }?>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<?php
if ((isset($_SESSION['level'])) && ($_SESSION['level']==4)) {?>
echo "I want only family to see this";
<?php }?>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<?php
if ((isset($_SESSION['level'])) && ($_SESSION['level']==5)) {?>
echo "I want only administrator to see this";
<?php }?>
</td>
<td></td>
</tr>
</table>
</body>
</html>



Спустя 5 минут, 45 секунд (16.06.2010 - 15:18) tomash написал(а):
if (!isset($_SESSION['level'])) {
$username = $_POST['username'];
$password = $_POST['password'];
if (isset($username)){.....

Спустя 7 минут, 59 секунд (16.06.2010 - 15:26) Гость_Mila написал(а):
Выдает вот такую ерунду
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

Спустя 1 час, 26 минут, 4 секунды (16.06.2010 - 16:52) tomash написал(а):
Покажите скрипт который сейчас есть
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.