Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sprawdzanie dostępności z Bazy a Postem.
Klycior
post
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
 
Start new topic
Odpowiedzi (1 - 3)
tehaha
post
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
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 (IMG:style_emoticons/default/smile.gif) Dzięki za pomoc.
Go to the top of the page
+Quote Post
tehaha
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:49