Xây dựng website - Chức năng đăng kí với PHP

Thảo luận trong 'Thảo luận website, Forum' bắt đầu bởi LeCongVo, 29 Tháng mười 2012.

  1. Offline

    LeCongVo

    • V.I.P

    • Nothing gonna change my love for you!
    Số bài viết:
    20
    Đã được thích:
    59
    Điểm thành tích:
    60
    P1: Tạo trang đăng kí và kết nối CSDL
    Quá trình đăng kí một tài khoản trên server có thể bao gồm các bước sau:
    B1: Tạo Form đăng kí dreamweaver và HTML là đủ
    B2: Xử lý dữ liệu người dùng nhập vào: Kiểm tra các dữ liệu nhập vào (Dùng các lệnh kiểm tra và các hàm lọc/kiểm tra có sẵn của PHP)
    B3: Kết nối CSDL
    B4: Kiểm tra tính tồn tại và hợp lệ của tài khoản.
    B5: Thực hiện lệnh Insert để chèn vào CSDL
    Có thể tạo các trang như sau:
    Nên xây dựng một trang để xử lý việc kết nối cho tất cả.
    ví dụ:
    Tạo file kết nối msql.php:
    PHP:
    <?php
        $db_host 
    "localhost"// Giữ mặc định là localhost
        
    $db_name    'demo';// Can thay doi
        
    $db_username    'root'//Can thay doi
        
    $db_password    '';//Can thay doi
        
    @mysql_connect("{$db_host}""{$db_username}""{$db_password}") or die("Không thể kết nối database");
        @
    mysql_select_db("{$db_name}") or die("Không thể chọn database");
    ?>
    Tạo trang đăng kí register.php:
    PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Huong dan xay dung trang web</title>
    <?php
    // Tải file mysql.php lên
    require_once("mysql.php");
    //Kiem tra email co hop le hay ko
    function check_email($email) {
        if (
    strlen($email) == 0) return false;
        if (
    eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"$email)) return true;
        return 
    false;
    }
    if ( 
    $_GET['act'] == "do" )
    {
        
    // Dùng hàm addslashes() để tránh SQL injection, dùng hàm md5() để mã hóa password
        
    $username addslashes$_POST['username'] );
        
    $password md5addslashes$_POST['password'] ) );
        
    $verify_password md5addslashes$_POST['verify_password'] ) );
        
    $email addslashes$_POST['email'] );
        
    $ten addslashes$_POST['name'] );
        
    $sinhnhat addslashes$_POST['sn'] );
        
    $url addslashes$_POST['url'] );
        
    // Kiểm tra 7 thông tin, nếu có bất kỳ thông tin chưa điền thì sẽ báo lỗi
        
    if ( ! $username || ! $_POST['password'] || ! $_POST['verify_password'] || ! $email || ! $ten || ! $sinhnhat || ! $ten)
        {
            print 
    "Xin vui lòng nhập đầy đủ các thông tin. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        
    // Kiểm tra username nay co nguoi dung chua
        
    if ( mysql_num_rows(mysql_query("SELECT username FROM members WHERE username='$username'"))>0)
        {
            print 
    "Username này đã có người dùng, Bạn vui lòng chọn username khác. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        
    // Kiểm tra email nay co hop le ko
        
    if (!check_email($email))
        {
            print 
    "Email này ko hợp lệ. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        if (!
    ereg("^[0-9]+/[0-9]+/[0-9]{2,4}",$sinhnhat))
        {
            print 
    "Ngày tháng năm sinh ko hợp lệ. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        
    // Kiểm tra email nay co nguoi dung chua
        
    if ( mysql_num_rows(mysql_query("SELECT email FROM members WHERE email='$email'"))>0)
        {
            print 
    "Email này đã có người dùng, Bạn vui lòng chọn Email khác. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        
    // Kiểm tra mật khẩu, bắt buộc mật khẩu nhập lúc đầu và mật khẩu lúc sau phải trùng nhau
        
    if ( $password != $verify_password )
        {
            print 
    "Mật khẩu không giống nhau, bạn hãy nhập lại mật khẩu. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        
    // Tiến hành tạo tài khoản
        
    @$a=mysql_query("INSERT INTO members (username, password, email,URLS,Name,Birthday) VALUES ('{$username}', '{$password}', '{$email}', '{$url}', '{$ten}', '{$sinhnhat}')");
        
    // Thông báo hoàn tất việc tạo tài khoản
        
    if ($a)
            print 
    "Tài khoản {$username} đã được tạo. <a href='login.php'>Nhấp vào đây để đăng nhập</a>";
        else
            print 
    "Có lỗi trong quá trình đăng kí, Vui lòng liên hệ BQT";
    }
    else
    {
    // Form đăng ký
    print <<<EOF
    <form action="register.php?act=do" method="post">
        <table border="1" width="400" cellspacing="1" style="border-collapse: collapse" bordercolor="#C0C0C0">
            <tr>
                <td>Tên truy nhập:</td>
                <td><input type="text" name="username" value=""></td>
            </tr>
            <tr>
                <td>Mật khẩu:</td>
                <td><input type="password" name="password" value=""></td>
            </tr>
            <tr>
                <td>Xác nhận mật khẩu:</td>
                <td><input type="password" name="verify_password" value=""></td>
            </tr>
            <tr>
                <td>Địa chỉ E-mail:</td>
                <td><input type="text" name="email" value=""></td>
            </tr>
            <tr>
                <td>URL:</td>
                <td><input type="text" name="url" value=""></td>
            </tr>
            <tr>
                <td>Tên:</td>
                <td><input type="text" name="name" value=""></td>
            </tr>
            <tr>
                <td>Sinh nhật  (Ngày/Tháng/Năm):</td>
                <td><input type="text" name="sn" value=""></td>
            </tr>
            <tr>
                <td><input type="submit" name="submit" value="Đăng ký tài khoản"></td>
                <td><Font size="5"> VietHanIT</Font></td>
            </tr>
        </table>
    </form>
    EOF;
    }
    ?>
    Như vậy là chúng ta đã thực hiện xong việc tạo một trang đăng kí.
    chúng ta chỉ cần tạo CSDL và tạo bảng member là có thể chạy demo trên.
    Chúng ta có thể tạo bảng và insert CDSL vào bằng tay hoặc bằng file này:
    PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Huong dan xay dung trang web</title>
    <?php
    require_once("mysql.php");
    @
    $create=mysql_query("CREATE TABLE `members` (
    `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
    `username` VARCHAR( 128 ) NOT NULL ,
    `password` VARCHAR( 32 ) NOT NULL ,
    `email` VARCHAR( 255 ) NOT NULL ,
    `URLS` VARCHAR( 255 ) NOT NULL ,
    `Name` VARCHAR( 255 ) NOT NULL ,
    `Birthday` VARCHAR( 255 ) NOT NULL ,
    `admin` INT( 1 ) NOT NULL DEFAULT '0' ,
    PRIMARY KEY ( `id` )
    ) TYPE = MYISAM ;"
    );
    @
    $add_admin=mysql_query("
    INSERT INTO `demo`.`members` (
    `id` ,
    `username` ,
    `password` ,
    `email` ,
    `URLS` ,
    `Name` ,
    `Birthday` ,
    `admin`
    )
    VALUES (
    NULL , 'congvo', MD5( '123456' ) , 'volecong@gmail.com', 'http://viethanit.edu.vn', 'Lê Công Võ', '03/04/1983', '1'
    );
    "
    );
    if (
    $create)
        print 
    "Table \"members\" đã được tạo.<br>";
    else
        print 
    "Table \"members\" chưa được tạo do lỗi truy vấn SQL.<br>";
     
    if (
    $add_admin)
        print 
    "<b>TK Admin:</b><br>User: admin<br>Pass:admin<br>";
    else
        print 
    "Ko thể tạo tài khoản admin vì lỗi SQL.<br>";
     
    echo 
    '<a href="http://viethanit.edu.vn">Click vào đầy để xem Demo</a>';
    ?>
    Đây là một ví dụ nhỏ thôi. Khi làm có thể chúng ta thêm các thành phần khác nữa. Nhưng chúng ta đừng quá phức tạp.
    P2: Tạo trang đăng nhập: ...
    --- Nhập chung bài viết, 29 Tháng mười 2012 ---
    P2: Tạo trang đăng nhập và đăng xuất:
    Bao gồm các bước:
    B1: Tạo form đăng nhập
    B2: Kết nối cơ sở DL
    B3: Nhận thông tin đăng nhập và kiểm tra, so sánh trên cơ sở dữ liệu
    B4: Kết thúc việc đăng nhập: đưa ra thông báo và chuyển hướng trang.
    Chúng ta có thể viết một form đăng nhập đơn giản như trang login.php như sau:
    PHP:
    <?php
    session_start
    ();
    header('Content-Type: text/html; charset=UTF-8');
    echo 
    '<title>Huong dan xay dung trang web - Trang dang nhap</title>';
    // Tải file mysql.php lên
    require_once("mysql.php");
    if ( 
    $_GET['act'] == "do" )
    {
        
    // Dùng hàm addslashes() để tránh SQL injection, dùng hàm md5() để mã hóa password
        
    $username addslashes$_POST['username'] );
        
    $password md5addslashes$_POST['password'] ) );
        
    // Lấy thông tin của username đã nhập trong table members
        
    $sql_query = @mysql_query("SELECT id, username, password FROM members WHERE username='{$username}'");
        
    $member = @mysql_fetch_array$sql_query );
        
    // Nếu username này không tồn tại thì....
        
    if ( @mysql_num_rows$sql_query ) <= )
        {
            print 
    "Tên truy nhập không tồn tại. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        
    // Nếu username này tồn tại thì tiếp tục kiểm tra mật khẩu
        
    if ( $password != $member['password'] )
        {
            print 
    "Nhập sai mật khẩu. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
            exit;
        }
        
    // Khởi động phiên làm việc (session)
        
    $_SESSION['user_id'] = $member['id'];
        
    $_SESSION['user_admin'] = $member['admin'];
        
    // Thông báo đăng nhập thành công
        
    print "Bạn đã đăng nhập với tài khoản {$member['username']} thành công. <a href='index.php'>Nhấp vào đây để vào trang chủ</a>";
    }
    else
    {
    // Form đăng nhập
    print <<<EOF
    <form action="login.php?act=do" method="post">
    Tên truy nhập: <input type="text" name="username" value="">
    Mật khẩu: <input type="password" name="password" value="">
    <input type="submit" name="submit" value="Đăng nhập">
    </form>
    EOF;
    }
    ?>
    Việc đăng xuất rất đơn giản:
    Chúng ta chỉ việc hủy tất cả các session bằng lệnh session_destroy()
    Ví dụ về trang đăng xuất: thoat.php
    PHP:
    <?php
    session_start
    ();
    header('Content-Type: text/html; charset=UTF-8');
    echo 
    '<title>Trang Logout</title>';
    if (
    session_destroy())
        echo 
    "Thoát thành công!";
    else
        echo 
    "Không thể thoát được, có lỗi trong việc hủy session";
     
    echo 
    '<br><a href="http://viethanit.edu.vn">Bấm vào đây để quay lại trang chủ<br></a>';
    ?>
    Như vậy chúng ta đã xong phần login và logout.
    P3:... (chưa biết)
  2. Offline

    lynlephan

    • Windows 95

    Số bài viết:
    27
    Đã được thích:
    9
    Điểm thành tích:
    100
    em cảm ơn thầy . Phan Văn Chưởng - MM04C
  3. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Thấy Sinh viên trường mình đa số còn mập mờ khi thao tác với CSDL quá, có thắc mắc gì các bạn cứ gửi lên, có thầy và mọi người sẽ giúp đỡ nhiệt tình
  4. Offline

    LeCongVo

    • V.I.P

    • Nothing gonna change my love for you!
    Số bài viết:
    20
    Đã được thích:
    59
    Điểm thành tích:
    60
    P3: Chỉnh sửa thông tin cá nhân:
    Trang này gồm các bước:
    B1: Kiểm tra session. Nếu mà user chưa đăng nhập thì không cho chỉnh sửa và cũng không hiển thị form chỉnh sửa.
    B2: Nếu user đã đăng nhập:
    * kết nối cơ sở dữ liệu và lấy các thông tin của user đó ra để hiển thị lên form chỉnh sửa bằng cách dùng câu lệnh: mysql_query(...): để tạo câu truy vấn và dùng lệnh mysql_fetch_array( $sql_query ): để lấy về dòng tìm thấy được khi tìm kiếm với user đó.
    * Khi lấy được các thông tin của user đó rồi thì chúng ta tiến hành hiển thị các thông tin của user đó lên form_sua.php
    Chúng ta sử dụng cái file form_sua.php này để cho nó gọn và ở trong trang suathongtin.php này chúng ta chỉ cần gọi lại là xong.
    B3: Chúng ta tiến hành update với các thông tin người dùng nhập trên form_sua.php
    Đây là đoạn code file suathongtin.php:
    PHP:
    <?php
    /*
        Chúng ta sử dụng cái file form_sua.php này để cho nó gọn
        và ở trong trang suathongtin.php này chúng ta chỉ cần gọi lại là xong.
    */
    session_start();
    header('Content-Type: text/html; charset=UTF-8');
    echo 
    '<title>Sua thong tin ca nhan</title>';
    echo 
    '<a href="index.php">Bấm vào đây để quay lại<br></a>';
    require_once(
    "mysql.php");
    if ( !
    $_SESSION['user_id'] )
    {
        echo 
    "Bạn chưa đăng nhập! <a href='login.php'>Nhấp vào đây để đăng nhập</a> hoặc <a href='register.php'>Nhấp vào đây để đăng ký</a>";
    }
    else
    {
        
    $user_id intval($_SESSION['user_id']);
        
    $sql_query = @mysql_query("SELECT * FROM members WHERE id='{$user_id}'");
        
    $member = @mysql_fetch_array$sql_query );
        
    //----Nội dung thông báo sau khi sửa
        
    $thanhcong='Sửa thành công <a href="viethanit.edu.vn">Quay lại</a>';
        
    $kothanh='Sửa ko thành công';
        echo 
    "<b>Đang Sửa tài khoản {$member['username']}</b>.<br>";
     
     
     
        if (
    $_GET['do']=="sua") {
            
    $ten addslashes$_POST['name'] );
            
    $pass md5addslashes$_POST['pass'] ) );
            
    $sn addslashes$_POST['sn'] );
            
    $url addslashes$_POST['url'] );
            
    $email addslashes$_POST['email'] );
            
    $sql="
            UPDATE `members` SET
            `email` = '"
    .$email."',
            `URLS` = '"
    .$url."',
            `Name` = '"
    .$ten."',
            `Birthday` = '"
    .$sn."' WHERE `id` =$user_id LIMIT 1 ;";
     
     
            if (
    $sua=mysql_query($sql))
                echo 
    $thanhcong;
            else
                echo 
    $kothanh;
     
            if (
    $_POST['pass']!="") {
                
    $sqlx="UPDATE `members` SET `password` = '".$pass."' WHERE `id` = '$user_id' LIMIT 1 ;";
                
    $suapass=mysql_query($sqlx);
                if (
    $suapass)
                    echo 
    "(Đã đổi pass) ";
                else
                    echo 
    "(Chưa đổi pass) ";
            }
        }
        else
            include(
    "form_sua.php");//File form_sua.php này có chức năng hiển thị các thông tin của form sửa để cho phép người dùng chỉnh sửa thông tin.
           
    }
    ?>
    Và cuối cùng là code file form_sua.php
    PHP:
    <?php
        
    echo "<form method='POST' action='?do=sua'>
                <table border='1' width='100%' id='table1' cellspacing='0' cellpadding='0' style='border-collapse: collapse' bordercolor='#C0C0C0'>
                    <tr>
                        <td>Tên:</td>
                        <td><input type='text' value='
    {$member['Name']}' name='name' size='20'></td>
                    </tr>
                    <tr>
                        <td>URL:</td>
                        <td><input type='text' value='
    {$member['URLS']}' name='url' size='20'></td>
                    </tr>
                    <tr>
                        <td>Sinh Nhật:</td>
                        <td><input type='text' name='sn' value='
    {$member['Birthday']}' size='20'></td>
                    </tr>
                    <tr>
                        <td>Email:</td>
                        <td><input type='text' name='email' value='
    {$member['email']}' size='20'></td>
                    </tr>
                    <tr>
                        <td>Pass:</td>
                        <td><input type='password' name='pass' size='20'></td>
                    </tr>
                </table>
                <p align='center'><input type='submit' value='Sửa'><input type='reset' value='Khôi phục' name='B2'></p>
            </form>"
    ;
    ?>
    P4:...
    --- Nhập chung bài viết, 31 Tháng mười 2012 ---
    Sau đây là toàn bộ source các phần trên.

    Các file đính kèm:

    • Demo.zip
      Kích thước:
      8,3 KB
      Đọc:
      170
  5. Offline

    BigZero

    • Friends

    • ôi diễn đàn, ngày càng thấy buồn ra...
    Số bài viết:
    703
    Đã được thích:
    987
    Điểm thành tích:
    1.000
    Thưa thầy, em có đang thử làm 1 trang đăng kí đơn giản theo cuốn sách của thầy Phạm Hữu Khang nhưng có 1 số đoạn code em không hiểu mặc dù đã tham khảo 1 số tài liệu, dưới đây là 1 số đoạn code của em mong thầy chỉ cho em các lỗi và giải thích một số đoạn code. em cảm ơn thầy
    dangki.php
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    <
    title>Đang kư</title>
    <
    link rel="stylesheet" type="text/css" href="../style.css" />
    <
    script language="javascript">
    function 
    checkInput()
     
    if(
    document.frmNew.txtUser.value=="")
    //kiem tra gia tri nhap cua the txtUser
    {
        
    alert("Invailid User name, plea enter you email");
        
    document.frmNew.txtUser.focus();
        return 
    false;
    }
    //kiem tra gia tri nhap vao cua the txtPWD
    if(document.frmNew.textPWD.value=="")
    {
        
    alert("Please enter you pasword");
        
    document.frmNew.txtPWD.focus();
        return 
    false;
    }
    //kiem tra gia tri nhap vao cua the txtPWD và txtRPWD co bang nhau hay khong
    if(document.frm.New.txtPWD.value!=document.frmNew.txtRPWD.value)
    {
        
    alert("Please confirm your own pasword");
        
    document.frmNew.txtPWD.focus();
        return 
    false;
    }
    //kiem tra gia tri nhap cua the txtFullname
    if(document.frmNew.textFullName.value=="")
    {
        
    alert("Please enter you Full name");
        
    document.frmNew.txtFullName.focus();
        return 
    false;
    }
    //kiem tra nguoi dung chon gia tri cua the cbProvince
    if(document.frmNew.cbProvince.value=="")
    {
        
    alert("Please select you Provice");
        
    document.frmNew.txtPWD.focus();
        return 
    false;
    }
    </script>
    </head>
     
    <body>
    <form name="frmNew" method="post" action="newconf.php?goto=" onsubmit="return checkInput();">
        <tr>
            <td align="left" class="content-sm">
                E-mail:<font color="#FF0000">*</font>
            </td>
      </tr><br />
        <tr>
            <td align="left" class="input">
                <input type="text" name="txtUser" size="25" maxlength="100" class="textbox" />
          </td>
        </tr><br />
    <tr>
            <td align="left" class="content-sm">Password:<font color="red">*</font></td>
        </tr><br />
        <tr>
            <td align="left" class="input">
       
        <input type="password" name="txtPWD" size="25" maxlength="10" class="textbox" />
      </td>
      </tr><br />
        <tr>
            <td align="left" class="content-sm">
            Retype:</td>
        </tr><br />
        <tr>
        <td align="left" class="input">
        <input type="password" name="txtRPWD" size="25" maxlength="10" class="textbox" />
        </td>
        </tr><br />
        <tr>
        <td align="left" class="conntent-sm">
            Full Name <font color="red">*</font></td>
        </tr><br />
        <tr>
            <td align="left" class="input">
            <input type="text" name="txtFullName" size="25" maxlength="50" class="textbox" />
            </td>
            </tr><br />
            <tr>
            <td align="left" class="content-sm">
            Address</td>
            </tr><br />
            <tr>
            <td align="left" class="input">
            <input type="text" name="txtAddress" size="25" maxlength="100" class="textbox" />
            </td>
            </tr><br />
            <tr>
            <td align="left" class="content-sm">
            Tel</td>
            </tr><br />
            <tr>
            <td align="left" class="input">
            <input type="text" name="txtTel" size="25" maxlength="15" class="textbox" />
            </td>
            </tr><br />
            <tr>
            <td align="left" class="content-sm">
            City</td>
            </tr><br />
            <tr>
            <td align="left" class="input">
            <input type="text" name="txtCity" size="25" maxlength="20" class="textbox" />
            </td>
            </tr><br />
            <tr>
            <td align="left" class="content-sm">Province <font color="red">*</font></td></tr><br />
            <tr>
            <td align="left" class="input">
            <select type="text" name="cbProvince" class="textbox">
                <option value=""selected>-Select one-</option>
                <option value="HCM">Ho Chi Minh</option>
                <option value="HN">Ha Noi</option>
                <option value="HP">Hai Phong</option>
                <option value="DNA">Da Nang</option>
                <option value="DON">Dong Nai</option>
                </select>
                </td>
                </tr><br />
                <tr>
                <td> <img src="file:///E|/web/nguyenvantoan/index/images/18.gif" width="1" height="5" alt="" /></td>
                </tr><br />
                <tr>
                <td>
                <input type="submit" style="width=120px"
                name="new" value="Register me!" class="button" />
                <input type="reset" name="Reset" value="Reset" class="button" />
                </td>
                </tr>
            </form>
       
     
    </body>
    </html>
    newconf.php
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>WELCOME TO M?NG NH?N SHOP</title>
    <link rel="stylesheet" type="text/css" href="../style.css" />
    </head>
     
    <body><div class="text_header">
    <?php
     
    /**
    * @author mangnhen
    * @copyright 2012
    */
    //khai bao chen ket noi co so du lieu
    $linkmysql_connect("localhost","root""") or die ("Could not connect to MySQL Database");
    mysql_select_db("dangki",$link);
     
     
     
    //khai bao phat bieu sql dang select voi email dang ki
    $sql="select *from tbluser";
    $sql.="where Username='";
    $sql.=$HTTP_POST_VARS{"txtUser"}."'";
    //truy van du lieu
    $result=mysql_query($sql,$link);
        
    //khai bien xac nhan khong ton tai Email nay trong co so du lieu
        
    $isexist=0;
        if(
    mysql_num_rows($result)!=0)
        
    //tim thay email da ton tai trong tblUsers
        
    $isexist=1;
        
    //khai bao dong ket noi csdl
        
    mysql_close($link);
    ?>
    Confirmation!</div><br /><hr />
    <table border="0" width="400">
    <tr>
    <!--trinh bay thong tin cua nguoi dung-->
    <td align="left" class="content-sm">
    E-mail:
    <?=$HTTP_POST_VARS{"txtUser"}?>
    </td>
    </tr>
    <tr>
    <!--trinh bay thong tin dang ky cua nguoi dung-->
    <td align="left" class="content-sm">
    Password:
    <?=$HTTP_POST_VARS{"txtPWD"}?></td>
    </tr>
    <!--trinh bay thong tin dang ky cua nguoi dung-->
    <tr>
    <td align="left" class="content-sm">
    Full Name:
    <?=$HTTP_POST_VARS{"txtFullName"}?>
    </td>
    </tr>
    <!--trinh bay thong tin dang ky cua nguoi dung-->
    <tr>
    <td align="left" class="content-sm">
    Address:
    <?=$HTTP_POST_VARS{"txtAddress"}?>
    </td>
    </tr>
    <!--trinh bay thong tin dang ky cua nguoi dung-->
    <tr>
    <td align="left" class="content-sm">
    Tel:
    <?=$HTTP_POST_VARS{"txtTel"}?>
    </td>
    </tr>
    <!--trinh bay thong tin dang ky cua nguoi dung-->
    <tr>
    <td align="left" class="content-sm">
    City:
    <?=$HTTP_POST_VARS{"txtCity"}?>
    </td>
    </tr>
    <!--trinh bay thong tin dang ky cua nguoi dung-->
    <tr>
    <td align="left" class="content-sm">
    Province:
    <?=$HTTP_POST_VARS{"cbProvince"}?>
    </td>
    </tr>
    <tr>
    <td align="left" class="text_normal" valign="top">
    <br>
    <?php
    //neu Email da xuat hien trong csdl thi suat hien mau do
    if($isexist==1){?> <font color="#FF0000">
    Sorry!, This email is exsting in our database.<br />
    Please select other one.</font>
    <br />
    <?php
    }
    //neu khong ton tai email thi cho phep luu tru vao co so du lieu
    if($isexist==0){
        
    ?>
        <form name="frmConf" method="post" action="doreg.php?goto=">
        <input type="submit" name="new" value="Save" class="button" />
        <!--khai bao the hiden de truyen thong tin sang  trang doreg.php-->
        <input type="hidden" name="txtUser" value=" <?=$HTTP_POST_VARS{"txtUser"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtPWD" value=" <?=$HTTP_POST_VARS{"txtPWD"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtFullName" value=" <?=$HTTP_POST_VARS{"txtFullName"}?>" >
      <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtAddress" value=" <?=$HTTP_POST_VARS{"txtAddress"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtTel" value=" <?=$HTTP_POST_VARS{"txtTel"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtCity" value=" <?=$HTTP_POST_VARS{"txtCity"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="cbProvince" value=" <?=$HTTP_POST_VARS{"cbProvince"}?>" >
        <!--long-->
        <input type="hidden" name="from_" value="newuser" />
        <?php
    }
    ?>
    <!--khai bao nut BACK-->
    <input type="button" name="Reset" value="Back" class="button" onclick="history.go(-1);" />
    </form>
    </table>
    </body>
    </html>
    doreg.php
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>welcome to Mang Nhen</title>
    </head>
     
    <body>
    <?php
    $link
    mysql_connect("localhost","root""") or die ("Could not connect to MySQL Database");
    mysql_select_db("dangki",$link);
    if(
    $HTTP_POST_VARS{"from_"}=="newuser")
    {
        
    $sql="insert into";
        
    $sql.="tblUsers(Username, password,";
        
    $sql.="fullname, address, tel, city";
        
    $sql.=",province)vales('";
        
    $sql.=$HTTP_POST_VARS{"txtUser"}."','";
        
    $sql.=$HTTP_POST_VARS{"txtPWD"}."','";
        
    $sql.=$HTTP_POST_VARS{"txtFullName"}."','";
        
    $sql.=$HTTP_POST_VARS{"txtAddress"}."','";
        
    $sql.=$HTTP_POST_VARS{"txtTel"}."','";
        
    $sql.=$HTTP_POST_VARS{"txtCity"}."','";
        
    $sql.=$HTTP_POST_VARS{"cbProvince"}."','";
       
    }
    else
    {
        }
        
    $result=mysql_query($sql,$link);
        
    //dong ket noi co so du lieu
        
    mysql_close($link);
     
    ?>
    <div class="text_header">
    Conratulation!</div><br /><hr />
    <table border="0" width="400">
    <tr>
    <td align="left" class="content-sm">
    <?php
    if($suid!="")
    echo 
    "Your acount has been updated!.";
    else
    echo 
    "you account has been register!.";
     
    ?>
    <br />
    Thank you for using our service by Mang Nhen.
    </td>
    </tr>
    </table>
    </body>
    </html>

    Trên đó là 3 file php của em, nhưng có 1 số lỗi sai mà e k biết cách sữa
    ví dụ như đoạn code
    PHP:

    <input type="hidden" name="txtUser" value=" <?=$HTTP_POST_VARS{"txtUser"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtPWD" value=" <?=$HTTP_POST_VARS{"txtPWD"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtFullName" value=" <?=$HTTP_POST_VARS{"txtFullName"}?>" >
       <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtAddress" value=" <?=$HTTP_POST_VARS{"txtAddress"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtTel" value=" <?=$HTTP_POST_VARS{"txtTel"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="txtCity" value=" <?=$HTTP_POST_VARS{"txtCity"}?>" >
        <!--khai bao the hidden de truyen tiep thong tin sang trang  doreg.php-->
        <input type="hidden" name="cbProvince" value=" <?=$HTTP_POST_VARS{"cbProvince"}?>" >
    mong thầy chỉ giùm em với ^^
    sunset_glow thích bài này.
  6. Offline

    interpol

    • Friends

    • Change
    Số bài viết:
    1.414
    Đã được thích:
    1.462
    Điểm thành tích:
    1.550
    Ở phiên bản php 4 là ?=$HTTP_POST_VARS
    phiên bản php 5 dùng $_POST
    Mục đích thì ở trên có giải thích rồi :)
    BigZero, LeCongVo, hongoctrien1 người khác thích bài này.
  7. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Nhược điểm code này quá dài dòng phức tạp, thay vì kiểm tra luôn sự tồn tại của email tại file doreg.php thì code này còn phải thông qua 1 trang check email riêng.

    Code @BigZero thắc mắc cũng đúng, như @interpol nói.
    Lấy dữ liệu tư form kiểm tra, nếu email không tồn tại trong CSDL thì tiếp tục gán dữ liệu lấy được cho điều khiển "input" của form (input đặt thuộc tính "hidden" nên không hiển thị cái textbox), sau đó tiếp tục được gửi qua file doreg.php để xử lý tiếp
    interpol, BigZeroLeCongVo thích bài này.
  8. Offline

    LeCongVo

    • V.I.P

    • Nothing gonna change my love for you!
    Số bài viết:
    20
    Đã được thích:
    59
    Điểm thành tích:
    60
    Cuốn sách này viết cho phiên bản PHP cũ (version 4) nên nó dùng PHP4. PHP 4 dùng $HTTP_POST_VARS để lấy giá trị của thành phần từ form. Còn PHP 5 thì chỉ là $_POST.
    interpolBigZero thích bài này.
  9. Offline

    tangvanbinh

    • Đội cứu hộ máy tính

    Số bài viết:
    449
    Đã được thích:
    197
    Điểm thành tích:
    140
    code đó dài dòng quá
    BigZero thích bài này.
  10. Offline

    BigZero

    • Friends

    • ôi diễn đàn, ngày càng thấy buồn ra...
    Số bài viết:
    703
    Đã được thích:
    987
    Điểm thành tích:
    1.000
    công nhận dài dòng thật, hôm qua cop file demo của thầy về ngồi đọc thấy dễ hiểu hơn nhiều.
    Lưu ý một số bạn tải file demo của thầy Võ, khi các bạn import CSDL vào localhost thì tên CSDL sẽ là demodemo nhưng trong file kết nối cơ sở dữ liệu lại để là demo, các bạn chú ý sửa lại là ok :).
    Mà thầy ơi thầy có code giỏ hàng không up lên cho bọn em tham khỏa với ạ. Cám ơn thầy.
  11. Offline

    LeCongVo

    • V.I.P

    • Nothing gonna change my love for you!
    Số bài viết:
    20
    Đã được thích:
    59
    Điểm thành tích:
    60
    Khi import CSDL vào thì mình căn cứ vào cái tên ở file kết nối CSDL(file mysql.php) ấy, chứ cái tên đặt như thế là vì khi Export mình quên đổi tên, và nó cũng không quan trọng.
    Nếu các bạn hào hứng thì mình có thể viết tiếp ở Phần 4 hoặc Phần 5,... gì đó. Còn hiện nay thì: Thứ nhât: do thời gian này mình hơi bận nên chưa có time đưa lên diễn đàn, và thứ 2: thấy các bạn không hào hứng lắm nên viết ra sợ không ai đọc :)).
    sunboy, duyen.only.itBigZero thích bài này.
  12. Offline

    BigZero

    • Friends

    • ôi diễn đàn, ngày càng thấy buồn ra...
    Số bài viết:
    703
    Đã được thích:
    987
    Điểm thành tích:
    1.000
    cứ viết đi thầy :D, có tụi em ủng hộ nè, với lại kì này đang làm đồ án lập trình web bằng php với CSDL, nhiều người quan tâm lắm đó thầy ^^, thầy ơi cố lên hihi
    duyen.only.it thích bài này.
  13. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Bài viết có giá trị lắm thầy. Không những cho SV trường mình mà còn cho cộng động mạng nữa.
    Goole ==> "Chức năng đăng ký bằng php" :) lên top 1 của google rồi đó thầy ơi
    LeCongVo thích bài này.
  14. Offline

    tangvanbinh

    • Đội cứu hộ máy tính

    Số bài viết:
    449
    Đã được thích:
    197
    Điểm thành tích:
    140
    hiện tại e đang cần code thêm sửa xóa menu và sản phẩm trong trang admin thầy hay các bạn giúp với nha.......
    LeCongVo thích bài này.
  15. Offline

    integer

    • Tiếu Ngạo Giang Hồ

    • :-?
    Số bài viết:
    1.695
    Đã được thích:
    1.313
    Điểm thành tích:
    900
    Hay lắm, từ thành phần tham gia đến nội dung đều hay. Hồi mình còn đi học chỉ mong có những bài viết thế này :)
    LeCongVo, hongoctrienBigZero thích bài này.
  16. Offline

    LeCongVo

    • V.I.P

    • Nothing gonna change my love for you!
    Số bài viết:
    20
    Đã được thích:
    59
    Điểm thành tích:
    60
    @tangvanbinh: Mình sẽ cố gắng, nhưng giờ thì hơi bận. Có lẽ chờ vài ngày nữa.
  17. Offline

    tangvanbinh

    • Đội cứu hộ máy tính

    Số bài viết:
    449
    Đã được thích:
    197
    Điểm thành tích:
    140
    cảm ơn thầy trước nha.
  18. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    [IMG]

    Thêm, sửa, xóa danh mục sản phẩm, chủ đề, địa điểm bán, đơn vị tiền tệ,.....
    Project này mình đang làm lỡ giỡ nên chưa hoàn thiện các phần khác, nhưng đã đầy đủ các phần trên, các bạn có thể tham khảo code
    cuteo1111 thích bài này.
  19. Offline

    tangvanbinh

    • Đội cứu hộ máy tính

    Số bài viết:
    449
    Đã được thích:
    197
    Điểm thành tích:
    140
  20. Offline

    tangvanbinh

    • Đội cứu hộ máy tính

    Số bài viết:
    449
    Đã được thích:
    197
    Điểm thành tích:
    140
    ko phải 1form mà chính xác là mình tạo 1 trang web như trang hiển thị luôn, nhưng trong này mình sẽ phân quyền chỉ có admin mới có quyền truy cập

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí