PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (10): В начало « ... 2 3 4 5 6 7 [8] 9 10 »

> Найдено сообщений: 143
demot Отправлено: 17 Марта, 2011 - 18:36:18 • Тема: Сравнение с данными из txt файла • Форум: Программирование на PHP

Ответов: 9
Просмотров: 1167
sebastjan пишет:
Хранить данные в $file=file("users.txt");
так любой может сграбить все файлы с сайта.
Какой смысл в пароли или логине ?
Выкеньте эту идею из головы, время будет потраченно впустую,
вам правильно посоветовал DeepVarvar используйте Базу


А еще я во 2-м своем посте написал:
"Да я не обижаюсь, потому как только учусь. А это одно из заданий (регистрация пользователей с хранением в txt , а так же авторизация)."
demot Отправлено: 17 Марта, 2011 - 06:15:30 • Тема: Сравнение с данными из txt файла • Форум: Программирование на PHP

Ответов: 9
Просмотров: 1167
OrmaJever пишет:
а что она должна возвращать если в функции нету return`a ? Однако


Ну оговорился, не возвращает, а выводит на экран с помощью echo, там их два Улыбка
DeepVarvar пишет:
Во первых хранить в "базе" одного и более пользователей,
удобнее не на каждой строке по параметру (как сейчас у вас),
а сделать на одной строке данные об одном пользователе.
Для этого нужен сепаратор. Пусть он будет у нас таким: "f6d6"
В реальности сепаратор, длинной менее 32 символов будет плох,
т.к. повторить его не составит труда, и строку мы не распарсим.

Я кстати тоже сначала хотел делать все все в одной строке, даже в принципе и начинал так делать, но не смог потом эту строку нормально разделить Улыбка


В общем всем большое спасибо!
(Добавление)
Хоть эта строчка в принципе не нужна

Но все же, почему-то она не срабатывает. И по идее она должна быть до break;. Но суть дела не меняет, почему-то она массив не хочет показывать, а вот print_r($u); его выводит.

Не может быть дело в настрйках сервера?
demot Отправлено: 16 Марта, 2011 - 21:31:01 • Тема: Сравнение с данными из txt файла • Форум: Программирование на PHP

Ответов: 9
Просмотров: 1167
Да я не обижаюсь, потому как только учусь Улыбка А это одно из заданий (регистрация пользователей с хранением в txt , а так же авторизация). Правда сама функция авторизации другая, тут только для примера привел, чтоб выявить проблему.

За меня писать не нужно, хочу просто чтоб объяснили в чем проблема
demot Отправлено: 16 Марта, 2011 - 21:00:53 • Тема: Сравнение с данными из txt файла • Форум: Программирование на PHP

Ответов: 9
Просмотров: 1167
Функция, которая пишет в файл
PHP:
скопировать код в буфер обмена
  1. function reg_user($name,$email,$login,$pass){
  2.             $fc = @fopen('data/users.txt', "a+");
  3.             fwrite($fc, $name."\n");
  4.             fwrite($fc, $email."\n");
  5.             fwrite($fc, $login."\n");
  6.             fwrite($fc, $pass."\n");
  7.             fwrite($fc, 'user'."\n\n");
  8.             fclose($fc);}


Функция проверки введенных данных с данными из файла

PHP:
скопировать код в буфер обмена
  1. function auth_user($login,$pass){
  2.         $file=file("users.txt");
  3.           $rows=count($file);
  4.           $n=0;
  5.           while($n<$rows){
  6.             $name = $file[$n];
  7.             $email = $file[$n+1];
  8.             $login = $file[$n+2];
  9.             $password = $file[$n+3];
  10.             $permission = $file[$n+4];
  11.             $n=$n+6;
  12.             $users[]=array(preg_replace('#\n#','',$name),
  13.                            preg_replace('#\n#','',$email),
  14.                            preg_replace('#\n#','',$login),
  15.                            preg_replace('#\n#','',$password),
  16.                            preg_replace('#\n#','',$permission));
  17.           }
  18.  
  19.           foreach ($users as $key=>$val){
  20.                 if ($users[$key][2] == $login){echo "login OK<br/>";}
  21.                 if ($users[$key][3] == $pass){echo "password OK<br/>";}
  22.           }
  23. }
  24.  
  25. auth_user('login1','123');


Проблема в том, что возвращает только "password OK"

Если создать массив вручную, с теми же данными, что и в файле, то все проходит "на ура". Это навевает на мысль, что в файл пишутся еще какие-то невидимые спецсимволы. Вот только как их убрать, или хотя бы увидеть...

Все файлы в UTF-8.

txt файлик прилагается
demot Отправлено: 10 Марта, 2011 - 20:17:57 • Тема: Обратная связь и кодировка UTF-8 • Форум: Программирование на PHP

Ответов: 7
Просмотров: 648
Судя по исходному коду, сайт написан в UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
А ответы на вопросы в windows-1251
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

Так что сохрани эту страницу в UTF-8 и в заголовке тоже поменяй на UTF-8
demot Отправлено: 09 Марта, 2011 - 10:30:02 • Тема: Не работает empty() • Форум: Программирование на PHP

Ответов: 4
Просмотров: 817
А все, понял, спасибо, SAD, за наводку! Тема закрыта
demot Отправлено: 09 Марта, 2011 - 10:03:14 • Тема: Не работает empty() • Форум: Программирование на PHP

Ответов: 4
Просмотров: 817
А, я просто думал, что empty() проверяет именно пустая или нет переменная. А как тогда проверить именно "на пустоту"?
demot Отправлено: 09 Марта, 2011 - 09:04:00 • Тема: Не работает empty() • Форум: Программирование на PHP

Ответов: 4
Просмотров: 817
есть небольшой код:
CODE (php):
скопировать код в буфер обмена
  1. if (!isset($_POST['querry']) && !isset($_POST['site']) && empty($_POST['querry']) && empty($_POST['site'])){
  2.     echo "<form method=\"POST\" action=\"6pars.php\"><input type=\"text\" name=\"querry\"><input type=\"text\" name=\"site\"><input type=\"submit\">";
  3. } else {
  4.     pars($_POST['querry'],$_POST['site']);
  5. }


Не могу понять, почему если оставить поля пустыми выполняется else
demot Отправлено: 21 Января, 2011 - 14:01:20 • Тема: SNMP • Форум: Программирование на PHP

Ответов: 0
Просмотров: 191
В прикрепленном файле perl скрипт (не мой) сбора статистики со станции кабельных модемов. Пишу подобный скрипт на PHP. Основная часть уже готова и большенство данных вытаскивать получается. Но есть некоторые данные, которые вытянуть никак не получается, не могу сообразить с запросом.
Помогите переделать запрос на perl вида:
CODE (htmlphp):
скопировать код в буфер обмена
  1. snmpwalk -r 0 -t 1 -v2c -c public $ip 1.3.6.1.2.1.1.5.0
в подобный на PHP.

C запросами такого плана я разобрался проблем нет:
PHP:
скопировать код в буфер обмена
  1. $modem = snmpwalk($server, $comunity, ".1.3.6.1.2.1.10.127.1.2.1");


Но на Perl есть ряд запросов, в которых перед OID идет еще IP адрес модема, например,
CODE (htmlphp):
скопировать код в буфер обмена
  1. snmpwalk -r 0 -t 1 -v2c -c public 192.168.1.231 1.3.6.1.2.1.1.5.0

Вот как такое на PHP наваять? Простая подстановка в PHP запрос перед OID нужного IP не прокатывает.
demot Отправлено: 27 Декабря, 2010 - 14:03:38 • Тема: Парсинг XML • Форум: Программирование на PHP

Ответов: 4
Просмотров: 501
решение есть тут http://fasteasyhost[dot]com/post/201[dot][dot][dot]ties-to-XML[dot]aspx
demot Отправлено: 10 Декабря, 2010 - 14:55:19 • Тема: Рэндом из БД • Форум: Программирование на PHP

Ответов: 2
Просмотров: 176
Если каждой записи соответствует свой уникальный ID, то можно генерировать с помощью mt_rand число, в диапозоне ваших ID и делать запрос к базе
CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT zapis FROM base WHERE ID=<тут переменная со случайным числом>
demot Отправлено: 10 Декабря, 2010 - 13:16:31 • Тема: cURL • Форум: Программирование на PHP

Ответов: 5
Просмотров: 396
JustUserR, спасибо, с этим разобрался уже.

OrmaJever пишет:
ваш скрипт просто копирует файл из одного места в другое на одном сервере

OrmaJever, вы ошиблись, данный скрипт как раз копирует с моего локального сервера файл на удаленный сервер по scp
demot Отправлено: 10 Декабря, 2010 - 06:34:15 • Тема: cURL • Форум: Программирование на PHP

Ответов: 5
Просмотров: 396
OrmaJever, в принципе заработал такой код:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $name = "my49.jpg";
  3. $fp = fopen($name, "r");
  4. $size = filesize($name);
  5. $upass = "логин:пароль";
  6. $ch = curl_init();
  7. curl_setopt($ch, CURLOPT_URL, "scp://.<путь>./wallpaper/images/$name");
  8. curl_setopt($ch, CURLOPT_USERPWD , $upass);
  9. curl_setopt($ch, CURLOPT_UPLOAD, 1);
  10. curl_setopt($ch, CURLOPT_INFILESIZE, $fp);
  11. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30);
  12. curl_setopt($ch, CURLOPT_POSTFIELDS, $fp);
  13. curl_setopt($ch, CURLOPT_INFILE, $fp);
  14. curl_setopt($ch, CURLOPT_INFILESIZE, $size);
  15. echo "<pre>".curl_exec($ch);
  16. echo curl_error($ch)." ".curl_errno($ch);
  17. ?>

Все работает, файл пишется, но пишется я так понимаю не совсем так. По всей видимости файл не копируется, а создается на сервере новый и записывается в него содержимое исходного. Но это меня вполне устраивает, т.к. размеры совпадают, файл не "бьется" по пути и читается нормально. Но, после выполнения скрипта функция curl_error($ch) возвращает "1", хотя в мануале написано, что при успешном выполнении она должна возвращать пустую строку. curl_errno($ch) возвращает "0", как и должно быть.
Что может означать "1" и стоит ли обращать на нее внимание вообще?
demot Отправлено: 09 Декабря, 2010 - 21:47:22 • Тема: cURL • Форум: Программирование на PHP

Ответов: 5
Просмотров: 396
Пытаюсь загрузить файл скриптом:
PHP:
скопировать код в буфер обмена
  1. $fp = array('file'=>"@D:\\WebServers\\home\\test1.ru\\www\\my49.jpg");
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, "scp://.<путь>./wallpaper/images/");
  4. curl_setopt($ch, CURLOPT_USERPWD , 'логин:пароль');
  5. curl_setopt($ch, CURLOPT_HEADER, 1);
  6. curl_setopt($ch, CURLOPT_UPLOAD, 1);
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($ch, CURLOPT_INFILESIZE, $fp);
  9. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30);
  10. curl_setopt($ch, CURLOPT_POSTFIELDS, $fp);
  11. echo "<pre>".curl_exec($ch);
  12. echo curl_error($ch)." №".curl_errno($ch);

на что получаю такую ошибку:
scp: /.<путь>./wallpaper/images//: Is a directory №79
Помогите разобраться, а то уже нервы сдают...

P.S.
С cURL еще не особо знаком, это только 2-я попытка применения, потому прошу помощи. Файл пытаюсь грузить по scp с win на freebsd, права на папку стоят 777. Когда игрался с разными опциями выдавался список файлов в каталоге, так что подключение происходит нормально. Может я вообще что-то не то делаю....
demot Отправлено: 09 Декабря, 2010 - 10:03:14 • Тема: file_get_contents • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1615
OrmaJever, спасибо за подсказку, через cURL получилось отменно!

Страниц (10): В начало « ... 2 3 4 5 6 7 [8] 9 10 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB