Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie dostępności z Bazy a Postem.
Forum PHP.pl > Forum > Przedszkole
Klycior
Witam,


Mam formularz w którym chciałbym aby sprawdzało czy już ktoś taki korzystał z formularza.
Czyli ktoś wchodzi na stronę uzupełnia formularz i wpisuje tam swój nick, nick ten dodaje się do bazy (To jest).
I teraz chciałbym aby przy ponownym korzystaniu z formularza była informacja że już korzystał z tego czyli sprawdzenie nicku z formularza a odszukanie go w bazie.

Mam coś takiego lecz nie śmiga:

  1. // Funkcja sprawdzajaca czy juz ktos ma taki nick.
  2. $sprawdzanie = trim(mysql_real_escape_string(htmlspecialchars(str_replace('.', '', $_POST['nick']))));
  3. $dlugosc = strlen($sprawdzanie);
  4. if(empty($sprawdzanie)){
  5. echo "Musisz wpisac jakis nick";
  6. }
  7. else{
  8. $count = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM amx_amxadmins WHERE nickname='$nick'"));
  9. if($count[0] == $_POST['nick']){
  10. echo "Miło zobaczyć 1 raz Cię tutaj.";
  11. } else {
  12. echo "O Witaj ponownie !";
  13. }



W amx_amxadmins zapisuje się nick.
tehaha
po pierwsze linijka 2 jest trochę zamotana: trim powinno być jako pierwsze a nie na końcu, nie wiem też po co tam htmlspecialchars, raczej powinno być strip_tags(), żeby nikt nie pakował tam kodu
2. 9 linijka jest bez sensu porównujesz nick do liczby zwróconych rekordów.
powinno być, że:
  1. $nick = $_POST['nick']

potem wysyłasz zapytanie do sprawdzenia rekordów z nick = '$nick', jeżeli mysql_num_rows($zapytanie) > 0 -> to znaczy, że już był wcześniej

kolejne bez sensu rzecz to sprawdzanie długości znaków po wykonaniu mysql_real_escape_string() i htmlspecialchars(), ogólnie wygląda to jakbyś się nawet nie zastanowił co robią te funkcje tylko wepchnąłeś je na siłę
Klycior
Te śmieszne wcinki to pewna osoba która mi chciała pomóc mi tam dodała więc sam się dziwiłem.

Ja skończyłem na czymś takim:

  1. // Funkcja sprawdzajaca czy juz ktos ma taki nick.
  2. $login = mysql_query ("SELECT username FROM amx_amxadmins WHERE username='".$_POST['nick']."'");
  3. if(mysql_num_rows($login) > 0) {
  4. echo "ten login jest zajęty";
  5. } else {
  6. echo "Wolny";
  7. }


Co działa smile.gif Dzięki za pomoc.
tehaha
tylko użyj jeszcze funckji mysql_real_escape_string() dla zmiennych umieszczanych w zapytaniu
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.