-3

これは、ユーザー名とパスワードを入力したログイン フォーム (admin_login.php) で、送信時に login.php スクリプトを実行する必要があります。

admin_login.php
//the login form

<?php 

$dbhost = 'xxxxxx';
$dbuser = 'xxxxxx';
$dbpass = 'xxxxxx';

$con = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $con )
{
  die('Could not connect: ' . mysql_error());
}
mysql_select_db('xxxxxx');

?>

<html>

<head>
<link rel="stylesheet" type="text/css" href="css/master.css">
</head>

<body>

<form method="post" action="login.php">

User:<input name="username" type="text">
Pass:<input name="password" type="password">

<input name="submit" type="submit" value="Submit">

</form>

</body>

</html>

次のコードは、前のファイル admin_login.php からユーザー名とパスワードの値を取得し、ユーザー名とパスワードがデータベースに保存されているものと同じ場合、ユーザーが admin_control_panel.php にアクセスできるようにする必要があります。それ以外の場合は、ログインに戻ります。

login.php
//the action script

<?php

$dbhost = 'xxxxxx';
$dbuser = 'xxxxxx';
$dbpass = 'xxxxxx';

$con = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $con )
{
  die('Could not connect: ' . mysql_error());
}
mysql_select_db('xxxxxx', $con);

$query = "SELECT username FROM users ".
         "WHERE username=\"$username\" ".
         "AND password = \"$password\"";

$result = mysql_query($query, $con);         

if (mysql_num_rows($result) == 0)
    header("Location: admin_login.php");
else    
    header("Location: admin_control_panel.php");
?>

すべてが順調であれば、私だけがアクセスできることを除いて、通常のページのように使用できる管理コントロール パネルが必要です。

admin_control_panel.php
//where I will be able to access the admin panel, only I should be authorized.

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Control Panel</title>
</head>

<body>
<p>You are in the admin control panel</p>
</body>

</html>
`

前もって感謝します。

4

2 に答える 2

2

あなたは$_POST結果を得ていません。試す:

$query = "SELECT username FROM users ".
         "WHERE username='".$_POST[username]."' ".
         "AND password = '".$_POST[password]."'";

また、これはあくまでも目安です。あなたはSQLインジェクションを受け入れており、PDOの使用を検討する必要があります

mysql_data_seek($result, 0);後にも必要な場合があります$result = mysql_query($query, $con);

内部結果ポインタを で先頭に移動する必要がありますmysql_data_seek

于 2013-02-09T13:52:42.287 に答える
0

$username = $_POST['username'] およびパスワードと同じです。

于 2013-02-09T13:52:30.650 に答える