Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Bank - wpłata,wypłata, kredyt
Forum PHP.pl > Forum > Przedszkole
Tidude
Witajcie, z nudów bawię się kodem php. Oczywiście nic nie rozumiem, ale staram się uczyć php poprzez robienie błędów i ich poprawianie.

Chciałbym zrobić w grze bank, z możliwością wpłaty, wypłaty gotówki oraz z możliwością wzięcia kredytu i go spłącenia(+10% kwoty kredytu).

Sklejałem jakiś kod na podstawie kodu z różnych gier mmo i ciągle wyskakuje mi jakiś błąd. Jeśli mógłby mi ktoś pomóc to byłbym wielce wdzięczny.

Tabela z informacjami kontach to "gracze", a struktury potrzebne to "kredyt", "kasa", "gracz" = id gracza.

Na początku próbowałem zrobić same kredyty.

oto kod pliku bank.php

  1. <?php
  2. //włączamy bufor
  3.  
  4. //pobieramy zawartość pliku ustawień
  5. require_once('var/ustawienia.php');
  6.  
  7. //startujemy lub przedłużamy sesję
  8.  
  9. //dołączamy plik, który sprawdzi czy napewno mamy dostęp do tej strony
  10. require_once('test_zalogowanego.php');
  11.  
  12. //pobieramy nagłówek strony
  13. require_once('gora_strony.php');
  14.  
  15. //pobieramy zawartość menu
  16. require_once('menu.php');
  17.  
  18.  
  19.  
  20.  
  21.  
  22. echo " <form action='' method='post'>
  23. Jeżeli potrzebne Ci są pieniądze to możesz skorzystać z naszego kredytu! (max:
  24. ".$max_credit." $)<br/>
  25. Koszt udzielenia kredytu to 10% wartości umowy kredytowej.<br/>
  26. <input type='text' name='take_credit'/>
  27. <input type='submit' value='weź kredyt'/>
  28. </form>
  29. ";
  30.  
  31. if(!empty($_POST['take_credit'])){
  32. $_POST = get_validate($_POST);
  33.  
  34. function take_credit($gracz,$credit){
  35. $error = 1;
  36. $max = get_one("select kasa / 10 from economy_gracze where gracz = $gracz and kredyt = 0");
  37. if($credit < 0) $error = 4;
  38. elseif(empty($max)) $error = 2;
  39. elseif($max < $credit) $error = 3;
  40. else {
  41. call("update economy_gracze set kasa = kasa + $credit, kredyt = $credit * 1.1 where gracz = $gracz");
  42. $error = 0;
  43. }
  44. return $error;
  45. }
  46. $info = take_credit($gracz->data->gracz,$_POST['take_credit']);
  47. $gracz->data = getUserData($gracz);
  48.  
  49. switch($info){
  50. case 1: $msg = "błąd wywołania procedury"; break;
  51. case 2: $msg = "nie ma takiej możliwości!!"; break;
  52. case 3: $msg = "nie możesz wziąść tak wysokiego kredytu"; break;
  53. case 4: $msg = "nie wpisuj wartości ujemnych!!"; break;
  54. case 0: $msg = "wzięto kredyt w wysokości ".$_POST['take_credit']."$"; break;
  55. }
  56.  
  57. }
  58.  
  59.  
  60.  
  61. //pobieramy zawartość prawego bloku
  62. require_once('prawy_blok.php');
  63.  
  64. //pobieramy stopkę
  65. require_once('dol_strony.php');
  66.  
  67. //wyłączamy bufor
  68. ?>


wyskakuje mi błąd odnośnie fukncji get_validate że jest niekreślona.
nospor
No to skoro jej nie ma to czemu się dziwisz ze nie dziala? Nie rozumiem.... Jak jej nie ma to ją stwórz, dodaj, cokolwiek, by się pojawiła.
Tidude
1. ".$max_credit." - chciałem by to pokazywało wartość kredytu jaki mogę maksymalnie otrzymać. Lecz nie pokazuje niczego.

2. dodałem tyle funkcji ile błędów wyskakiwało.

  1. <?php
  2. //włączamy bufor
  3.  
  4. //pobieramy zawartość pliku ustawień
  5. require_once('var/ustawienia.php');
  6.  
  7. //startujemy lub przedłużamy sesję
  8.  
  9. //dołączamy plik, który sprawdzi czy napewno mamy dostęp do tej strony
  10. require_once('test_zalogowanego.php');
  11.  
  12. //pobieramy nagłówek strony
  13. require_once('gora_strony.php');
  14.  
  15. //pobieramy zawartość menu
  16. require_once('menu.php');
  17.  
  18.  
  19.  
  20.  
  21.  
  22. echo " <form action='' method='post'>
  23. Jeżeli potrzebne Ci są pieniądze to możesz skorzystać z naszego kredytu! (max:
  24. ".$max_credit." $)<br/>
  25. Koszt udzielenia kredytu to 10% wartości umowy kredytowej.<br/>
  26. <input type='text' name='take_credit'/>
  27. <input type='submit' value='weź kredyt'/>
  28. </form>
  29. ";
  30.  
  31. if(!empty($_POST['take_credit'])){
  32. $_POST = get_validate($_POST);
  33.  
  34. function take_credit($gracz,$credit){
  35. $error = 1;
  36. $max = get_one("select kasa / 10 from economy_gracze where gracz = $gracz and kredyt = 0");
  37. if($credit < 0) $error = 4;
  38. elseif(empty($max)) $error = 2;
  39. elseif($max < $credit) $error = 3;
  40. else {
  41. call("update economy_gracze set kasa = kasa + $credit, kredyt = $credit * 1.1 where gracz = $gracz");
  42. $error = 0;
  43. }
  44. return $error;
  45. }
  46. $info = take_credit($gracz->data->gracz,$_POST['take_credit']);
  47. $gracz->data = getUserData($gracz);
  48.  
  49. switch($info){
  50. case 1: $msg = "błąd wywołania procedury"; break;
  51. case 2: $msg = "nie ma takiej możliwości!!"; break;
  52. case 3: $msg = "nie możesz wziąść tak wysokiego kredytu"; break;
  53. case 4: $msg = "nie wpisuj wartości ujemnych!!"; break;
  54. case 0: $msg = "wzięto kredyt w wysokości ".$_POST['take_credit']."$"; break;
  55. }
  56.  
  57. }
  58.  
  59. function sql_shield($sql){
  60. return $sql;
  61. }
  62.  
  63. function sql_unshield($text){
  64. return $text;
  65. }
  66.  
  67. function call($sql){
  68. sql_shield($sql);
  69. mysql_query($sql);
  70. }
  71.  
  72. function get_one($sql){
  73. sql_shield($sql);
  74. return $one[0];
  75. }
  76.  
  77. function get_row($sql){
  78. sql_shield($sql);
  79. }
  80.  
  81. function get_all($sql){
  82. sql_shield($sql);
  83. $query = mysql_query($sql);
  84. $i =0;
  85. $array = "";
  86. while ($row = mysql_fetch_object($query)){
  87. $array[$i++] = $row;
  88. }
  89. return $array;
  90.  
  91. }
  92.  
  93. function isUser(){
  94. if(empty($_SESSION['user']) || !is_numeric($_SESSION['user'])) { ReLoad('login'); }
  95. }
  96.  
  97. function getUser(){
  98. $gracz = get_row("select * from economy_gracze where gracz = ".$_SESSION['gracz']);
  99. return $gracz;
  100. }
  101.  
  102. function getUser1($gracz){
  103. //print_r($gracz); die();
  104. $gracz = get_row("select * from economy_gracze where gracz = ".$gracz->gracz);
  105. return $gracz;
  106. }
  107.  
  108. function getUserData($gracz){
  109. $gracz_data = get_row("select * from economy_gracze where gracz =".$gracz->gracz);
  110. return $gracz_data;
  111. }
  112.  
  113.  
  114.  
  115. function get_validate($get){
  116. if(is_array($get))
  117. foreach($get as $data) $data = (int)$data;
  118. else $get = (int)$get;
  119. return $get;
  120. }
  121.  
  122. function post_validate($post){
  123. if(is_array($post))
  124. foreach($post as $data) $data = mysql_real_escape_string(trim(nl2br($data)));
  125. else $post = mysql_real_escape_string(trim(nl2br($post)));
  126. return $post;
  127. }
  128.  
  129. //pobieramy zawartość prawego bloku
  130. require_once('prawy_blok.php');
  131.  
  132. //pobieramy stopkę
  133. require_once('dol_strony.php');
  134.  
  135. //wyłączamy bufor
  136. ?>


teraz gdy wpiszę sumę kredytu jaki chcę otrzymać, to wyskakuje taki błąd
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in public_html/bank.php on line 76

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in public_html/bank.php on line 82
nospor
Masz błędy zapytan.
Tu masz napisane, jak je analizować:
Temat: Jak poprawnie zada pytanie
Tidude
I tu się zaczyna pod górkę ;D

Będę próbował, i jak coś to będę pytał (edytował tego posta).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.