0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 47
1

Авторизация

19.02.2015, 13:33. Показов 1006. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята нужна помощь
вот есть такой код
<?php
$userlist="pages/users.txt";
function vhod($un,$p)
{
$un =trim($un);
$p=trim($p);
if(strlen($un)==0||strlen($p)<6)
{
return false;
}
global $userlist;
$file=fopen($userlist,"r");
$rn=" ";
$rp=" ";
while ($str= fgets($file, 128))
{
$pos1= strpos($str,"|");
$rn= substr($str,$pos1);
$pos2= strrpos($str, "|");
$rp= substr($str,0 ,$pos2);

}
if($un==$rn and $p==$rp)
{
print "Privet".$un;
}
if($un!=$rn and $p!=$rp)
{
return false;
}
return true;
}
?>

Первые две строки $pos1= strpos($str,"|");
$rn= substr($str,$pos1);
берут имена пользователей из $userlist но Здороваются только с последней записью в $userlist

а эти две строки $pos2= strrpos($str, "|");
$rp= substr($str,0 ,$pos2);
преобразовались в int и вобще ничего сравнивать не хотят
В чем бочина?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2015, 13:33
Ответы с готовыми решениями:

Авторизация
Кто нибудь подскажите пожалуйста как отключить авторизацию через веб мани при входе в свой...

Авторизация
Здравствуйте! Хоть и заголовок скучен, но проблема сохранилась. В общем надо написать...

Авторизация
Не могу заставить работать авторизацию на сайте-курсовой Авторизация настроена через файл...

Авторизация v2
Переписал авторизацию и опять где-то ошибся и не вижу if(isset($_POST)){ ...

1
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
20.02.2015, 21:13 2
Лучший ответ Сообщение было отмечено St-137 как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$userlist="pages/users.txt";
function vhod($un,$p){
  $un =trim($un);
  $p=trim($p);  
  if(strlen($un)==0||strlen($p)<6){
    return false;
  } 
  global $userlist;
  $file=fopen($userlist,"r");
  $rn=" ";
  $rp=" ";
  while ($str= fgets($file, 128)) 
  {
  $pos1= strpos($str,"|");
  $rn= substr($str,$pos1);
  $pos2= strrpos($str, "|");
  $rp= substr($str,0 ,$pos2);
 
  } 
  if($un==$rn and $p==$rp){
    print "Privet".$un; 
  }
  if($un!=$rn and $p!=$rp){
    return false;
  }
   return true;
  } 
?>
Добавлено через 1 минуту
Здесь ничего нового... Просто читабельным сделал.

Добавлено через 57 минут
Вообще-то, я бы сделал по - другому...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
$filePath="pages/users.txt";
 
function readUserListFile($file){
  $returnArray = file($file);
  foreach ($returnArray as $key => $value) {
    $returnArray[$key] = explode("&", $value);
  }
  return $returnArray;
}
 
function login($login, $pass){
    global $filePath;
    $userList = readUserListFile($filePath);
    foreach ($userList as $value) {
        if (($value[0] == $login)&&($value[1] == $pass)) {
            return $value;
            break;
        }
    }
    return false;
}
 
function greeting($array){
    echo ("<h1>Hello, $array[3]</h1><hr />");
    echo ("<p>Your e-mail: $array[2]</p>");
    echo ("<p>Your gender: $array[4]</p>");
    echo ("<p>You borned: $array[5]</p>");
}
function trace(){
    $logged = login(/*Сюда передаём логин и пароль*/"Nok", "1");
    if ($logged){
        greeting();
    }else{
                echo("<h1 color = \"red\">Wrong login/password</h1>");
        }
}
trace();
?>
В БД нового пользователя заносить ТОЛЬКО в таком формате:
Код
Login&Password&e-mail&Name&born date&..&..&..
Проверил. Всё работает. Если что не понятно - спрашивайте.
=======================================
В моём бд файле: "Nok;1;e-mail;Andrew;male;27.10.2000"
=======================================
Вот скриншот, если правильные логин и пароль: http://www.newground.hol.es/photos/true.jpg
В обратном случае: http://www.newground.hol.es/photos/false.jpg
0
20.02.2015, 21:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2015, 21:13
Помогаю со студенческими работами здесь

Авторизация
Здравствуйте. Делаю сайт с авторизацией, так чтобы был номер сесси. В интернете нашел различные...

Авторизация
создал форму и првоерку через БД авторизацию пользывателя точней в дальнейшем это будет авторизация...

авторизация
Доброго времени суток. Беспокоит авторизация. Хочется правильности решения. Покопавшись на...

Авторизация
Всем привет! // вот-вот начал только изучать сессии.. Дошло дело до авторизации, имеется код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru