09/10/2018, 18:27
Giúp dùm tôi hỡi các cao thủ PHP
Tôi có 2 file
file sign.php có nội dung:
<h2>Sign my Guest Book!!!</h2>
<form method=post action=”create_entry.php”>
<b>Name:</b> <input type=text size=40 name=name> <br> <b>Location:</b> <input type=text size=40 name=location> <br> <b>Email:</b> <input type=text size=40 name=email> <br>
<b>Home Page URL:</b> <input type=text size=40 name=url> <br> <b>Comments:</b>
<textarea name=comments cols=40 rows=4 wrap=virtual></textarea> <br> <input type=submit name=submit value=”Sign!”>
<input type=reset name=reset value=”Start Over”>
</form>
file create_entry.php
<?
include(“dbconnect.php”);
if ($submit == “Sign!”)
{ $query = “insert into guestbook (name,location,email,url,comments) values (‘$name’, ‘$location’, ‘$email’, ‘$url’, ‘$comments’)”; mysql_query($query) or
die (mysql_error());
?>
<h2>Thanks!!</h2>
<h2><a href=”view.php”>View My Guest Book!!!</a></h2>
<?php
}
else { include(“sign.php”); } ?>
Khi tôi chạy file sign.php, nhập các thông tin vào form và submit thì trang create_entry.php báo lỗi là:
Notice: Undefined variable: submit in c:inetpubwwwroot huchanh_phpcreate_entry.php on line 3
Các cao thủ có thể cho tôi biết tại sao nó lại báo lỗi như vậy ko?
file sign.php có nội dung:
<h2>Sign my Guest Book!!!</h2>
<form method=post action=”create_entry.php”>
<b>Name:</b> <input type=text size=40 name=name> <br> <b>Location:</b> <input type=text size=40 name=location> <br> <b>Email:</b> <input type=text size=40 name=email> <br>
<b>Home Page URL:</b> <input type=text size=40 name=url> <br> <b>Comments:</b>
<textarea name=comments cols=40 rows=4 wrap=virtual></textarea> <br> <input type=submit name=submit value=”Sign!”>
<input type=reset name=reset value=”Start Over”>
</form>
file create_entry.php
<?
include(“dbconnect.php”);
if ($submit == “Sign!”)
{ $query = “insert into guestbook (name,location,email,url,comments) values (‘$name’, ‘$location’, ‘$email’, ‘$url’, ‘$comments’)”; mysql_query($query) or
die (mysql_error());
?>
<h2>Thanks!!</h2>
<h2><a href=”view.php”>View My Guest Book!!!</a></h2>
<?php
}
else { include(“sign.php”); } ?>
Khi tôi chạy file sign.php, nhập các thông tin vào form và submit thì trang create_entry.php báo lỗi là:
Notice: Undefined variable: submit in c:inetpubwwwroot huchanh_phpcreate_entry.php on line 3
Các cao thủ có thể cho tôi biết tại sao nó lại báo lỗi như vậy ko?
Bài liên quan
Biến $submit chưa được định nghĩa!
Từ php 4.3.7 (hình như vậy, ko nhớ chính xác) trở đi, các giá trị được gởi từ form bằng phương thức POST hoặc GET sẽ ko lưu trữ trong các biến toàn cục dạng $tên_biến, mà được lưu trữ trong các mảng $HTTP_POST_VARS , hoặc $_POST (Đối với phương thức GET thì bạn thay chữ POST = GET), Trong các phiên bản mới hơn thì php khuyến cáo nên dùng mảng $_POST và có thể tương lai sẽ ko hỗ trợ mảng $HTTP_POST_VARS nữa.
Như vậy trong file create_entry.php bạn có một số cách để nhận giá trị submit.
Dùng trực tiếp : $_POST["submit"]
Gán vào biến trung gian $submit = $_POST["submit"]
Dùng hàm extract($_POST); sau đó dùng các biến $submit, $name,...
Bạn có thể dùng lệnh print_r($_POST); để kiểm tra các biến và giá trị được gởi đến bằng phương thức POST.
Còn ở trong web thì bạn thử đặt dòng này trong <head> , và dùng unicode để type tiếng việt xem
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
Tôi mới học PHP được 2 ngày thôi, chỉ là tự học nên chưa biết nhiều. NsT có thể cho tôi biết phần "Home của myphpadmin" là ở đâu ko vậy?
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
(Nếu bạn soạn thảo bằng dreamweaver thì dòng này là dòng số 4. Ở chế độ code)
Bạn sửa lại thành
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
hoặc
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
Nếu bạn đã xoá mất dòng này thì có thể thêm vào. Vị trí của nó là trong thẻ <head>...</head>
----------------------------------------------------------------
phpmyadmin và một trang web có chức năng quản trị csdl mysql. Nó thường phát hành kèm với các chương trình phptriad hoặc applser ...
Bạn thử vào thư mục htdocs. nếu có thư mục phpmyadmin thì trang web này đã có và bạn có thể sử dụng trang web này để thao tác với csdl. Bạn có thể download bản mới hơn tại địa chỉ sau: www.phpmyadmin.net
sử dụng phpmyadmin: http://localhost/phpmyadmin
File cấu hình: htdocs/phpmyadmin/config.inc.php