Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Ranga
Azonic
post 5.05.2014, 23:51:23
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.04.2014

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


Witam, w systemie logowania stworzyłem sobie dodatkowe pole: Ranga oparte na bazie danych sprawa ma się tak:


Stworzyłem nowe pole w tabeli users ranga varchar(255)

Wyswietlanie:

  1. check_login();
  2.  
  3. // pobieramy dane usera
  4. $user_data = get_user_data();
  5.  
  6. $ranga=$user_data['ranga'];
  7. if ($ranga=="0") {echo 'Ranga: <font color="red">User</font>';}
  8. if ($ranga=="1") {echo 'Ranga: <font color="red">Admin</font>';}



Chciałbym aby podczas rejestracji skrypt automatycznie przypisywał użytkownikowi range==0


Skrypt rejestracji:
  1. // sprawdzamy czy user nie jest przypadkiem zalogowany
  2. if(!$_SESSION['logged']) {
  3. // jeśli zostanie naciśnięty przycisk "Zarejestruj"
  4. if(isset($_POST['name'])) {
  5. // filtrujemy dane...
  6. $_POST['name'] = clear($_POST['name']);
  7. $_POST['password'] = clear($_POST['password']);
  8. $_POST['password2'] = clear($_POST['password2']);
  9. $_POST['email'] = clear($_POST['email']);
  10.  
  11. // sprawdzamy czy wszystkie pola zostały wypełnione
  12. if(empty($_POST['name']) || empty($_POST['password']) || empty($_POST['password2']) || empty($_POST['email'])) {
  13. echo '<p>Musisz wypełnić wszystkie pola.</p>';
  14. // sprawdzamy czy podane dwa hasła są takie same
  15. } elseif($_POST['password'] != $_POST['password2']) {
  16. echo '<p>Podane hasła różnią się od siebie.</p>';
  17. // sprawdzamy poprawność emaila
  18. } elseif(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
  19. echo '<p>Podany email jest nieprawidłowy.</p>';
  20. } else {
  21. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  22. $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_name` = '{$_POST['name']}' OR `user_email` = '{$_POST['email']}'");
  23. $row = mysql_fetch_row($result);
  24. if($row[0] > 0) {
  25. echo '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  26. } else {
  27. // jeśli nie istnieje to kodujemy haslo...
  28. $_POST['password'] = codepass($_POST['password']);
  29. // i wykonujemy zapytanie na dodanie usera
  30. mysql_query("INSERT INTO `users` (`user_name`, `user_password`, `user_email`, `user_regdate`) VALUES ('{$_POST['name']}', '{$_POST['password']}', '{$_POST['email']}', '".time()."')");
  31. echo '<p>Zostałeś poprawnie zarejestrowany! Możesz się teraz <a href="login.php">zalogować</a>.</p>';
  32. }
  33. }
  34. }


Pozdrawiam
Go to the top of the page
+Quote Post
slash^
post 6.05.2014, 06:03:37
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

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


Tworząc tabele w mysql ustaw na to pole domyślną wartość:

  1. CREATE TABLE IF NOT EXISTS `aaa` (
  2. `id` int(11) NOT NULL,
  3. `range` varchar(255) NOT NULL DEFAULT '0'
  4. )



w phpmyadmin: struktura -> ustawienia domyślne -> zdefiniowane następująco -> wpisz 0


--------------------
d(^^)b
Go to the top of the page
+Quote Post
nospor
post 6.05.2014, 07:53:34
Post #3





Grupa: Moderatorzy
Postów: 36 468
Pomógł: 6300
Dołączył: 27.12.2004




ps: skoro ranga to liczba to czemu robisz z tego VARCHAR i to na dodatek 255?
`range` tinyint NOT NULL DEFAULT 0


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Azonic
post 6.05.2014, 10:35:25
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.04.2014

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




Dzięki za odpowiedzi, pomogło ++
Go to the top of the page
+Quote Post

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.05.2024 - 21:53