Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Ograniczenie ilości rejestracji
Forum PHP.pl > Forum > Przedszkole
Szymi_2004
Witam!
Na wstępnie chciałbym zaznaczyć, iż szukałem w Googlach oraz na forum rozwiązania mojego problemu - niestety bez skutecznie. Domyślam się, że to kwestia operacji na bazie MySQL, niestety jestem początkujący w te klocki - dlatego też zwracam się do Was, no ale do rzeczy. Chciałbym utworzyć rejestrację na mojej stronie, która pozwalałaby na rejestrację tylko pierwszym 10 osobom. W jaki sposób mogę to uczynić? Z góry dziękuję za wszelkie odpowiedzi. Pozdrawiam!
IceManSpy
Jak zapisujesz dane w bazie danych, to wykorzystaj funkcję, która zwraca ilość wierszy i jak będzie ta liczba powyżej 10, to przerywaj skrypt. A zapytanie zrób select count() from tabela.
Szymi_2004
Mhm rozumiem, a czy mógłbyś przedstawić mi tą funkcje w kodzie?
Elber
Zrób tak, że jak ktoś kliknie w rejestruj to skrypt sprawdzi ile jest userów w bazie po ID czyli np. jak nie masz żadnego to pierwszy będzie miał ID 1 itd. w if() zrób warunek że jeśli istnieje już user o ID 10 to wyświetli text że rejestracja zamknięta czy coś smile.gif Tudzież jeśli istnieje 10 wpisów do tabeli z userami smile.gif
Kamil Pietrzak
Cytat(Szymi_2004 @ 30.12.2010, 21:55:25 ) *
Mhm rozumiem, a czy mógłbyś przedstawić mi tą funkcje w kodzie?



  1. SELECT count() AS liczba_uzytkownikow FROM uzytkownicy


  1. $dane_z_mysql = mysql_fetch_row(mysql_query('SELECT count() as liczba_uzytkownikow FROM uzytkownicy'));
  2. $liczba_uzytkownikow = $dane_z_mysql[0];

IceManSpy
Cytat(Elber @ 30.12.2010, 22:04:34 ) *
Zrób tak, że jak ktoś kliknie w rejestruj to skrypt sprawdzi ile jest userów w bazie po ID czyli np. jak nie masz żadnego to pierwszy będzie miał ID 1 itd. w if() zrób warunek że jeśli istnieje już user o ID 10 to wyświetli text że rejestracja zamknięta czy coś smile.gif Tudzież jeśli istnieje 10 wpisów do tabeli z userami smile.gif

A co będzie, jak ID będzie jako autoincrement, ktoś się zarejestruje, a potem usunie? Będzie dziura. I wtedy chociaż ktoś będzie miał ID 10, to może się okazać, że będzie tylko 1 użytkownik.

Cytat(Kamil Pietrzak @ 30.12.2010, 22:07:35 ) *
  1. SELECT count() AS liczba_uzytkownikow FROM uzytkownicy


  1. $dane_z_mysql = mysql_fetch_row(mysql_query('SELECT count() as liczba_uzytkownikow FROM uzytkownicy'));
  2. $liczba_uzytkownikow = $dane_z_mysql[0];

Coś podobnego smile.gif Możesz pominąć to as.
Elber
Cytat(IceManSpy @ 30.12.2010, 22:25:39 ) *
A co będzie, jak ID będzie jako autoincrement, ktoś się zarejestruje, a potem usunie? Będzie dziura. I wtedy chociaż ktoś będzie miał ID 10, to może się okazać, że będzie tylko 1 użytkownik.


Dlatego napisałem też:

Cytat
Tudzież jeśli istnieje 10 wpisów do tabeli z userami smile.gif
Szymi_2004
Dziękuję za odpowiedzi smile.gif. W najbliższym czasie popracuje nad skryptem i zobaczę jak wygląda to w praktyce. Jeszcze raz dziękuję za pomoc, póki co temat proszę pozostawić otwarty, w razie ew. problemów dopiszę się tutaj, zamiast pisząc nowy temat. Pozdrawiam

P.S. Zapomiałbym, szczęśliwego nowego roku dla wszystkich! smile.gif

Witam ponownie!
Pomyślałem, że nie ma sensu tworzyć nowy temat, skoro z powodzeniem mogę się podpiąć pod istniejący. Otóż chciałbym jeszcze wiedzieć w jaki sposób mogę wykonać następującą akcję. Użytkownik wchodzi na moją stronę, po naciśnięciu odnośnika "Kup Teraz" pojawia się strona z formularzem w którym musi podać imię i nazwisko. Po uzupełnieniu formularza i klepnięcia przycisku "Zamawiam" użytkownik zostaje przeniesiony do początkowej strony gdzie odnośnik "Kup Teraz" zmienia wartość (nazwę) na "Niedostępny" i przestaje być już odnośnikiem (dalej zachowuje się jak zwykły napis). Nie mam bladego pojęcia jak się do tego zabrać. Czy bylibyście w stanie mnie oświecić? Pozdrawiam smile.gif
sadistic_son
Po kliknieciu w "Zamawiam" za pewne przeprowadzasz jakąś walidację podanych danych. Sprawdzasz pewnie na początku czy w ogóle kliknięto w przycisk "Zamawiam". W tym warunku utwórz jakąś sesję np:
  1. if(isset($_POST['zamawiam'])){ //jesli kliknieto w "Zamawiam"
  2. $_SESSION['kupteraz']=1;
  3. //dalsze instrukcje
  4. }
Następnie tam gdzie wyświetlasz przycisk "Kup teraz" sprawdź tylko czy sesja istnieje:
  1. if(!isset($_SESSION['kupteraz'])){ //jesli nie istnieje sesja kupteraz wyswietl:
  2. echo '<a href="index.php?kup=teraz">Kup teraz</a>';
  3. }else{ //jesli istnieje $_SESSION['kupteraz'] wykonaj:
  4. echo '<span style="text-decoration:line-through">Kup teraz</span>'; //tekst "Kup teraz" przekreslony, bez podlinkowania
  5. }
Pamiętaj, że jeśli działasz na sesjach to w każdym pliku mysi być session_start zanim cokolwiek wyślesz w nagłówkach, czyli najlepiej na samym początku kodu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.