Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сравнение текста из формы с текстом из файла

Сообщения:  [1-10]    [11-20]  [21-27] 

 
 автор: neadekvat   (09.01.2010 в 12:48)   письмо автору
 
   для: ride   (09.01.2010 в 10:50)
 

Работаю под виндоус, пробовал \n - не заработало. Как не заработало и с \r\n

  Ответить  
 
 автор: ride   (09.01.2010 в 10:56)   письмо автору
 
   для: kosta_in_net   (09.01.2010 в 01:50)
 

пустой пароль - вполне возможный вариант.
\r\n - зачем лишние проверки?

  Ответить  
 
 автор: ride   (09.01.2010 в 10:50)   письмо автору
 
   для: neadekvat   (09.01.2010 в 01:15)
 

почему именно \r ?

  Ответить  
 
 автор: kosta_in_net   (09.01.2010 в 02:54)   письмо автору
 
   для: Trianon   (09.01.2010 в 02:29)
 

Про "\r\n" вопрос не ясен. Я ж написал "в зависимости...".
Про нулевой логин... это исключительная ситуация. Я в своих скриптах просто игнорирую логины из нуля или пробела. если нужно предусмотреть возможность нулевого логина, тогда нужно проверять empty

  Ответить  
 
 автор: Trianon   (09.01.2010 в 02:29)   письмо автору
 
   для: kosta_in_net   (09.01.2010 в 01:50)
 

а когда в качестве логина (леший с ним с паролем) нолик - это пустой логин?
0

  Ответить  
 
 автор: neadekvat   (09.01.2010 в 02:06)   письмо автору
 
   для: kosta_in_net   (09.01.2010 в 01:50)
 

> "\r\n"; // в зависимости от того, какие переносы
Пробовали? Работает?

  Ответить  
 
 автор: kosta_in_net   (09.01.2010 в 01:50)   письмо автору
 
   для: ride   (09.01.2010 в 00:57)
 

на счет trim() я не учел. Но это ж все по-быстрому пишется и не проверяется в действии ;)
В остальном логика правильная. Пустой логин и пароль - это нонсенс. Разве нет? Есть инцинденты?
Неадекват подсказывает вариант с in_array($string, $file) - тоже очень хорошее решение и в даном случае, лучшее.

if(@$_POST['name'] && @$_POST['pass']){  
    $string=$_POST['name'].';'.$_POST['pass']."\r\n"; // в зависимости от того, какие переносы
    $file=file('namepass.txt');  
    if(in_array($string, $file)){ 
        include('index.php'); 
    }else{ 
        echo 'Вы неправильно ввели имя и(или) пароль!'; 
    } 
}

  Ответить  
 
 автор: neadekvat   (09.01.2010 в 01:15)   письмо автору
 
   для: ride   (09.01.2010 в 00:57)
 

<?php
if((isset($_POST['name'])) && (isset($_POST['pass']))){

$name $_POST['name'];
$pass $_POST['pass'];

$string $name ";" $pass "\r"// раз приходит с переносом - его мы и добавим
$file file('namepass.txt');
if ( 
in_array($string$file) ) echo 'ok!';
}

Кстати, у file, по мануалу, можно добавить флаг FILE_IGNORE_NEW_LINES, чтобы не добавлялся перевод строки. Но у меня не заработало.

  Ответить  
 
 автор: ride   (09.01.2010 в 00:57)   письмо автору
 
   для: kosta_in_net   (09.01.2010 в 00:23)
 

1. по поводу file() из мануала:
Замечание: Каждая строка в полученном массиве будет завершаться символами конца строки, поэтому, если вам будет нужно избавиться от этих символов, вы будете должны использовать функцию trim().
поэтому своим "правильным кодом" вы автору врядли помогли бы.
2. я бы лучше добавил $k=0; перед foreach, чем писать @$k.
3. if(@$_POST['name'] && @$_POST['pass'])
а что если автор допускает пустые значения?

  Ответить  
 
 автор: kosta_in_net   (09.01.2010 в 00:23)   письмо автору
 
   для: ride   (08.01.2010 в 22:39)
 

тут вообще все неправильно. Почему никто этого не заметил? И не важно, работает оно или нет. На машине тоже можно есдить задом. И это, как раз пример езды задом наперед - лишние операции, лишние кавычки - все, что только может помешать программе работать быстро.

if(@$_POST['name'] && @$_POST['pass']){ 
    $string=$_POST['name'].';'.$_POST['pass']; 
    $file=file('namepass.txt'); 
    foreach($file as $str){
        if($str==$string){
            $k=true;
            break;
        }
    } 
    if(@$k){
        include('index.php');
    }else{
        echo 'Вы неправильно ввели имя и(или) пароль!';
    }
}

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-27] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования