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
Форумы портала PHP.SU :: Версия для печати :: Прошу помочь что не так
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Прошу помочь что не так

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

1. Spokxxl - 07 Декабря, 2011 - 16:42:17 - перейти к сообщению
Вот есть форма куда вводить данные чтобы изменить человеку количество money
CODE (html):
скопировать код в буфер обмена
  1. FORM ACTION = "index.php?page=money" METHOD=POST>
  2.         Дать денег
  3.         <INPUT TYPE=TEXT NAME=gidra SIZE=20xBR><br>
  4.         Количетсво<br>
  5.         <INPUT TYPE=TEXT NAME=kol SIZE=20xBR>
  6.         <INPUT TYPE=SUBMIT NAME=money VALUE=Дать>
  7.         </FORM>
  8.         <br>

тут код который ето должен обработать
и не потерялись данные человека до етого
PHP:
скопировать код в буфер обмена
  1. $mone = $_POST['kol'];
  2. $nnob = "accounts" . "/" . $_POST['gidra'] . ".txt";
  3. $fp = fopen($nnob, "r");
  4. fscanf($fp, "login: %s\npass: %s\nlvl: %d\nexp: %d\nscore: %d\nleader: %s\norg: %s\ndrugs: %d\nmoney: %d\nkmoney: %d\nphonecount: %d\njob: %d\nrpname: %s\nfreeze: %d\nbanned: %d\nprison: %d\ngun: %d\nhammer: %d\nshotgun: %d\ngrenade: %d\nrifle: %d", $login, $pass, $lvl, $exp, $score, $leader, $org, $drugs, $money, $kmoney, $phonecount, $job, $rpname, $freeze, $banned, $prison, $gun, $hammer, $shotgun, $grenade, $rifle);
  5. fclose($fp);
  6.  
  7. $fpo = fopen($nnob, "w");
  8. $text = fwrite($fpo, "login: ". $login ."\npass: ". $pass ."\nlvl: ". $lvl ."\nexp: ". $exp ."\nscore: ". $score ."\nleader: ". $leader ."\norg: ". $org ."\ndrugs: ". $drugs ."\nmoney: ". $mone ."\nkmoney: ". $kmoney ."\nphonecount: ". $phonecount ."\njob: ". $job ."\nrpname: ". $rpname ."\nfreeze: ". $freeze ."\nbanned: ". $banned ."\nprison: ". $prison ."\ngun: ". $gun ."\nhammer: ". $hammer ."\nshotgun: ". $shotgun ."\ngrenade: ". $grenade ."\nrifle: ". $rifle ."");
  9.         if(!$text)
  10.         {
  11.         echo"не удалось записать файл";
  12.         }
  13.         fclose($nnob);

найдите ошибку пожйлуста перепробовал все что мог
2. DlTA - 07 Декабря, 2011 - 17:26:18 - перейти к сообщению
а ошибка то в чем?
3. Spokxxl - 07 Декабря, 2011 - 17:41:59 - перейти к сообщению
вот файлы файл Spok ето то что было а файл Spo ето то что стало после обработки
4. Spokxxl - 08 Декабря, 2011 - 11:23:31 - перейти к сообщению
все данные кроме логина и денег пропадают(
5. DlTA - 08 Декабря, 2011 - 11:36:38 - перейти к сообщению
а в файле после записи что?
6. Spokxxl - 08 Декабря, 2011 - 11:52:49 - перейти к сообщению
скачай файлы и погляди ты увидишь что пароль количество оружия пропали и человек не сможет войти в игру
7. DlTA - 08 Декабря, 2011 - 12:00:25 - перейти к сообщению
Spokxxl пишет:
скачай файлы и погляди
не поверишь, но это так напряжно!!!

для того чоб поверить где пропали данные (при записи или до) выведи на экран, что записывается в файл

з.ы. если хотишь получать адекватную и скорейшую помощь, учись предоставлять все необходимые данные, в максимально удобном виде, для избежанию лишних телодвижений!
8. Spokxxl - 08 Декабря, 2011 - 12:18:08 - перейти к сообщению
вобщем мы имеем файл с данными зарегистрировшегося пользователя
CODE (htmlphp):
скопировать код в буфер обмена
  1. login: Spok
  2. pass: 123123
  3. level: 1
  4. exp: 0
  5. score: -953
  6. leader: Police
  7. org: Police
  8. drugs: 0
  9. money: 7150
  10. kmoney: 0
  11. phonecount: 0
  12. job: killer
  13. rpname: 0
  14. freeze: 0
  15. banned: 0
  16. prison: 0
  17. gun: 0
  18. hammer: 5
  19. shotgun: 0
  20. grenade: 0
  21. rifle: 1

и после того как я дам ему денег все данные кроме логина и денег пропадают
CODE (htmlphp):
скопировать код в буфер обмена
  1. login: Spok
  2. pass:
  3. lvl:
  4. exp:
  5. score:
  6. leader:
  7. org:
  8. drugs:
  9. money: 50000
  10. kmoney:
  11. phonecount:
  12. job:
  13. rpname:
  14. freeze:
  15. banned:
  16. prison:
  17. gun:
  18. hammer:
  19. shotgun:
  20. grenade:
  21. rifle:
9. DlTA - 08 Декабря, 2011 - 12:41:35 - перейти к сообщению
Spokxxl пишет:
fscanf($fp, "login: %s\npass: %s\nlvl: %d\nexp: %d\nscore: %d\nleader: %s\norg: %s\ndrugs: %d\nmoney: %d\nkmoney: %d\nphonecount: %d\njob: %d\nrpname: %s\nfreeze: %d\nbanned: %d\nprison: %d\ngun: %d\nhammer: %d\nshotgun: %d\ngrenade: %d\nrifle: %d", $login, $pass, $lvl, $exp, $score, $leader, $org, $drugs, $money, $kmoney, $phonecount, $job, $rpname, $freeze, $banned, $prison, $gun, $hammer, $shotgun, $grenade, $rifle);
fclose($fp);

де вы взяли эту запись? fscanf
данные не теряются они просто не появляются
а логин и пароль берутся из POST
10. Spokxxl - 08 Декабря, 2011 - 18:17:07 - перейти к сообщению
просто занимался программированием с++ вот поглядел в php вроде есть решил попробовать
(Добавление)
Проблему решил
PHP:
скопировать код в буфер обмена
  1. function SetMoney($skoka, $kyda)
  2.         {
  3.                 $mass_file = file($kyda);
  4.                 $write_money = "money: " . $skoka . "\n";
  5.                 unlink($kyda);
  6.                 $fileop = fopen($kyda, "a+");
  7.                 $texter = $mass_file[0] . $mass_file[1] . $mass_file[2] . $mass_file[3] . $mass_file[4] . $mass_file[5] . $mass_file[6] . $mass_file[7] . $write_money . $mass_file[9] . $mass_file[10] . $mass_file[11] . $mass_file[12] . $mass_file[13] . $mass_file[14] . $mass_file[15] . $mass_file[16] . $mass_file[17] . $mass_file[18] . $mass_file[19] . $mass_file[20];
  8.                 $writer = fwrite($fileop, $texter);
  9.                 if(!$writer)
  10.                         echo ("Error to write");
  11.                 fclose($filen0852);
  12.         }
  13.         $mone = $_POST['kol'];
  14.         $filen0852 = "accounts" . "/" . $_POST['gidra'] . ".txt";
  15.         if(file_exists($filen0852))
  16.                 SetMoney($mone, $filen0852);
  17.         else
  18.                 echo("Accounts doesnt exists");

может пригодиться кому

 

Powered by ExBB FM 1.0 RC1