Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регистрация, Узнаем юзера-Админа 
:(
    Опции темы
Aliance
Дата 22.2.2005, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Код

<?php

if ( isset ($name) AND isset ($password))
{

$data = File ("users.db");
$pass = md5 ($password);

for ($i=0;$i<count($data);$i++) {
$dat = explode (";", $data[$i]);
if ($name == $dat[0] && $pass."\r\n" == $dat[1])
 {
include("modules/header.php");
include("modules/nav.php");
include("modules/footer.php");
 exit;
 }
}
}
?>

<?php
include("modules/nav.php");
?>


У меня есть скрипт регистрации, там значит такая проблемка появилась, как сделать так,чтобы юзеру не зарегенному показывалось 1.php, зарегенному - 2.php, а мне - 3.php (условно говоря)

В коде выше работают такие условия: если зареген - показываеться
Код

include("modules/header.php");
include("modules/nav.php");
include("modules/footer.php");


Если нет:

Код

include("modules/nav.php");


Я так понимаю что нужно использовать if/else, думаю это легко:
Код

<?php

if ( isset ($name) AND isset ($password))
{

$data = File ("users.db");
$pass = md5 ($password);

for ($i=0;$i<count($data);$i++) {
$dat = explode (";", $data[$i]);
if ($name == $dat[0] && $pass."\r\n" == $dat[1])
 {
include("modules/header.php");
include("modules/nav.php");
include("modules/footer.php");
 exit;
 } else if (????????) {
include("modules/header.php");
include("modules/admin.php");
include("modules/footer.php");
 exit;  
}
}
}

?>


Что нужно вставить вместо ????????, чтобы работало ТОЛЬКО для одного юзера - админа.
Есть файл users.db, там я по идеи буду первым (админ), вот как получить именно меня?
Скажем, у меня логин 'login' и пароль '123' ?

ЗЫ: не пытайтесь переписать данный код, у меня с ним все в порядке, мне не нужно более сложного, просто подскажите что тут писать в else if (???) smile

Это сообщение отредактировал(а) Aliance - 22.2.2005, 17:27
PM MAIL WWW ICQ Skype   Вверх
sergejzr
Дата 22.2.2005, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



Тебе группу надо помечать. По ней и определять. Иначе как ты собираешься различать админ или нет? По имени? smile


А если на первого проверять. То вот блок:

Код

if ($name == $dat[0] && $pass."\r\n" == $dat[1])
 {
include("modules/header.php");
include($i==0?"modules/admin.php":"modules/nav.php");
include("modules/footer.php");
 exit;
 }



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Aliance
Дата 22.2.2005, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(sergej @ 22.2.2005, 18:00)
По имени?

Почему бы и нет, можно вписать если имя равно 'login', а пароль равен '123' - то так.

ЗЫ: ты уверен что в твоем примере правельно расставлены кавычки?

Цитата(sergej @ 22.2.2005, 18:00)
include($i==0?""modules/admin.php":modules/nav.php");


Добавлено @ 18:30


Вау, мой третий собственный smile скрипт на php:
Код

<?php

if ( isset ($name) AND isset ($password))
{

$data = File ("users.db");
$pass = md5 ($password);

for ($i=0;$i<count($data);$i++) {
$dat = explode (";", $data[$i]);
if ($name == $dat[0] && $pass."\r\n" == $dat[1])
 {

global $file;
if ($i == o) {
  $file = "modules/admin_nav.php";
} else {
  $file = "modules/nav.php";
}

include("modules/header.php");
include($file);
include("modules/footer.php");
 exit;
 }
}
}

?>


ЗЫ: а в php переменные обозначаються global Всегда?
PM MAIL WWW ICQ Skype   Вверх
Aliance
Дата 22.2.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137




А теперь после захода мне нужно форму убрать и вывести Привет + имя юзера, это делаеться так?!

Код

if ($name) {
echo "Привет ".$name;
} else {
include("form.php");
}

PM MAIL WWW ICQ Skype   Вверх
sergejzr
Дата 22.2.2005, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



Цитата(Aliance @ 22.2.2005, 17:20)
Ты уверен что в твоем примере правельно расставлены кавычки?

нет конечно, на одну ошибся smile Уже подправил.
-------------------

Глобаль в твоём примере не нужна.

-------------
Тут у тебя буква о вместо 0 smile
Код
$i == o



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Aliance
Дата 22.2.2005, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(sergej @ 22.2.2005, 19:07)
Тут у тебя буква о вместо 0

Странно, я писал нуль. хм... вообще ничего не понимаю...мистика какая-то вокруг меня твориЦЦа ))) ушел в сибя ))

Цитата(sergej @ 22.2.2005, 18:00)
include($i==0?"modules/admin.php":"modules/nav.php");

И еще 1 пропустил ))

И еще третий вопрос: как мне при такой регистрации сделать (с исп. кук наверное) чтобы повторного захода не приходилось делать?

PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 22.2.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Aliance
глянь сюда: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=326762
Цитата(Aliance @ 22.2.2005, 19:19)
И еще третий вопрос: как мне при такой регистрации сделать (с исп. кук наверное) чтобы повторного захода не приходилось делать?

Ты должен при авторизации сохранять у пользователя определенные данные, а при каждом заходе как проверять их.
PM ICQ   Вверх
InfMag
Дата 22.2.2005, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Aliance
По поводу global - это не всегда. Еще обозначаются не только допустим так:
Код

function f() {
global $a,$b,$c;
if ($a==$b) {
$c=$a+$b;
}
}

Но и так:
Код

function f() {
if ($_GLOBALS['a']==$_GLOBALS['b']) {
$_GLOBALS['c']=$_GLOBALS['a']+$_GLOBALS['b'];
}
}

Говорят некоторые мол global $a,$b,$c; - это плохо и не проффесионально, но было кем-то доказано, что это выгон. PHP типа выполняет один и тот же алгоритм если писать так или так. Тока в первом случае не нада париться.
PM   Вверх
Mal Hack
Дата 22.2.2005, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



InfMag
правильным подходом считается передача параметров в функию и возврат значения, а не использования global... Да, это бывает полезно и нужно, но лучше этого избегать. Лишний код, лишняя нагрузка (смысловая) и т.п.
PM ICQ   Вверх
Aliance
Дата 23.2.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(Mal @ 22.2.2005, 19:57)
Ты должен при авторизации сохранять у пользователя определенные данные, а при каждом заходе как проверять их.

А кодом можно? smile
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 23.2.2005, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



PM ICQ   Вверх
Aliance
Дата 23.2.2005, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Mal Hack
Мне вообще-то без баз данных нужно.
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 23.2.2005, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Aliance @ 23.2.2005, 20:39)
Мне вообще-то без баз данных нужно.

Это фарс тогда будет, а не авторизация.
PM ICQ   Вверх
Aliance
Дата 24.2.2005, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Без разницы.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0601 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.