Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Bank - wpłata,wypłata, kredyt
Tidude
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.08.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Tidude
post
Post #2





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.08.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 11:15