![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 27.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
Siemka ponownie (IMG:style_emoticons/default/wink.gif) dotarlem do kolejnego etapu, wczoraj dodalem nowa tabele o nazwie shop w ktorej umiescilem 3 kolumny id, cena, nazwa a takze dodalem tam 4 losy do kupienia: mikrolos, minilos, megalos, hiperlos ustawiajac oczywiscie id na A.I a takze ceny tych losow i nazwy. W tabeli users dodalem takze kolumny: mikrolos, minilos, megalos, hiperlos aby miec mozliwosc wyswietlenia ile dany uzytkownik posiada tych losow. Poogarnialem wszystko i zmienilem w mysql losowe dane dla kazdego goscia aby sprawdzic czy dziala i faktycznie wyswietla ilosc losów w Twój profil. Tylko teraz mam problem ze skryptem kupowania kolejnych losów. Stworzylem nowy plik i nazwie shop.php z takim kodem:
Zrobilem narazie tylko ten pierwszy los czyli mikrolos do kupienia, jednak gdy na stronie w formularzu wpisze chocby 1 - a stac mnie na ten los to nic sie nie dzieje, moglby mi ktos wyjasnic dlaczego? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
1. Jaką wartość ma zmienna $cost?
2. Ilości losów nie powinny być przechowywane w kolumnach o tych nazwach. To ma być odrębna tabela z kolumnami: id, los, ilosc. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pewnie połączenia z bazą nawet nie masz. Wczoraj w kodzie User było przekazywane jakieś global $database.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 27.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
Hm czyli na samym poczatku musze jeszcze dodac sprawdzenie czy jest polaczenie z baza danych, zaraz sie sprobuje tym zajac.
Zmienna $cost powinna miec wartosc z tablicy shop z kolumny cena i jest taka linijka dodana juz tutaj: $cost = ($_POST['mikrolos']); Twojej drugiej uwagi troszke nie rozumiem, dlaczego nie moze byc tak zrobione? EDIT: dodalem na poczatku kodu cos takiego: require_once 'includes/config.php'; - czyli wymaga polaczenia z baza danych Ten post edytował Rafiks1992 30.06.2017, 10:46:17 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Na tym polega relacyjność baz danych.
Wyobraź sobie, że zmieniasz nazwę losu lub dodajesz kolejny. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 27.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jak rozumiem musze wywalic z users te kolumny z losami ktore utworzylem tzw. ekwipunek zrobic nowa tabele o nazwie ekwipunek i tam dac kolumny id nazwa_losu oraz ilosc tak?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym ci polecał na początek zrobić sobie zupełnie niezależnie prosty formularz, poczytać o bazach danych i za pomocą pdo spróbować dodać / wybierać rekordy. Zapożyczyłeś jakiś obcy kod którego jeszcze nie rozumiesz i starasz się na nim pracować. Wczoraj nawet myliłeś kolumny z tabelami.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 27.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
Probuje uczyc sie piszac i praktykujac moze stad tyle prostych bledow (IMG:style_emoticons/default/tongue.gif) tak czy inaczej dobre naprowadzenie ze zrobieniem nowej tabeli oczywiscie stworzylem nowa tabele o nazwie eq i dalem w niej kolumny id, uid, name, count - powinno byc lepiej tylko teraz to polaczyc
New: Wzialem sobie troszke do serca Twoja porade ale walcze takze z moja praktyka bo lubie uczyc sie piszac a nie siedziec i czytac ksiazki dlatego znalazlem na youtube filmik jak gosc pisze gre via www i tworzy tam sklep opisuje krok po kroku jak to robi i w sumie wszystko wyglada o wiele przejrzysciej i lepiej jak obejrzalem i porobilem podobnie do niego ale jednak nie dziala mi kilka rzeczy i moze tutaj ktos by cos dopatrzyl? kod aktualnie wyglada tak: shop.php
A wiec do rzeczy, kolega ktory polecil mi tutaj w poscie dodanie osobnej tabeli z kolumnami id cena ilosc mial bardzo trafiony pomysl, zrobilem tak a takze dodalem jeszcze jedna nowa rzecz (ktora mi wlasnie nie dziala (IMG:style_emoticons/default/biggrin.gif) ) uid - user id. Musi to byc poniewaz w tej tabeli musze wiedziec ktory uzytkownik ile ma jakich losów, logiczne oczywiscie. Dodatkowo jest wykonanie funkcji kup_los z id 1 - w tabeli shop pod id1 jest mikrolos, dalem tak specjalnie dla sprawdzenia czy po kliknieciu sklep i odswiezeniu dodaje rekord i kupuje ten wlasnie los i tak jest, tylko teraz jedna rzecz mnie martwi - w mysql sprawdzam dodany rekord i wszystko ladnie pieknie dziala poza wlasnie dodaniem prawidlowego UID - dodaje jako 0 tylko dlaczego? edit: zapomnialem jeszcze jedno, dodalem var_dumpa aby sprawdzic co wyswietla mi on pod $los a takze pod $user i $los wyswietla wszystkie dane prawidlowo z tablicy ale $user wyswietla mi dane uzytkownika o id1 a jak zaloguje sie na inne konto ktore sobie sam oczywiscie utworzylem ma id 2 ale wciaz wyswietla mi dane z tego pierwszego konta Ten post edytował Rafiks1992 30.06.2017, 22:07:04 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Przejrzyj dokładnie zapytanie za pomocą, którego dodajesz zakupiony los.
Przy okazji. Nazwa losu nie powinna być przechowywana w tej tabeli. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 27.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
kurcze no przejrzalem ten filmik jeszcze raz spogladlem na kod i jest bardzo podobnie jak u niego, lecz u niego dziala a u mnie nie ^^
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak ci mówiłem, zacznij od przyjrzenia się co robi klasa database - w metodzie User::getUser zmienna $database. Bo na razie wrzucasz zupełnnie oddzielnie funkcje mysql_ których już nie ma nawet w PHP.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 27.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
Jak to nie ma w php (IMG:style_emoticons/default/tongue.gif) ? masz na mysli ze wrzucam komendy np z php 4.5 czy jakiegos tam a teraz trzeba 7.1 (IMG:style_emoticons/default/biggrin.gif) ? Cholercia to bardzo niedobrze robie jesli faktycznie tak jest, co do tego user $database wrzucam plik userclass.php aby to przyblizyc poniewaz szczerze mowiac jest tutaj nawalone tyle kodu ze nie ogarnalem polowy
Z tego co tutaj czytam zmienna $database daje nam chyba mozliwosc laczenia z baza lub sprawdzenia uzytkownika bo jest wszedzie username, useremail = database |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wrzucasz komendy które wyleciały z PHP7. Wydaje mi się też że nie wyświetlasz błędów w swoim kodzie. Ustaw display_errors bezpośrednio w php.ini. Podajesz tutaj tylko jedną klasę User która używa $database - przez słowo global, nie powinno się tak robić - dependency injection jak już, została ona gdzieś wcześniej zainicjowana. Jak dasz w swojej metodzie global $database; to będziesz mógł z tej klasy też korzystać. Bardzo dobrze że chcesz się uczyć z kodu ale ten akurat nie jest jakoś szczególnie wart uwagi. Powinieneś zacząć od nauki klas jako takich, żebyś wiedział jak działają. Osobiście widzę potencjał w tobie ale powinieneś zacząć od prostych rzeczy na podstawie oficjalnej dokumentacji.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 27.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za slowa otuchy, w kazdym razie jak dobrze rozumiem powinienem porzucic ten projekt i zaczac od zera pisac kazda linijke samemu, zero kopiowania i przerabiania prostych napisanych juz silnikow? Oczywiscie w nowym php7 bo jak popatrzalem na te PDO i mysqli to w sumie moze i wiele sie to nie rozni, ale faktycznie troche linijek juz nie jest uzywanych aczkolwiek uwazam ze skoro dziala polaczenie z baza danych to dlaczego by z tego nie korzystac? Nie jest to latwe, masz jakis aktualny kurs do php7? Moze moglbys udostepnic abym mogl faktycznie zaczac rozumiec o co chodzi i co z czym sie je..
EDIT, znalazlem jakies filmiki instruktazowe od goscia ktory chyba poprostu pokazuje i uczy o PDO moglbys zobaczyc czy to w miare aktualne jest (IMG:style_emoticons/default/biggrin.gif) ? https://www.youtube.com/watch?v=tEkrox5gutM...0zw&index=7 Dodawanie rekordow wyglada podobnie, ale jednak dziwny jest ten dwukropek zamiast $ w kodzie (IMG:style_emoticons/default/smile.gif) Ten post edytował Rafiks1992 1.07.2017, 22:41:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 13:04 |