Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rejestracja
Forum PHP.pl > Forum > PHP
Ziom73
Mam tą rejestrację:
register.php
  1. <?
  2. if (isset($_POST['submit'])){
  3.    require_once('login/config2.php');
  4. if ( eregi("^[[:alpha:]._]{4,15}$", stripslashes(trim($_POST['login'])))){
  5.        $l = usun($_POST['login']);
  6.    }else{
  7.        $l = FALSE;
  8.        $message .= '
  9. <div style="background: url(http://schoolhack.cba.pl/images/panelerror.png) no-repeat; height: 34px; width: 540px; padding-top: 10px;"><font color="white">Proszę podać nick</font></div><br />';
  10.    }
  11.    
  12.    if ( eregi ("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+.[a-z]{2,4}$", stripslashes(trim($_POST['email'])))){
  13.        $e = usun($_POST['email']);
  14.    }else{
  15.        $e = FALSE;
  16.        $message .= '
  17. <div style="background: url(http://schoolhack.cba.pl/images/panelerror.png) no-repeat; height: 34px; width: 540px; padding-top: 10px;"><font color="white">Proszę podać email</font></div><br />';
  18.    }
  19. if ( eregi("^[[:alpha:]]{4,20}$", stripslashes(trim($_POST['pass'])))){
  20.        if($_POST['pass'] == $_POST['pass2']){
  21.            $p = usun($_POST['pass']);
  22.        }else{
  23.            $message .= '
  24. <div style="background: url(http://schoolhack.cba.pl/images/panelerror.png) no-repeat; height: 34px; width: 540px; padding-top: 10px;"><font color="white">Podane hasła różnią się od siebie</font></div><br />';
  25.        }
  26.    }else{
  27.        $message .= '<div style="background: url(http://schoolhack.cba.pl/images/panelerror.png) no-repeat; height: 34px; width: 540px; padding-top: 10px;"><font color="white">Prosze podać hasło</font></div><br />';
  28.    }
  29. if ( $l && $e && $p ){
  30.        
  31.        $query = "SELECT user_id FROM user WHERE username='$l'";
  32.        $result = @mysql_query($query);
  33.            
  34.            // sprawdzanie czy takie konto istnienie
  35.            if ( mysql_num_rows($result) == 0){ // jezeli nie istnieje
  36.            //dodajemy uzytkownika do bazy
  37.                $query2 = "INSERT INTO user (username, email, haslo, data_rejstacji) VALUES ('$l', '$e', PASSWORD('$p'), NOW())";
  38.                $result2 = @mysql_query($query2);
  39.                
  40.                    if ($result2){ //jezeli nie wystapily zadne bledy
  41.                        echo '<div style="background: url(http://schoolhack.cba.pl/images/panelinfo.png) no-repeat; height: 34px; width: 540px; padding-top: 10px;">Zostałes pomyślnie zarejstrowany na stronie</div>';
  42.                    }else{
  43.                        echo 'Ze względu na wystąpienie błędu systemowego rejestracja nie była możliwa. Przepraszamy za wszelkie niedogodnościi.<br />';
  44.                    }                
  45.            }else{
  46.                $message .= '<div style="background: url(http://schoolhack.cba.pl/images/panelerror.png) no-repeat; height: 34px; width: 540px; padding-top: 10px;"><font color="white">Konto o podanym nicku juz istnieje</font></div><br />';
  47.            }
  48.            
  49.    }else{
  50.        $message .= '<div style="background: url(http://schoolhack.cba.pl/images/panelerror.png) no-repeat; height: 34px; width: 540px; padding-top: 10px;"><font color="white">Spróbuj ponownie</font></div><br />';
  51.    }
  52. }    
  53. ?>

Zapytanie do sql:
Kod
CREATE TABLE user (
user_id MEDIUMINT(3) unsigned NOT NULL auto_increment,
username VARCHAR(20) NOT NULL,
access VARCHAR(10) NOT NULL,
email VARCHAR(20) NOT NULL,
haslo VARCHAR(60) NOT NULL,
data_rejstacji timestamp NOT NULL,
PRIMARY KEY (user_id)
) Type = MyISAM;

1. Nie wiem jak zrobić żeby można było używać cyfr.
2. Jak zrobić żeby użytkownik musiał jeszcze akceptować w e-mailu??

PS: znalazłem takie cuś: http://www.webtips.pl/post2029.html ,ale nie wiem jak to podłączyć, i jak dodać jeszcze zapytanie do sql
slawny
1. Nie wiem jak zrobić żeby można było używać cyfr.
2. Jak zrobić żeby użytkownik musiał jeszcze akceptować w e-mailu??

ad 1. O czym ty mówisz?
ad 2. dwa pola dodatkowe w bazie - kod i aktywacja. Kod to jakiś string generowany i przesyłany w mailu. Aktywacja = 0. Użytkownik klika w link w którym jest klucz. Ty go pobierasz GET - em i sprawdzasz czy takie coś jest w bazie. Jak jest to zmieniasz aktywacja na 1 i już.

Osoby z forum, pisały że egeri wyjdzie z użycia.
preg_match() zastosuj
Ziom73
1. Chodzi o to że nie mogę wpisać w ani do nicku ani do hasła cyfr.
2. Chyba coś mam źle ;/
  1. USE schoolhack_cba_pl;
  2.  
  3. CREATE TABLE user (
  4. user_id MEDIUMINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
  5. username VARCHAR(20) NOT NULL,
  6. access VARCHAR(10) NOT NULL,
  7. email VARCHAR(20) NOT NULL,
  8. haslo VARCHAR(60) NOT NULL,
  9. data_rejstacji timestamp NOT NULL,
  10. active INT(1) NOT NULL,
  11. PRIMARY KEY (user_id)
  12. ) Type = MyISAM;
sowiq
1. [[:alpha:]] zamień na [[:alnum:]]
2. Dostałeś odpowiedź.
Ziom73
1. Działa;]
2. Jestem w tym zielony więc nie wiem o co kaman w http://pl.php.net/manual/pl/function.preg-match.php co stworzyć, gdzie dać, jakie dać zapytanie do sql.
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.