Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с реализацией!

 PHP.SU

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


 Страниц (2): [1] 2 »   

> Описание: заранее спасибо.
LightXXX
Отправлено: 29 Марта, 2009 - 16:49:04
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




В общем нужна ваша помощь, вот такая структура:

- index.php
- db.dat

В файле db.dat есть данные о юзерах, типо:
login|mypass|color|status|
login2|mypass2|color2|status2|

Мне нужно как-то в файле index.php реализовать такое дело, чтобы когда юзер выполняет get запрос: index.php?user=login&passwd=mypass&col=red , то index.php проверяет по логину юзер его пароль, и если пароль верный, то index.php записывает в строку юзера в db.dat в раздел color, его цвет.
Заранее спасибо.
 
 Top
valenok
Отправлено: 29 Марта, 2009 - 17:05:53
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




file , explode , implode
fopen , fwrite, fclose
if, for


-----
Truly yours, Sasha.
 
My status
 Top
LightXXX
Отправлено: 29 Марта, 2009 - 19:28:32
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




valenok пишет:
file , explode , implode
fopen , fwrite, fclose
if, for

Та это понятно, но я незнаю как это все оформить, что все работало.
 
 Top
Champion Супермодератор
Отправлено: 29 Марта, 2009 - 19:54:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Пробуй. Хоть что-то. Мы укажем на ошибку, подправим. Или алгоритм придумать не получается?
 
 Top
LightXXX
Отправлено: 29 Марта, 2009 - 20:15:07
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Champion пишет:
Или алгоритм придумать не получается?

да, незнаю что к чему, с чего начать.
 
 Top
Champion Супермодератор
Отправлено: 30 Марта, 2009 - 14:40:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




LightXXX пишет:
index.php проверяет по логину юзер его пароль, и если пароль верный, то index.php записывает в строку юзера в db.dat в раздел color, его цвет.

Если index.php проверяет по этому файлу, то
цикл (пока не (конец файла или логин+пароль найден)) {
считали строчку
list(логин, пароль)explode()
}
Тогда вопрос. Зачем index.php записывает в файл строку об этом пользователе, если она уже есть.
Если index.php еще как-то проверяет, то скажи как.

Формулируй пояснее
 
 Top
LightXXX
Отправлено: 30 Марта, 2009 - 15:28:41
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Champion пишет:
Тогда вопрос. Зачем index.php записывает в файл строку об этом пользователе, если она уже есть.
Если index.php еще как-то проверяет, то скажи как.

Ну когда на index.php?user=login&passwd=mypass&col=red, то сначало смотрит на логин, сверяет есть ли такой юзер в db.dat, если есть, то смотрит совпадает ли пароль указанные в get заспросе с указанным паролем на данного юзера в db.dat, и если да, то в строку юзера пишит какой цвет.
 
 Top
Champion Супермодератор
Отправлено: 30 Марта, 2009 - 15:42:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Тогда весь файл загрузи в массив (функция file()). Проходишься по массиву (list($login, $pass) = explode('|', $line[$i])). Если совпали логин и пасс, то записываешь цвет, потом пишешь массив в файл. Или я недопонял всей сложности?
 
 Top
LightXXX
Отправлено: 30 Марта, 2009 - 15:45:59
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Champion пишет:
Тогда весь файл загрузи в массив (функция file()). Проходишься по массиву (list($login, $pass) = explode('|', $line[$i])). Если совпали логин и пасс, то записываешь цвет, потом пишешь массив в файл. Или я недопонял всей сложности?

та не вроде ты все понял верно! Улыбка пожалуйста буду тебе очень благодарен, если ты все все сказаное изобразиш в одном коде Улыбка мне так будет понятнее. заранее спасибо.
 
 Top
Champion Супермодератор
Отправлено: 30 Марта, 2009 - 15:53:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




LightXXX напиши, что получится, а я подправлю. Не охота с нуля писать хоть и не много
 
 Top
LightXXX
Отправлено: 30 Марта, 2009 - 16:29:22
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Champion пишет:
LightXXX напиши, что получится, а я подправлю. Не охота с нуля писать хоть и не много

ну вот что-то думал, думал, что-то ничего не получается.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. function file()
  4. {
  5. $line=file("db/db.dat");
  6. list($login, $pass) = explode('|', $line[$i]);
  7.  
  8. }
  9. $fp=fopen("db/db.dat", "a+");
  10. fwrite($fp, file);
  11. fflush ($fp);
  12. fclose($file);
  13.  
  14. ?>
  15.  
 
 Top
Champion Супермодератор
Отправлено: 30 Марта, 2009 - 16:33:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Ответь мне (и себе) на такой вопрос.
LightXXX пишет:
function file()
{
$line=file("db/db.dat");
Ты пытался реализовать рекурсию? Зачем? Функция file() в php есть, и работает она по-другому.
LightXXX пишет:
[$i]
откуда берется $i?
 
 Top
LightXXX
Отправлено: 30 Марта, 2009 - 17:12:09
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Champion пишет:
Ты пытался реализовать рекурсию? Зачем? Функция file() в php есть, и работает она по-другому.

протупил Улыбка

Champion пишет:
откуда берется $i?

принимается get запросом.

Блин ничего что-то не получается. Ну напиши хоть что-нибудь, я уже попробую разобраться.

(Отредактировано автором: 30 Марта, 2009 - 18:22:08)

 
 Top
AlexGreF
Отправлено: 30 Марта, 2009 - 18:55:39
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2009  
Откуда: Амурка


Помог: 0 раз(а)




CODE (text):
скопировать код в буфер обмена
  1.  
  2. extract($_GET);
  3. $file = file('db.dat');
  4. foreach($file as $v){
  5.   $db=explode('|',$v);
  6.   if($db[0]==$user && $db[1]==$passwd){
  7.     $all_file = file_get_contents('db.dat');
  8.     $all_file = str_replace($user.'|'.$passwd.'|'.$db[2],$user.'|'.$passwd.'|'.$col,$all_file);
  9.     $fp=fopen('db.dat', 'w');
  10.     fwrite($fp, $all_file);
  11.     fflush ($fp);
  12.     fclose($fp);
  13.     break;
  14.   }
  15. }
  16.  
  17.  
  18.  

(Отредактировано автором: 30 Марта, 2009 - 18:56:48)



-----
Моё место во фрилансе - http://weblancer[dot]net/users/alexsava
 
 Top
LightXXX
Отправлено: 30 Марта, 2009 - 20:06:17
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




AlexGreF, спасибо большое! Улыбка
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB