Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP“header”与HTML“action”相同吗?_Php_Html - Fatal编程技术网

PHP“header”与HTML“action”相同吗?

PHP“header”与HTML“action”相同吗?,php,html,Php,Html,这是一个问题,我已经有几天了。当我这样做的时候 <form action = "something.php" method="post"> 它总是有效的,但是当我尝试在PHP中用header切换时,我遇到了一些问题。我试图做的是检查输入数据是否写入,如果没有,则回显某个短语,但如果所有内容都写入,则登录 <?php $usernameErr = $passwordErr = ""; if (isset($_POST['submit'])) { if(empty($_POS

这是一个问题,我已经有几天了。当我这样做的时候

<form action = "something.php" method="post">
它总是有效的,但是当我尝试在PHP中用header切换时,我遇到了一些问题。我试图做的是检查输入数据是否写入,如果没有,则回显某个短语,但如果所有内容都写入,则登录

<?php 
$usernameErr = $passwordErr = "";

if (isset($_POST['submit'])) {
if(empty($_POST["uid"])){
    $usernameErr = "Username required";
};

if(empty($_POST["pwd"])){
    $passwordErr = "Password required";
} ;
if(!empty($_POST["uid"]) and !empty($_POST["pwd"])) {
    header("Location: login.php");
};
};  

?>

<form name="frm" method="post">
<input type = "text" name = "uid"  placeholder = "Username"; >
<?php echo         $usernameErr; ?> <br>
<input type = "password" name = "pwd"  placeholder = "Password" ; >
<?php echo $passwordErr?> <br>
<input name="submit" type="submit" id="submit" onclick="action()" value="submit" >
</form>
<?php

if (isset($_SESSION['id'])){
echo $_SESSION['id'],"  ", "You've succesfully logged in";
} else {
    echo "youre not logged in";
}
?>
不 表单操作属性包含提交表单后网页将重定向到的URL。 php函数将头发送到客户端浏览器。校长职位:http://www.example.com/; 还将HTTP状态代码设置为302-Redirect,这将导致浏览器重定向到添加到标头中的新位置。 注意:关于PHP中的重定向:

tl;dr:记得在打印之前使用页眉。添加位置标题后立即使用die或exit

最后一点。您的代码虽然不是很好,但最终应该重定向到login.php。你到底有什么问题?
如果您想显示“登录”消息,您可能应该将其显示在login.php文件中。

有哪些问题请详细说明出现了哪些问题/出现了哪些错误此处存在严重的逻辑缺陷;如果您将uid和pwd数据发布到此页面,它将重定向到login.php,尽管在该头重定向之后应该有一个die。我认为login.php实际上应该执行登录操作。。。但是它没有uid和pwd数据可以登录,因为您刚刚执行了一个基本的302重定向。所以不,动作=。。。与标题位置不同:。。。重定向。@CD001那么我应该怎么做才能使它正确登录?我有一个login.php页面,该页面可以执行操作,但我还想检查输入是否写入。将验证放在login.php中,如果所需数据不存在,则让它处理错误状态,方法是重定向到特定的错误处理程序或在屏幕上打印错误消息。通常情况下,您会将表单发布到表单本身,检查有效性并尝试登录-如果一切正常,则重定向到帐户页面-否则再次显示登录表单,并显示错误的详细信息。