在表单的操作字段中使用PHP_SELF

时间:2011-11-09 14:55:09

标签: php html

我希望在提交表单后加载相同的页面。所以我有这样的事情:

if (isset($_POST['delete_video'])) {//go to db to delete}

<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="POST">
<input type="submit" name="delete_video" value="Delete" onClick="javascript:return confirm('Delete this video?');"/>

这对我不起作用。但如果我删除回声它确实有效:

<form action="<?php htmlentities($_SERVER['PHP_SELF']); ?>" method="POST">

这有什么意义?

2 个答案:

答案 0 :(得分:3)

如果action属性为空,则form会自动发布到调用页面/脚本。

因此,由于您已删除echo并且没有输出,因此该操作为空白是导致表单仍然有效的原因。

答案 1 :(得分:3)

请改用$_SERVER['REQUEST_URI']。这将为您提供当前网址,但PHP_SELF会提供文件路径,在这种情况下您不需要。