Skocz do zawartości

Zdjęcie
- - - - -

Pierwszy skrypt z użyciem bazy danych i PHP


7 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
Tpk-Games

    Nowy użytkownik

  • 19 postów
    • Czas spędzony online: 18h 55m 3s
3
Neutralna

Napisano 18 kwietnia 2015 - 20:55

#1

Siema! Ostatnio zachciało mi się robienia strony konkursowej i przy okazji podszkolenia php.

Strona ma za zadanie sprawdzić w bazie czy użytkownik istnieje i czy jest zapisany na listę konkursową - jeżeli jest w bazie i nie jest zapisany zapisuje go zmieniając jego status na 2.

Wszystko odbywa się poprzez sprawdzenie czy istnieje w bazie użytkownik o podanym nicku i następnie na podstawie weryfikacji poprawności nicku i pola status ma być wyświetlony odpowiedni komunikat.

Kod który napisałem: 

success.php - http://wklej.org/id/1691271/

index.php - http://wklej.org/id/1691269/

check.php - http://wklej.org/id/1691272/

connect.php - plik z danymi do bazy localhost

Mimo wszystko po wpisaniu jakiegokolwiek nicku pokazuje oba komunikaty: 

74653797990831925613.png

Nie zwracajcie uwagi na kolory bo to i tak trzeba jeszcze ogarnąć w bootstrap.

Staram się to robić na podstawie kursu dot. systemu logowania tylko tam jest jeszcze hasło i panel gracza a u mnie jest trochę inaczej - krótko mówiąc pogubiłem się.


Użytkownik Tpk-Games edytował ten post 18 kwietnia 2015 - 21:14

  • 0

writen

    Stary wyjadacz

  • 458 postów
    • Czas spędzony online: 29d 22h 59m 44s
133
Znakomita!

Napisano 19 kwietnia 2015 - 11:53

#2

Przypisanie w instrukcji warunkowe if zawsze zwróci TRUE. 

Zapamiętaj. Samo "równa się" to operator przypisania. Do porównania służy podwójny znak równa się (==).

http://phpkurs.pl/operatory/


  • 0

logo-green-dark.png


Tpk-Games

    Nowy użytkownik

  • 19 postów
    • Czas spędzony online: 18h 55m 3s
3
Neutralna

Napisano 19 kwietnia 2015 - 19:31

#3

Dzięki.

Wiesz może jeszcze jak wyświetlić ostatni komunikat:
 
} if ($_SESSION['status'] == '0') {
                       
                           echo '<div class="alert alert-success" role="alert">Przepraszamy, podany nick nie istnieje!</div>';
                           
                       }
 
Bo jeżeli użytkownika nie ma w bazie to nie ma również statusu 0 - po prostu nie istnieje.
Pojawia się zatem pytanie jak zrobić aby skrypt zrozumiał, że użytkownik nie istnieje - nie ma zmiennej sesyjnej status w bazie o wartości 0.

  • 0

mkol

    Nowy użytkownik

  • 16 postów
    • Czas spędzony online: 22h 38m 7s
9
Neutralna

Napisano 20 kwietnia 2015 - 00:00

#4

Przypisanie w instrukcji warunkowe if zawsze zwróci TRUE.


Zwróci to, co jest po prawej stronie znaku równości. Ta własność czasami przydaje się przy operacjach na strumieniach.
  • 0

writen

    Stary wyjadacz

  • 458 postów
    • Czas spędzony online: 29d 22h 59m 44s
133
Znakomita!

Napisano 20 kwietnia 2015 - 00:47

#5

Zwróci to, co jest po prawej stronie znaku równości. Ta własność czasami przydaje się przy operacjach na strumieniach.


Racja. Źle to ująłem.

Wysłane z telefonu.
  • 0

logo-green-dark.png


Mattheo

    Nowy użytkownik

  • 38 postów
    • Czas spędzony online: 2d 8h 32m 56s
20
Bardzo dobra

Napisano 25 kwietnia 2015 - 21:02

#6

Bo jeżeli użytkownika nie ma w bazie to nie ma również statusu 0 - po prostu nie istnieje.
Pojawia się zatem pytanie jak zrobić aby skrypt zrozumiał, że użytkownik nie istnieje - nie ma zmiennej sesyjnej status w bazie o wartości 0.

//pierwszy warunek
if(){

}
//drugi warunek
elseif(){

}

//wykonaj gdy powyższe warunki się nie spełniły, w tym wypadku nie ma takiego użytkownika
else{

}

Użytkownik Mattheo edytował ten post 25 kwietnia 2015 - 21:02

  • 0

Yeoman

    Stary wyjadacz

  • 358 postów
    • Czas spędzony online: 6d 19h 43m 48s
169
Znakomita!
  • LocationKatowice

Napisano 26 kwietnia 2015 - 01:04

#7

else w tym przypadku nie jest konieczne.


  • 0

2ed58r7.png


Mattheo

    Nowy użytkownik

  • 38 postów
    • Czas spędzony online: 2d 8h 32m 56s
20
Bardzo dobra

Napisano 26 kwietnia 2015 - 13:36

#8
@up: Prawda, ale taki kod, z else jest łatwiejszy do zrozumienia dla nowicjusza.
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych