0

私はいくつかの迅速な助けを得ることができるかどうか疑問に思っています! シンプルなウェブサイトを作成し、管理者の目的で、phpmyadmin データベースからコンテンツをアップロードおよび削除できるページにアクセスできる必要があります。私が問題を抱えているのは、パスワードが入力されているhtmlページから、パスワードがチェックされている次のページにパスワードを送信できることです。理想的には、パスワード用のテキスト ボックスがある "admin.html" から始めます。次のページは「adminmenu.php」です。adminmenu.php は、パスワードがデータベースのユーザーと一致する場合にのみアクセスできます。(これに似た他の多くの質問のように、パスワードはテーブルに保存されないことに注意してください)

これは admin.html の私のフォームです (パスワード ボックス)

<form name="input" action="adminmenu.php" onsubmit="return validateForm()" method="post">
Password: <input type="text" name="password">
<input type="submit" value="Submit">
</form>

パスワードは次のページの「password」として送信されますか?

その後、私はそれをチェックする方法を本当に知りません。これは私の不確かな推測のようなものです:

$handle = mysql_connect("localhost", "uMoviesRoot","password") or die ('Error:' .mysql_error())
mysql_select_db("movies");

助けてくれてありがとう!

4

3 に答える 3

1

編集:

わかりました、私はあなたが何を望んでいるのか理解していると思います。あなたはadmin.htmlを持っています:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Blah</title>
    </head>

    <body>
        <form action="adminhandle.php" method="POST">
            Password: <input type="password" name="pass" />
            <input type="submit" name="submit" value="Log on" />
        </form>
    </body>

</html>

adminhandle.php:

<?php
session_start();

$handle = mysql_connect("localhost", "uMoviesRoot", "$_POST['pass']") or die ('Error:' .mysql_error())
mysql_select_db("movies");

if ($handle) $_SESSION['logged_in'] = true;
?>

adminmenu.php:

<?php
session_start();

if ($_SESSION['logged_in']) {
    // show menu or whatever
} else {
    echo "Password failed!";
}
?> 

数歩戻って、学ぶための優れたリソースを入手してください。Larry Ullman の本をお勧めします。

于 2012-12-10T02:35:40.660 に答える
0

パスワードは次のように送信されます

$_POST['password']

「password」または「$password」ではありません。

したがって、それを使用して mysql_connect に接続する場合は、次のことを行う必要があります。

mysql_connect("localhost", "uMoviesRoot", $_POST['password'])

ただし、新しいページにアクセスするたびにパスワードを「保持」する必要があります。セッションに保存できますが、共有ホスティング サーバー上にある場合はお勧めできません。

于 2012-12-10T02:30:50.167 に答える
-1

一部の PHP スクリプト間でデータを送信するには、いくつかの方法があります。

最も簡単なのは、Sessions を使用することです。

最初にあなたがしなければならない

session_start();

そして、ユーザー固有の $_SESSION 配列を使用できます。

したがって、少なくとも次のものが必要です。

<?php session_start(); $_SESSION["password"] = $_POST["password"]; mysql_connect(..., $_SESSION["password"]);...?>

しかし、セキュリティに注意してください!MySQL に送信されるパスワードやその他の文字列に直接アクセスできるようにし、SQL インジェクション用に解析しないと、多くのセキュリティ リスクが生じます。

于 2012-12-10T02:30:49.983 に答える