Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.
Go to the top of the page
+Quote Post
Tidude
post
Post #3





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
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Masz błędy zapytan.
Tu masz napisane, jak je analizować:
Temat: Jak poprawnie zada pytanie
Go to the top of the page
+Quote Post
Tidude
post
Post #5





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

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


I tu się zaczyna pod górkę ;D

Będę próbował, i jak coś to będę pytał (edytował tego posta).
Go to the top of the page
+Quote Post

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: 16.09.2025 - 17:12