Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP][MySQL]Logowanie na uprawnienia
szymon202
post 14.08.2013, 19:52:25
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


Witajcie. Jestem noob w php i mam skrypt na logowanie i rejestracje. Użytkownik może wyświetlać coś innego i gość. Teraz rozchodzi mi się o administratora aby wyswietlał to co użytkownik i dodatkowe kody wpisane przeze mnie.
Go to the top of the page
+Quote Post
mlawnik
post 14.08.2013, 20:13:14
Post #2





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Dajesz w tabeli mySQL dodatkowe pole admin z wartością 0-1 i jak jest 1 to wyświetlasz dodatkowe kody.


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
szymon202
post 14.08.2013, 20:34:06
Post #3





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


A jaki jest kod na to ze jak ktoś ma 1 to ma inne pola?
Go to the top of the page
+Quote Post
mlawnik
post 14.08.2013, 20:47:58
Post #4





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Ten twój system logowania jest oparty o bazę danych, tak?


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
szymon202
post 14.08.2013, 20:48:33
Post #5





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


Tak. Baza danych.
Go to the top of the page
+Quote Post
Turson
post 14.08.2013, 20:56:23
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


W tabeli uzytkowników dodaj pole admin i wartość domyślnie 0. Admin niech ma 1.
Potem sprawdzasz zapytaniem do bazy: jeśli użytkownik ma admin=1 pokazujesz zawartość dla niego
Go to the top of the page
+Quote Post
szymon202
post 14.08.2013, 21:00:35
Post #7





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


A co mi napisał Pan wcześniej? To wiem tylko jaki kod, że jak user ma wartość 1 to wyświetla mu sie.
Go to the top of the page
+Quote Post
mlawnik
post 14.08.2013, 21:04:56
Post #8





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


SELECT Admin FROM users WHERE userId = :userId

if $queryResult == 1{
DISPLAY();
}


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
szymon202
post 14.08.2013, 21:21:43
Post #9





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


Dalej nie rozumiem ;c

SELECT Admin FROM users WHERE userId = :userId
Te zapytanie mam wykonac? Co oznacza te UserId?

if $queryResult == 1{
DISPLAY();
}

I po display mam dac echo aby wyswietlic tekst? Proszę o wyjaśnienie.


Go to the top of the page
+Quote Post
Turson
post 14.08.2013, 21:46:03
Post #10





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Ehhh to podstawy podstaw. Poczytaj manual.

UserId to po prostu id usera wyciągnięte z bazy... Nie wiem jak prościej.

Kolega napisał Ci ogólnikami, a sam masz to złożyć w całość.

Display(); - to to co się wyświetli jeśli użytkownik jest adminem. Zamiast tego możesz dać echo czy co tylko chcesz
Go to the top of the page
+Quote Post
szymon202
post 15.08.2013, 08:48:12
Post #11





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


A więc tak UserID to kolumna? Bo jeżeli tak to ja mam id

  1. <?php
  2. $queryResult = mysql_query("SELECT Admin FROM users WHERE userId = :userId")
  3. or die("Zapytanie niepoprawne");
  4.  
  5. if $queryResult == 1 {
  6. echo 'Jesteś adminem';
  7. } ?>


Czy to ma tak wyglądać?
Go to the top of the page
+Quote Post
mlawnik
post 15.08.2013, 09:46:30
Post #12





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Powinieneś tam wstawić zamiast :userid id użytkownika z aktualnej sesji/ bazy danych.
Poza tym, co cie powstrzymuje przed przetestowaniem kodu?


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
webmaniak
post 15.08.2013, 10:29:13
Post #13





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Cytat(szymon202 @ 15.08.2013, 09:48:12 ) *
A więc tak UserID to kolumna? Bo jeżeli tak to ja mam id

  1. <?php
  2. $queryResult = mysql_query("SELECT Admin FROM users WHERE id = :userId")
  3. or die("Zapytanie niepoprawne");
  4.  
  5. if $queryResult == 1 {
  6. echo 'Jesteś adminem';
  7. } ?>


Czy to ma tak wyglądać?

Warunek if powinien być w nawiasie. Poza tym, tak jak wspomniał mlawik w WHERE przyrównujesz swoje pole, w Twoim przypadku jest to id, do jakiejś zmiennej, więc:
  1. <?php
  2. $queryResult = mysql_query("SELECT `Admin` FROM `users` WHERE `id` = {$id}")
  3. or die("Zapytanie niepoprawne");
  4.  
  5. if ($queryResult == 1) {
  6. echo 'Jesteś adminem';
  7. } ?>

Prawdopodobnie tak to będzie wyglądać, ale nikt tego nie sprawdzi za Ciebie smile.gif

Ten post edytował webmaniak 15.08.2013, 10:30:19


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
mlawnik
post 15.08.2013, 10:33:19
Post #14





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Tak, przetestuj i wróć do nas z błędami.

@OFFTOP
Wszyscy tak samo przekręcają mój nick, że zastanawiam się czy go nie zmienić tongue.gif


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
szymon202
post 15.08.2013, 10:52:18
Post #15





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


Błędów nie mam lecz mam niepoprawne zapytanie.

Kod:
  1. <?php
  2. require_once ('szkielet.php');
  3. ?>
  4.  
  5. <?php
  6. $queryResult = mysql_query("SELECT `Admin` FROM `users` WHERE `id` = {$id}")
  7. or die("Zapytanie niepoprawne");
  8.  
  9. if ($queryResult == 1) {
  10. echo 'Jesteś adminem';
  11. } ?>
  12.  
  13. <?php
  14. require_once ('stopka.php');
  15. ?>
Go to the top of the page
+Quote Post
Turson
post 15.08.2013, 10:57:17
Post #16





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. $queryResult = mysql_query("SELECT `Admin` FROM `users` WHERE `id` = {$id}")

Nie widzę, żebyś miał gdzieś zdefiniowane co oznacza $id
Go to the top of the page
+Quote Post
szymon202
post 15.08.2013, 10:57:44
Post #17





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


Jak to mam zdefiniować i co ma tam być ?
Go to the top of the page
+Quote Post
Turson
post 15.08.2013, 11:05:04
Post #18





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Id użytkownika, który jest aktualnie zalogowany, jeśli działa to tak: masz stronę normalną z logowaniem. Oprócz tego sekcję admina tylko dla tych gdzie admin=1.
Musisz więc pobrać id zalogowanego użytkownika (najlepiej trzymać w sesji od razu po zalogowaniu).
Jeśli Twoja strona działa inaczej niż napisałem, to popraw mnie.
Dla panelu admina masz osobne logowanie czy to samo z innej podstrony?
Go to the top of the page
+Quote Post
szymon202
post 15.08.2013, 11:06:17
Post #19





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

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


http://pileczka.com.pl/

A ten kod jest na http://pileczka.com.pl/xDDD.php

Login: 1
Hasło: 1
Go to the top of the page
+Quote Post
Turson
post 15.08.2013, 11:13:19
Post #20





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Czyli wszystko działa na jednym zalogowaniu.
Więc tłumaczę:
-kiedy użytkownik się zaloguje, w sesji zapisz jego id
-wtedy w zapytaniu do bazy o to czy ma admina odnosisz się do jego id
  1. $queryResult = mysql_query("SELECT admin FROM users WHERE id='$_SESSION[id]'")

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 18:47