|
|
|
|
|
для: ride
(09.01.2010 в 10:50)
| | Работаю под виндоус, пробовал \n - не заработало. Как не заработало и с \r\n | |
|
|
|
|
|
|
|
для: kosta_in_net
(09.01.2010 в 01:50)
| | пустой пароль - вполне возможный вариант.
\r\n - зачем лишние проверки? | |
|
|
|
|
|
|
|
для: neadekvat
(09.01.2010 в 01:15)
| | почему именно \r ? | |
|
|
|
|
|
|
|
для: Trianon
(09.01.2010 в 02:29)
| | Про "\r\n" вопрос не ясен. Я ж написал "в зависимости...".
Про нулевой логин... это исключительная ситуация. Я в своих скриптах просто игнорирую логины из нуля или пробела. если нужно предусмотреть возможность нулевого логина, тогда нужно проверять empty | |
|
|
|
|
|
|
|
для: kosta_in_net
(09.01.2010 в 01:50)
| | а когда в качестве логина (леший с ним с паролем) нолик - это пустой логин?
| |
|
|
|
|
|
|
|
для: kosta_in_net
(09.01.2010 в 01:50)
| | > "\r\n"; // в зависимости от того, какие переносы
Пробовали? Работает? | |
|
|
|
|
|
|
|
для: 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 'Вы неправильно ввели имя и(или) пароль!';
}
}
|
| |
|
|
|
|
|
|
|
для: 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, чтобы не добавлялся перевод строки. Но у меня не заработало. | |
|
|
|
|
|
|
|
для: kosta_in_net
(09.01.2010 в 00:23)
| | 1. по поводу file() из мануала:
Замечание: Каждая строка в полученном массиве будет завершаться символами конца строки, поэтому, если вам будет нужно избавиться от этих символов, вы будете должны использовать функцию trim().
поэтому своим "правильным кодом" вы автору врядли помогли бы.
2. я бы лучше добавил $k=0; перед foreach, чем писать @$k.
3. if(@$_POST['name'] && @$_POST['pass'])
а что если автор допускает пустые значения? | |
|
|
|
|
|
|
|
для: 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 'Вы неправильно ввели имя и(или) пароль!';
}
}
|
| |
|
|
|
|