Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Reestracja użytkownika i wyciągniecje z bazy informacji.
Croos22
post
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


Witam.

Mógłby mi ktoś sprawdzić czy poniższy formularz rejestracyjny jest prawidłowy?

Kod
    <?php
    
    // łączymy się z bazą danych i wybieramy potrzebną baze danych
    $link_id = mysql_connect("localhost", "root", "pass");

    // tu root i pass są wprowadzone przez was w zależności od konfiguracji

    waszego serwera
    mysql_select_db("test");
    mysql_close($link_id);
    
    // stworzymy dwie przydatne funkcje...jedna będzie tworzyła nagłówek

    strony, a druga stopke strony
    function html_header()
    {
    global $new_win_width, $new_win_height;
    ?>
    <HTML>
    <HEAD>
    
    <TITLE>Przegladarka rekordow</TITLE>
    </HEAD>
    <BODY>
    <?php
    }
    
    function html_footer()
    {
    ?>
    </BODY>
    </HTML>
    <?php
    }
    
    
    function in_use($userid) // funkcja ta sprawdza czy nie dany login nie

    jest już wykorzystany
    {
    global $tabela_uzytkownikow;
    
    $query = "SELECT userid FROM $tabela_uzytkownikow WHERE userid =

    'userid'";
    $result = mysql_query($query);
    if(!mysql_num_rows($result)) return 0;
    else return 1;
    }
    
    
    function register_form() // funkcja ta wyświetla nam formularz w który

    użytkownik wpisze swoje dane
    {
    global $userid, $username;
    global $PHP_SELF;
    ?>
    <CENTER><H3>Utworz swoje konto</H3></CENTER>
    <FORM METHOD="post" ACTION="<?php echo $PHP_SELF ?>">
    <INPUT TYPE="hidden" NAME="action" VALUE="register">
    <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
    <TR>
    <TH WIDTH="30%" NOWRAP>Wybrany identyfikator</TH>
    <TD WIDTH="70%"><INPUT TYPE="text" NAME="userid" VALUE="<?php echo

    $userid ?>" SIZE="8" MAXLENGHT="8"></TD>
    </TR>
    <TR>
    <TH WIDTH="30%" NOWRAP>Wybrane hasło</TH>
    <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword"

    SIZE="15"></TD>
    </TR>
    <TR>
    <TH WIDTH="30%" NOWRAP>Powtórz hasło</TH>
    <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword2"

    SIZE="15"></TD>
    </TR>
    <TR>
    <TH WIDTH="30%" NOWRAP>Imie i Nazwisko</TH>
    <TD WIDTH="70%"><INPUT TYPE="text" NAME="username" VALUE="<?php echo

    $username ?>" SIZE="20"></TD>
    </TR>
    <TR>
    <TH WIDTH="30%" COLSPAN="2" NOWRAP>
    <INPUT TYPE="submit" VALUE="Rejestruj">
    <INPUT TYPE="reset" VALUE="Wyczyść">
    </TH>
    </TR>
    </TABLE>
    </CENTER></DIV>
    </FORM>
    <?php
    }
    
    
    function create_account() // funckja ta tworzy tworzy konto danego

    użytkownika
    {
    global $userid, $username, $userpassword, $userpassword2;
    
    
    
    // można też na wszelki wypadek dopisać warunki funkcji if które

    sprawdzałyby czy podane dane są poprawne. Ja ten krok pomijam
    
    $link_id = mysql_connect("localhost", "root", "pass");
    
    $query = "INSERT INTO user VALUES(NULL, '$userid', password

    ('$userpassword'), '$username')";
    
    $result = mysql_query($query);
    $usernumber = mysql_insert_id($link_id);
    
    
    html_header();
    ?>
    <CENTER><H3>
    <?php echo $username ?>, dziękujemy za zarejestrowanie się
    </H3></CENTER>
    
    <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
    <TR>
    <TH WIDTH="30%" NOWRAP>Numer użytkonika</TH>
    <TD WIDTH="70%"><?php echo $usernumber ?></TD>
    </TR>
    <TR>
    <TH WIDTH="30%" NOWRAP>Wybrany identyfikator</TH>
    <TD WIDTH="70%"><?php echo $userid ?></TD>
    </TR>
    <TR>
    <TH WIDTH="30%" NOWRAP>Wybrane hasło</TH>
    <TD WIDTH="70%"><?php echo $userpassword ?></TD>
    </TR>
    <TR>
    <TH WIDTH="30%" NOWRAP>Imię i Nazwisko</TH>
    <TD WIDTH="70%"><?php echo $username ?></TD>
    </TR>
    </TABLE></CENTER></DIV>
    <?php
    html_footer();
    }
    switch($action)
    {
    case "register":
    create_account();
    break;
    default:
    html_header();
    register_form();
    html_footer();
    break;
    }
    ?>



baza
Kod
    CREATE TABLE user (
    usernumber MEDIUMINT(10) NOT NULL AUTO_INCREMENT,
    username VARCHAR(30) NOT NULL,
    userid VARCHAR(10) BINARY NOT NULL,
    userpassword VARCHAR(15) BINARY NOT NULL,
    PRIMARY KEY (userid),
    UNIQUE usernumber (usernumber)
    )



Tak się to wszystko prezentuje na stronie rejestracja
A i czy była by możliwość automatycznego przydzielania unikalnego identyfikatora np od 1 do 50?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
dziamber
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 18
Dołączył: 15.04.2009
Skąd: Kwidzyn

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


Kod jak dla mnie jest fatalny, aż roi się od zmiennych globalnych. Przydziela Ci już unikalny identyfikator. Pole "usernumber" samo tworzy unikalne id dla każdego nowego użytkownika.
Go to the top of the page
+Quote Post
Croos22
post
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


A czy jest poprawnie napisany?Coś mi się wydaje, że nie rejestruje nowego użytkownika.Czy jest możliwość sprawdzenia w bazie czy dodało?
Go to the top of the page
+Quote Post
pedro84
post
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(Croos22 @ 5.04.2010, 14:19:58 ) *
A czy jest poprawnie napisany?Coś mi się wydaje, że nie rejestruje nowego użytkownika.Czy jest możliwość sprawdzenia w bazie czy dodało?

Żartujesz? Przecież możesz zobaczyć w phpmyadmin... Dodaj przy dodawaniu rekordu do bazy
Kod
or die()
i zobacz.


--------------------
Google knows the answer...
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 Aktualny czas: 20.08.2025 - 06:34