| |
|
|
| | Добрый день!
пишу авторизацию для гостевой книги<?php
session_start();
include ("../dbconfig.php");
mysql_query ("SET NAMES 'cp1251'");
if (isset($_POST["login"]) and isset($_POST["passw"]))
{
$auth=mysql_query("select * from `auth` where login='$login' and passw='$passw'");
if ($auth)
{
$_session['valid']=$login;
echo("вы вошли как администратор");
echo '<a href= "/admin/admin.php">админить</a>';
}
else
{
echo ("вы не зарегистрированы");
exit();
}
}
else exit();
?>
проблема в том,что даже если не передается никаких данных он все равно выводит ссылку для администратора. | |
| |
|
|
| |
|
|
| |
для: fastep
(19.09.2006 в 22:37)
| | |
<?php
if (mysql_num_rows == 1)
{
$_session['valid']=$login;
echo("вы вошли как администратор");
?>
|
А вот на счёт основной проблемы... Юзай session_id(); | |
| |
|
|
| |
|
|
| |
для: DEM
(19.09.2006 в 22:44)
| | | Извините пожалуйста,а можно поподробней или ссылочку.
Просто недавно начал php осваивать,дак простите если туплю:) | |
| |
|
|
| |
|
|
| |
для: fastep
(19.09.2006 в 22:55)
| | | http://softtime.ru/forum/read.php?id_forum=1&id_theme=24805&page=1
Хотя я там описал проблему, но поскольку вчера у меня всё было норм, может у вас получится... | |
| |
|
|
| |
|
|
| |
для: fastep
(19.09.2006 в 22:37)
| | | У вас директива register_globals в php.ini отключена или включена? Вы сначала обращаетесь через $_POST["login"], а потом в SQL-запросе пишите просто $login, если директива register_globals отключена переменные $login и $passw будут пусты. | |
| |
|
|
| |
|
|
| |
для: cheops
(19.09.2006 в 23:11)
| | |
<?php
session_start();
include ("../dbconfig.php");
mysql_query ("SET NAMES 'cp1251'");
if (isset($_POST["login"]) and isset($_POST["passw"]))
{
$login=$_POST["login"];
$passw=$_POST["passw"];
$auth=mysql_query("select * from `auth` where login='$login' and passw='$passw'");
if (mysql_num_rows == 1)
{
$_session['valid']=$login;
echo("вы вошли как администратор");
}
else
{
echo ("вы не зарегистрированы");
exit();
}
}
else exit();
?>
|
вот поправленный код,register_globals=off,обращайюсь через массивы.
Я непойму почему когда данные не введены в поля у меня isset выдает true? | |
| |
|
|
| |
|
|
| |
для: fastep
(19.09.2006 в 23:21)
| | | Потому что переменные всё равно устанавливаются, так как в POST запросе идёт запись вида
лучше используйте здесь вместо isset(), empty()
<?php
session_start();
include ("../dbconfig.php");
mysql_query ("SET NAMES 'cp1251'");
if (!empty($_POST["login"]) and !empty($_POST["passw"]))
{
$login=$_POST["login"];
$passw=$_POST["passw"];
$auth=mysql_query("select * from `auth` where login='$login' and passw='$passw'");
if (mysql_num_rows == 1)
{
$_session['valid']=$login;
echo("вы вошли как администратор");
}
else
{
echo ("вы не зарегистрированы");
exit();
}
}
else exit();
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(19.09.2006 в 23:32)
| | | Спасибо огромное,ОЧЕНЬ Вам благодарен,все работает.
Тему можно закрыть | |
| |
|
|