<input type=SUBMIT value="send" >
</form>
your name:
<?
echo ($username);
?>
</html>

Môi trường server Win2000 Professonal, IIS và PHP 4.3.1.

" />
  • Thứ Ba, 20/04/2004 14:03 (GMT+7)

    Câu hỏi :

    Tôi có trang Web sau, khi chạy cứ báo là chưa khai báo username.

    <html>
    <form>
    <input  type="text" name="username"><br><br>
    <input type=SUBMIT value="send" >
    </form>
    your name:
    <?
    echo ($username);
    ?>
    </html>

    Môi trường server Win2000 Professonal, IIS và PHP 4.3.1.



    Trả lời :

    Cũng giống như ASP, Perl,... PHP là ngôn ngữ kịch bản (script) được xử lý ở máy server, rất thích hợp để hiện thực phần tử 'bussiness logic layer' trong 1 ứng dụng Web dùng mô hình 3-tier. Để 1 trang Web bình thường (User Interface Layer của mô hình 3-tier) có thể gọi được 1 trang PHP ở server, thường người ta dùng đối tượng form trong trang Web để kích khởi trang PHP tương ứng. Trang Web của bạn có thể được viết lại thành 2 file: file Web và file PHP như sau.
    Nội dung file Web (web.htm) với chức năng giao tiếp với người dùng, chờ nhập liệu rồi gởi về server xử lý tiếp:

    <html>
    <body>
    <form action=phpfile.php method=POST>
    <input  type='text' name='username'><br><br>
    <input type=SUBMIT value='send' >
    </form>
    </body>
    </html>

    Nội dung file php chạy ở máy server (phpfile.php) với nhiệm vụ nhận các giá trị nhập vào của người dùng bên máy client và xử lý (trong trường hợp đơn giản của bạn, nó chỉ hiển thị giá trị nhập vào lên màn hình):

    <html>
    <body>
    your name:
    <?
    echo ($username);
    ?>
    </body>
    </html>

    Về nguyên tắc, trang Web chứa form giao diện có thể được tích hợp vào trang PHP, trong trường hợp này tham số 'action=' của form sẽ chứa tên của chính trang PHP chứa form giao diện và lần đầu tiên được truy xuất bởi người dùng thì phần hiển thị kết quả nhập vào sẽ là Null (không có gì) chứ không phải bị báo sai như bạn miêu tả.

    Chuyên mục: Cơ sở dữ liệu