Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Переход на другую страницу

60K
05 января 2012 года
LiLiya91
5 / / 05.07.2010
У меня есть страница, на которой пользователь вводит логин и пароль, проверяется логин, если это пользователь, то идет проверка в базе данных, и я должна перейти с index.php на mainabonent.php, если же это админ то перейти на mainadmin.php. Подскажите чем это можно реализовать(как бы ссылки отпадают, есть вариант через Javascript, через обработчик событий но кнопка то одна, а вариантов два)?
396
05 января 2012 года
SibBear
223 / / 27.07.2006
 
Код:
...
проверка логина и пароля
...

if ($admin) header('Location: mainadmin.php');
if ($user) header('Location: mainabonent.php');


ну как то так.
60K
05 января 2012 года
LiLiya91
5 / / 05.07.2010
Тут мне подкинули идею и вот, что вышло, но пока без проверки в БД
<H1> Для входа в систему введите логин и пароль</H1>
<BR>
<form action="index.php" method="POST">
<BR><h4>Введите логин</h4>&nbsp;<input type="text" name="log" size="15" maxlength="20"><BR>(Логин вводить в формате +380ХХХХХХХХХ)<BR>
<BR><h4>Введите пароль</h4>&nbsp;<input type="password" name="pass" size="15" maxlength="20"><BR>
<BR><input type="submit" name="enter" value="Войти"><BR>
</form>
<?php
$log=$_POST['log'];
$_SESSION['log']=str_replace("+380","",$log);
if(preg_match("/^[0-9]+$/i",$_SESSION[log]))
{ echo '<script>window.location.href="mainabonent.php"</script>'; }
if($_POST['log']=="admin")
{ echo '<script>window.location.href="mainadmin.php"</script>'; }

?>
60K
05 января 2012 года
LiLiya91
5 / / 05.07.2010
А это кому нужно код, спроверкой в БД
<?php
session_start();
?>
<HTML>
<HEAD>
<TITLE>Cell phone</TITLE>
<STYLE type="text/css">
P {
font-family: Times New Roman, serif;
margin-left: 5%;
margin-right: 5%;
margin-top: 1pt;
margin-bottom: 1pt;
text-indent: 1cm;
text-align: justify;
}
</STYLE>
</HEAD>
<BODY><BODY background="image/bg2.jpg" align=center><p align="right">
<H1> Для входа в систему введите логин и пароль</H1>
<BR>
<form action="index.php" method="POST">
<BR><h4>Введите логин</h4>&nbsp;<input type="text" name="log" size="15" maxlength="20"><BR>(Логин вводить в формате +380ХХХХХХХХХ)<BR>
<BR><h4>Введите пароль</h4>&nbsp;<input type="password" name="pass" size="15" maxlength="20"><BR>
<BR><input type="submit" name="enter" value="Войти"><BR>
</form>
<?php
$log=$_POST['log'];
$pass=$_POST['pass'];
$data_str=str_replace("+380","",$log);
if(isset($_POST['log']))
{
if(preg_match("/^[0-9]+$/i",$data_str))
{
$dbhost = "localhost";
$dbuser = "root";
$dbpassword = "";
$dbname = "cell_phone";
$link = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbname);
$query = " Select FIO from TNumber where id_number='$data_str' AND password='$pass'";
$result = mysql_query($query);
if(mysql_fetch_array($result))
{
$_SESSION['log']=$data_str;
echo '<script>window.location.href="mainabonent.php"</script>';
}
else
{
echo "Проверьте правильность ввода логина и пароля";
}
mysql_close($link);
}
else
{
echo "Проверьте правильность ввода логина и пароля";
}
}
if($_POST['log']=="admin")
{ echo '<script>window.location.href="mainadmin.php"</script>'; }
?>
</BODY>
</HTML>
285
06 января 2012 года
Romik
479 / / 24.11.2002
Цитата: LiLiya91
А это кому нужно код, спроверкой в БД
<?php
// ...
$query = " Select FIO from TNumber where id_number='$data_str' AND password='$pass'";
$result = mysql_query($query);



Не поленитесь, прочтите весь FAQ по безопасности

369
06 января 2012 года
Kesano
451 / / 09.10.2007
+1 к Ромику... Надеюсь ваш скрипт для игр дома с денвером, а не для продакшена...

SibBear уже написал:
if ($admin) header('Location: mainadmin.php');
if ($user) header('Location: mainabonent.php');

с JS - это извращение... Правильный переход - через передачу заголовков.

Также я бы исключил такое большое количество ИФов...
К тому же я не увидел в вашем коде проверку логина и пароля для админа... Только для номера телефона (привет, Украина!)... А для админа - ддостаточно просто ввести логин "admin" и всё гуд...

В подтверждение этого:
 
Код:
if(isset($_POST['log']))
{
...
}
if($_POST['log']=="admin")
{ echo '<script>window.location.href="mainadmin.php"</script>'; }
hp] - это правило хорошего тона при выкладывании исходников...
60K
09 января 2012 года
LiLiya91
5 / / 05.07.2010
Вообще-то это действительно для игры на денвере, и это часть курсового, но суть не состоит, в том чтобы проверять "who is who", главное что я могу их разделить. Но я думаю, что, если бы речь касалась работы, я бы догадалась не выкладивать код. Но все равно спасибо!!!
396
11 января 2012 года
SibBear
223 / / 27.07.2006
А кстати!
если использовать header("Location: redirected.php");
то в адресной строке пишет redirected.php
а если мне нужно, чтобы в адресе было написано index.php, а по факту работад redirected.php но без htaccess?
это в частности нужно при чпу
site.php/redirected/
нужно в индексе определить и выплюнуть уже что то подобное index.php?redirected=dfdfdf
каким методом сие реализовать? именно вывод? (как определить я знаю)
12
11 января 2012 года
alekciy
3.0K / / 13.12.2005
1) AJAX.
2) Архитектурно. Обрабатывать все запросы через одну точку входа: index.php (все зависимости от переданного в URI).
396
12 января 2012 года
SibBear
223 / / 27.07.2006
Цитата: alekciy
2) Архитектурно. Обрабатывать все запросы через одну точку входа: index.php (все зависимости от переданного в URI).


Да обработать то я обработаю, сказал же. Нужен именно вывод.
вот я ввел site.ru/redirect/sovevar/
обработал, получил redirect.php?somevar&трампампам&вседела
проделал какие то операции и теперь мне нужно вывести redirect.php?somevar&трампампам&вседела
header("location /redirect.php?somevar&трампампам&вседела") не подходит, потому, что в адресной строке все вылазит. а должно оставаться site.ru/redirect/sovevar/
вот я о чем.

12
12 января 2012 года
alekciy
3.0K / / 13.12.2005
Сделай второй редирект, делов-то.

Входа на линк example.net/redirect/sovevar/ -> редирект на redirect.php?somevar&трампампам&всед_ела -> редирект на example.net/redirect/sovevar/

Бизнес логина отрабатывает на обеих страницах, но только example.net/redirect/sovevar/ генерирует html, redirect.php ни чего не генерит, только делает редирект. Отследить такие переходы конечно можно без проблем, но просто пользователь их обычно не замечает, они происходят очень быстро и визуально кажется, что example.net/redirect/sovevar/ просто обновилось как по F5. Учитывая, что это реакция на действия юзера, то это оправдано.
396
12 января 2012 года
SibBear
223 / / 27.07.2006
а не зациклет? :)
будет скакать с одного редиректа на другой
example.net/redirect/sovevar/ отправит на redirect.php?somevar&трампампам&всед _ела
а тот отправит на example.net/redirect/sovevar/ который отправит на redirect.php?somevar&трампампам&всед _ела
и так по кругу до бесконечности...
:)
12
12 января 2012 года
alekciy
3.0K / / 13.12.2005
Если тупо в скрипты зафигачить header с постоянным редиректом, то зациклет конечно же. Но на то ты код и пишешь, что схема реализации зависит от тебя, так? Передавай в параметрах URI переменную-флаг по которой example.net/redirect/sovevar/ будет понимать, что редиректить на redirect.php больше уже не нужно.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог