Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sprawdzanie dostępności z Bazy a Postem.
Klycior
post 9.06.2010, 16:34:09
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


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.
Go to the top of the page
+Quote Post
tehaha
post 9.06.2010, 16:40:31
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


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łę
Go to the top of the page
+Quote Post
Klycior
post 9.06.2010, 16:55:24
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


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.
Go to the top of the page
+Quote Post
tehaha
post 9.06.2010, 17:07:00
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


tylko użyj jeszcze funckji mysql_real_escape_string() dla zmiennych umieszczanych w zapytaniu
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: 19.07.2025 - 17:31