Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: porównanie danych z formaularza z danymi z bazy
Forum PHP.pl > Forum > PHP
adek6
witam, robie skrypt rejestracji na stronie i chce zrobić coś takiego żeby nie można było zarejestrować się dwa razy pod tym samym loginem i mam pytanie jak porównać zmienną z formularza a danymi z bazy danych
strife
Naprzykład poprzez zapytanie:
  1. <?php
  2.  
  3. $query = mysql_query(&#092;"SELECT * FROM users WHERE `z.name` = \" . $_POST['user'] . \" \");
  4. // ... a tutaj warunek jesli zwroci FALSE to kod leci dalej jesli TRUE to wywala b
  5. ad
  6.  
  7. ?>


Pozdrawiam!
adek6
no właśnie nie wiem jak ten warunek zrobić tak że jak będzie już ten login to wywalał komunikat a jak nie to żeby pozwalał się zarejestrować
strife
  1. <?php
  2.  
  3. $query = mysql_query(&#092;"SELECT * FROM users WHERE `z.name` = '\" . $_POST['user'] . \"' \");
  4. $fetch = @mysql_fetch_array($query);
  5.  
  6. if ($fetch)
  7. {
  8.  
  9.  // ... Jesli istnieje dany uzytkownik to rejestruje
  10.  
  11.  
  12. }
  13. else
  14. {
  15.  
  16.  // ... W przeciwnym przypadku Wyswietla blad
  17.  
  18. }
  19.  
  20. ?>


Czego jeszcze nie wiesz?
crash
A ja proponuję ustawić komórkę z nazwą użytkownika jako UNIQUE a rejestrację przeprowadzać w taki sposób:
  1. <?php
  2. if(!mysql_query('INSERT ...'))
  3. {
  4.    echo 'Użytkownik już istnieje w bazie';
  5. }
  6. ?>

Oczywiście można jeszcze sprawdzić czy nie wystąpił inny błąd...
adek6
teraz to mi cały czas pokazuje że login jest zajęty, więc może nie dobrze zrozumiałeś o co mi chodziło, więc chce tak zrobić że jak ktoś wpisze np swój login "zenek" to żeby sprawdzić czy zenek jest, jak jest już to komunikat, a jeśli nie to zenek może się zarejstrować
SongoQ
pomysl @scarface wydaje mi sie lepszy. Bo co bledy sprawdzac jak mozna to latwiej zrobic wykonujac dodatkowe zapytanie.
strife
Cytat(adek6 @ 2005-06-15 21:26:02)
teraz to mi cały czas pokazuje że login jest zajęty, więc może nie dobrze zrozumiałeś o co mi chodziło, więc chce tak zrobić że jak ktoś wpisze np swój login "zenek" to żeby sprawdzić czy zenek jest, jak jest już to komunikat, a jeśli nie to zenek może się zarejstrować

No najwyraźniej... :/

Spróbuj dodać ! przy warunku.
  1. <?php
  2.  
  3. if ( ! $fetch )
  4. {
  5.  
  6. // ... Jesli istnieje dany uzytkownik to rejestruje
  7.  
  8.  
  9. }
  10.  
  11. ?>


questionmark.gif?
brachu
Ja bym proponowal zrobic dwie tabele w bazie jedna tabela z wszystkimi uzytkownikami, ktorzy maja prawo dostepu do strony i druga z uzytkownikami, ktorzy wlasnie sa zalogowani... i zrobic zapytanie w stylu
  1. SELECT users.name
  2. FROM users, zalogowani WHERE users.id=$HTTP_POST_VARS['user'] AND zalogowani.id!=$HTTP_POST_VARS['user']


jezeli nie poknocilem to cos w tym stylu biggrin.gif i pozniej sprawdz czy zapytanie przejdzie, jezeli tak no to ma wglad do stronki biggrin.gif tylko problem jest z zamknieciem okna... zeby usuwal wtedy uzytkownika z bazy... nie bawilem sie tym do tej pory... ale chyba da sie przychwycic zdarzenie zamkniecia okna... i wtedy zrobic delete tego uzytkownika ktory byl zalogowany winksmiley.jpg
adek6
dzięki scarface to ostatnie zadziałało
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.