0

ユーザーがログイン スクリプトに何かを入力したかどうかを確認する方法を探しています。試し if (!empty($_POST)) ましたが、この方法は失敗しました。私はphpが初めてなので、他にどのクリーンメソッドを使用すればよいかわかりません。

<?php
    if ( !empty($post)){
    header("Location:login.php");
    echo"Invalid Username or Password";
    }
?>
<html>
    <head>
        <title>Administrator Login Page</title>
        <style type="text/css">
            @import "style.css";
        </style>
    </head>
    <body>
        <h1>Administrator Login Page</h1>
        </br></br></br></br></br></br></br>
        <form action="admin_verify.php" method="post">
            User Name:
            <input type="text" name="admin_name" />
            </br></br>
            Password:&nbsp;&nbsp;
            <input type="password" name="admin_password" />
            </br></br>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input type="submit" value="Login"/>
            <input type="reset" value="Reset"/>
        </form>
    </body>
</html>
4

3 に答える 3

2

このコードを入れるべきではadmin_verify.phpありませんlogin.php

<?php
    if ( !empty($post)){
        header("Location:login.php");
        exit;        
    }
?>

入力されたかどうかに関係なく、すべてのフィールドを確認することをお勧めします

if( !isset($_POST['admin_name'], $_POST['admin_password'] )) {
     header("Location:login.php");
     exit; 
}

ログインページにメッセージを送り返したい場合は、getパラメーターで送信するか、セッションを使用できます

header("Location:login.php?msg=Invalid Username or Password");
exit; 
于 2013-02-05T15:52:25.270 に答える
0

フォームが入力されているかどうかを確認するだけでなく、このページでユーザー名とパスワードも確認したい場合があります。に任せたい場合はlogin.php、 の内容を に保存し$_POST$_SESSIONください。

<?php
if (!empty($_POST)){
    if (strlen($_POST["admin_name"]) > 0 && strlen($_POST["admin_password"]) > 0) {
        header("Location:login.php");
        exit;
    } else {
        $not_filled = true;
    }
}
?>
<html>
<head>
<title>Administrator Login Page</title>
<style type="text/css">
@import "style.css";
</style>
</head>
<body>
<h1>Administrator Login Page</h1>
</br></br></br></br></br></br></br>
<?php if ($not_filled) echo"Invalid Username or Password"; ?>
<form action="admin_verify.php" method="post">
User Name: <input type="text" name="admin_name" />
</br></br>
Password:&nbsp;&nbsp; <input type="password" name="admin_password" />
</br></br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" value="Login"/>
    <input type="reset" value="Reset"/>
</form>
</body>
</html>
于 2013-02-05T15:53:44.797 に答える
0

試す

if((isset($_POST['admin_name']) && isset($_POST['admin_password']))
{
   //INSTRUCTION
}
于 2013-02-05T15:55:20.600 に答える