考虑以下包含textfield和submit按钮的表单:
<form method="POST" action="<?php isValid();?>" class="urln">
<input name="url" type="text" autocomplete="off" class="urlField"/>
<input name="ybutton" type="submit" value="Add!" class="logButon" action="<?php isValid();?>"/>
</form>
isValid()
的定义如下:
function isValid()
{
$string = $_POST['url'];
$youtubeURL = parse_url($string);
if($youtubeURL["host"]=="www.youtube.com")
echo 'videoAdmin.php';
else
echo '';
}
问题是,在第二次提交表单时提交了youtube网址的成功提交,而不是在第一次提交之后。想法是在填写表格后提交正确的URL(可能是一些AJAX?)。非常感谢任何帮助。
答案 0 :(得分:1)
您可以轻松地将POST数据保存在$_SESSION
超全局。
答案 1 :(得分:1)
据我所知,action属性旨在包含一个用于发送HTTP请求的URL。您设置的东西在第二次提交时起作用,因为当您第一次加载它时,它没有要检查的POST,因此它打印为空白。第二次,回应xxx.php的事情。 PHP由服务器读取,除非您重新加载页面更改参数(在帖子中,在会话中或其他内容中),否则它不会执行任何操作。
要执行您需要的操作,您必须在普通的javascript函数中进行检查并在单击公共按钮或<a>
元素时更新操作属性(如果需要)(设置{{1 })。