Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 10 z 11

Wątek: Bank

  1. #1
    Zarejestrowany
    Dołączył
    Aug 2010
    Posty
    61

    Domyślnie Bank

    Witam.
    Chciałem sobie dodać do swojej gry bank i pieniądze w sakiewce (tzn. przy sobie).
    Myślałem aby to zrobić w taki sposób:
    W bazie były by dwa pola odnośnie pieniędzy sakiewka i bank.
    Przy rejestracji chciałem dodać klika $ na początek, pieniążki były by trzymane w sakiewce.
    Podam teraz przykład z czym mam problem:
    W sakiewce jest 100$ i w jaki sposób mam zrobić aby można wpłacić tyle ile ma się przy sobie aby nie można przelać do banku np. 200$?
    Nie chcę gotowca! Z góry dzięki za rady.

  2. #2
    Mistrz Joba Awatar Meares
    Dołączył
    Jan 2009
    Posty
    2,630

    Domyślnie

    Ale pomyśleć też chyba nie chcesz...

    Sprawdzenie czy wartość wpisana w formularzu jest mniejsza, bądź równa wartości waluty trzymanej w sakwie (instrukcja warunkowa).

  3. #3
    Zarejestrowany
    Dołączył
    Aug 2010
    Posty
    61

    Domyślnie

    Sporo nad tym myślałem a w myśleniu nie jestem najlepszy

    Kod php:
    if($kasa<$sakiewka){
    die(
    "nie masz tyle kasy");
    }
    if(
    $sakiewka<0){
    die(
    "musisz podać wartość dodatnią");

    Nie wiem czy tak można wgl ale pomyślałem, że dam zmienna $kasa a będzie to liczba wpisana w polu input.
    Co to tym sądzicie?

  4. #4
    Programista
    Dołączył
    Dec 2008
    Posty
    776

    Domyślnie

    Zadziałać, zadziała... jeśli kasa to kasa gracza, a sakiewka to $_POST

    Jedynie: if ($sakiewka <= 0)

    Wartość dodatnia to chyba też 0, dlatego lepiej dać inny komunikat.

    Ale lepiej jest użyć jednej z wielu funkcji w php, czy wpisana wartość jest liczbę. Od razu pozbywasz się SQL Injection.
    Ostatnio edytowane przez Khulmar ; 12-09-2010 o 17:51
    Kod php:
    echo 'A kij wam w oko!'
    Każdą decyzję analizuje na podstawie tysięcy IF'ów i ELSE'ów. ... na zasadzie (if) obiecałem (then) dzwonię - nonsopedia, informatyk

  5. #5
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    0 nie jest liczba dodatnia. Definicja liczb dodatnich to: "liczby wieksze niz zero"

  6. #6
    Programista
    Dołączył
    Dec 2008
    Posty
    776

    Domyślnie

    Możliwe Dodatnią, ani ujemną też nie jest, dlatego tak pomyślałem.
    Kod php:
    echo 'A kij wam w oko!'
    Każdą decyzję analizuje na podstawie tysięcy IF'ów i ELSE'ów. ... na zasadzie (if) obiecałem (then) dzwonię - nonsopedia, informatyk

  7. #7
    Zarejestrowany
    Dołączył
    Dec 2007
    Posty
    241

    Domyślnie

    Zero nie jest ani dodatnie ani ujemne. Co do problemu - wystarczy jedna instrukcja MySQL.
    Kod php:
    $przelew = (int) $przelew;
    $sql "UPDATE `players` SET `bank` += min(max($przelew, 0), `sakwa`), `sakwa` -= min(max($przelew, 0), `sakwa`) WHERE `id` = $current_player";
    lub
    $sql 
    "UPDATE `players` SET `bank` += $przelew, `sakwa` -= $przelew WHERE `id` = $current_player AND `sakwa` >= $przelew  "
    W drugim przypadku jeśli wcześniej zrobisz test na dodatniość liczby będziesz mógł dowiedzieć się (po liczbie zmodyfikowanych rekordów) czy gracz miał dość pieniędzy. W pierwszym po prostu gracz wpłaci wszystko.
    Ostatnio edytowane przez matips ; 12-09-2010 o 19:47
    Respice post te hominem memento te cave ne cadas

  8. #8
    Zarejestrowany
    Dołączył
    Aug 2010
    Posty
    61

    Domyślnie

    Czy pomógł by mi ktoś poskładać kod w jedną całość? Wiem jak ma to wyglądać ale nie mam pojęcia jak to usadowić. Ew. powiedzieć czy dużo błędów jest.

    Połączenie:
    Kod php:
    mysql_connect("""""")or die("Nie można nawiązać połączenia z bazą");
    mysql_select_db("")or die("Wystąpił błąd podczas wybierania bazy danych"); 
    Instrukcje warunkowe:
    Kod php:
    if($kasa<$sakiewka){
    die(
    "nie masz tyle kasy");
    }
    if (
    $sakiewka <= 0){
    die(
    "musisz podać wartość dodatnią");

    Formularz:
    Kod php:
    <form action="bank.php" method="POST">
    Wpłać: <input type="text" name="$kasa" value="<? echo "$sakiewka"?>"><br>
    <input type="Submit" value="Wpłać"> 
    </form>
    Polecenie update (Co do tego myślałem aby wysyłać do bazy zmienną $kasa ale nie wiem jak to zrealizować )

  9. #9
    Zarejestrowany Awatar ArekJ
    Dołączył
    Oct 2008
    Posty
    81

    Domyślnie

    W echo nie dawaj "" i zapomniałeś o ;

  10. #10
    Zarejestrowany Awatar Aquarius
    Dołączył
    Jun 2010
    Posty
    122

    Domyślnie

    Albo zrób to tak: <?=$sakiewka;?> ;]
    Ostatnio edytowane przez Aquarius ; 14-09-2010 o 18:23

Strona 1 z 2 12 OstatniOstatni

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. Bank
    Przez Grajek w dziale Budowa gry via www
    Odpowiedzi: 34
    Ostatni post / autor: 19-12-2009, 22:02
  2. bank
    Przez szczepanini w dziale Grand Theft Auto RPG
    Odpowiedzi: 1
    Ostatni post / autor: 26-04-2009, 07:00
  3. [PHP] Bank
    Przez gordon90 w dziale PHP / MySql
    Odpowiedzi: 11
    Ostatni post / autor: 18-02-2009, 07:46
  4. Bank
    Przez Y4ro w dziale Pytania dotyczące silnika Xnova
    Odpowiedzi: 2
    Ostatni post / autor: 25-11-2008, 13:08
  5. Bank dla all
    Przez Midgard1993 w dziale Pytania dotyczące silnika Xnova
    Odpowiedzi: 2
    Ostatni post / autor: 30-10-2008, 18:05

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •