Truyền variable thông qua url bằng thuộc tính action của form

Em đang gặp vấn đề là không thể truyền giá trị người dùng nhập vào làm url cho action form

1 Like
<?php

$action_page = $_POST['something_here'];
# $action_page = $_GET['something_here'];

?>



<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>

<form action="<?php echo $action_page; ?>" method="POST">
	<input type="text" name="user_name">
	<input type="submit" name="username_btn" value="register">
</form>

</body>
</html>
4 Likes

Cảm ơn câu trả lời của anh. Nhưng mà hình như e chưa giải thích được rõ ý e đang muốn lắm ạ. Ví dụ, trên form a vừa gửi thì khi người dùng submit e muốn url trong action sẽ là http:…/search/user_name user_name là cái mà người dùng nhập vào, như vậy thì kb biết có được ko ạ

e kb là có thể lấy được giá trị người dùng nhập vào vào truyền lên action luôn đc ko ạ

Url trong action hay là url hiển thị trên trình duyệt?

3 Likes

dạ url trên trình duyệt a ơi

<?php
echo 'Page này là: ';
echo $_SERVER["PHP_SELF"];
echo '<br/>';

$action_page = $_GET['user_name'];
echo 'User vừa mới nhập: ' . $action_page;

?>

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>

<form action="<?php htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="GET">
	<input type="text" name="user_name" value="<?php echo $action_page; ?>">
	<button type="submit">Send</button>
</form>

</body>
</html>

$_SERVER[“PHP_SELF”] là để trỏ về chính trang này (như ví dụ ở cái echo đầu tiên)

Cái htmlspecialchars() là để encode thông tin, phòng trường hợp bị chèn mã HTML vào. Bạn tìm hiểu thêm cái PHP_SELF XSS attack

5 Likes

Mình thấy form của bạn là form search, tại sao lại dùng post mà không dùng get :confused:

5 Likes

mình vừa sửa lại r, cảm ơn bạn

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?