如何为我的文件制作管理面板

时间:2012-01-27 11:12:10

标签: php

假设我有以下文件[index.php / admin.php / access.php]

1)文件index.php是登录表单

<form method="post" name="login" id="login" action="check.php">
Username : <input name="loginid" id="loginid" type="text">
Password : <input name="password" id="password" type="password">
</form>

它应该将条目(用户,通行证)发送到文件check.php,以便检查用户名和密码是否正确,我想用这种方式

2)文件check.php

在文件check.php,它应该执行以下功能 - 检查用户,通行证是否正确 - 如果正确则创建cookie或以某种方式 - 如果错误或空,请将我发回login.php

这里说的是我的db信息

$sql= "select * from settings where admuser='$loginid' and admpass='$password'";
$result = mysql_query($sql) or die("query failed: $sql");

3)文件access.php

如果我已经登录,那么这个文件应该进行比较,以便如果没有将我发送回login.php

4)文件admin.php [需要access.php检查我是否登录]

<?php
include('access.php');
echo "balah blah blah";
?>

所以任何人都可以尽可能简单地写这个例子

这个例子将有助于我研究它作为研究案例 因为我以前尝试但失败了所以我真的不知道为什么,这是我的最后一个问题Login not working after php updated但是我发现我需要编写适用的学习案例代码。

谢谢你的帮助

2 个答案:

答案 0 :(得分:4)

你的做法肯定是错的。使用mysql_query()而不检查变量首先导致SQL注入(维基百科)。你应该使用PDO。这是教程的链接(Google上的“php pdo教程”的第一个链接):http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html

此外,没有必要检查cookie或这类东西,PHP有一些名为sessions的东西。您可以在此处了解详情:http://www.tizag.com/phpT/phpsessions.php

在进一步学习之前花更多时间学习这些基础知识,它们非常重要:)

答案 1 :(得分:1)

您可以使用简单的if()循环在filecheck.php页面上设置会话。

$loginid = mysql_real_escape_string(strip_tags($_POST['loginid']));
$loginpass = mysql_real_escape_string(strip_tags($_POST['loginpass']));
$sql = mysql_query("SELECT loginid, loginpass FROM settings WHERE loginid='$loginid' AND loginpass='$loginpass'");
if(mysql_num_rows($sql) != 0){
      //create $_SESSION
   session_start();
   $_SESSION['id'] = $loginid;
setcookie("id","id",time()+3600*24*30);
}else{
         //the user doesn't match any of the ones in the database. Tell them to try another login}

要通过网站保持会话活动,只需调用`session_start();每个网页顶部的声明。 通过获取用户名和密码与数据库的匹配并创建$ _SESSION ['username'];只有您可以使用已有效登录的用户和密码创建。

要注销,您可以使用session_destroy();声明。

关于会话的一个想法是会话将在您关闭网页时结束。理想的登录系统将包含会话和cookie。这样您就可以在登录时设置cookie和会话。当您关闭网页并稍后返回它时,cookie仍然存在,您可以使用cookie重新创建会话。这样就不再需要用户每次返回页面时都必须登录。

要重置session['id'],您可以执行以下操作:

if(!isset($_SESSION['id'])){
   if(isset($_COOKIE['id'])){
      $_SESSION['id'] = $_COOKIE['id'];
       echo '<p>Welcome back ' . $_SESSION['id'] . '</p>';
    }
}elseif(isset($_SESSION['id'])){
      echo '<p>Welcome back ' . $_SESSION['id'] . '</p>';
}else{
     echo '<p>Please login</p>';
}