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>

那么密码不是作为下一页的“密码”发送的吗?

在那之后,我真的不知道如何检查它。这就像我不确定的猜测:

$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;
?>

管理菜单.php:

<?php
session_start();

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

退后几步,获得一个很好的学习资源。我推荐拉里·厄尔曼的书

于 2012-12-10T02:35:40.660 回答
0

密码发送为

$_POST['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 回答