好的我坚持这个。我尝试了isset函数但没有任何反应......
登录后,用户将被重定向到特定页面。
如果主持人是她的user_type,那么她将被重定向到moderator.php页面 如果agent是她的user_type,她将被重定向到agent.php
我在这里是index.php,其中包含登录表单
<form action="index.php" method=get>
<?php
session_start();
if ($_SESSION["logging"] && $_SESSION["logged"]) {
printme();
}
else {
if (!$_SESSION["logging"]) {
$_SESSION["logging"] = true;
loginform();
}
else if ($_SESSION["logging"]) {
$number_of_rows = checkpass();
if ($number_of_rows == 1) {
$_SESSION[user] = $_GET[userlogin];
$_SESSION[logged] = true;
echo "<h1>You have logged in successfully</h1><br/>";
echo "<a href='logout.php'>Logout</a> | <a href='users.php'>Click to proceed</a>";
}
else {
loginform();
}
}
}
function loginform() {
print ("<center><div id='login_header'><b><font face='Arial Black' color='black' size='4px'>Sign in to Minquep!</font></b></div></cen ter>");
print("<br/><br/>");
print ("<center><label>Username:</label><input type='text' name='userlogin' size='20'><br/><label>Password:</label><input type=' password' name='password' size='20'></center>");
print "<br/><input type='submit' value='Submit' name='submit' class='submit'>";
}
function checkpass() {
$dbHost = 'localhost';
$dbUser = 'root';
$dbPass = '';
$dbname = 'minquep_test';
$conn = mysql_connect($dbHost, $dbUser, $dbPass); // Connection Code mysql_select_db($dbname, $conn); // Connects to database
$sql = "select * from users where login='$_GET[userlogin]' and password='$_GET[password]'";
$result = mysql_query($sql, $conn) or die(mysql_error());
$fetched = mysql_fetch_array($result);
if ($fetched['user_type'] == "moderator") {
echo '<script type="text/javascript">window.alert("You have logged in successfully!\n")</script>';
print("<b><h1>hi mr.$_SESSION[user]</h1>");
echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/moderator.php\">";
}
else if ($fetched['user_type'] == "agent") {
echo '<script type="text/javascript">window.alert("You have logged in successfully!\n")</script>';
echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/agent.php\">";
}
}
function content() {
print("<b><h1>hi mr.$_SESSION[user]</h1>");
print "<br><h2>only a logged in user can see this</h2>";
}
function printme() {
echo '<script type="text/javascript">window.alert("You have logged in successfully!\n")</script>';
}
?>
</form>
根据上面的代码,我将根据用户类型将用户重定向到特定页面。
if ($fetched['user_type'] == "moderator") {
echo '<script type="text/javascript">window.alert("You have logged in successfully!\n")</script>';
print("<b><h1>hi mr.$_SESSION[user]</h1>");
echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/moderator.php\">";
}
else if ($fetched['user_type'] == "agent") {
echo '<script type="text/javascript">window.alert("You have logged in successfully!\n")</script>';
echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/agent.php\">";
}
现在在我的moderator.php中 我只是调用moderator_include.php,我应该打印登录用户的用户名和user_type。
moderator.php
<div id="wrapper">
<div id="container">
<div id="header">
<?php include "moderator_header.php"; ?>
</div>
它包括moderator_header.php,它是
<div class="logo">
<a href="moderator.php"><img class="logo_img" src="../images/minquepLOGO.png"/></a>
</div>
<div id="title">
<img src="../images/title.gif"/>
</div>
<br/>
<?php
session_start();
if ($_SESSION["logged"] = true) {
print("<b><h1>hi mr. $_SESSION[user] . You are logged in as /*THE USER_TYPE GOES HERE */ </h1>");
}
?>
我尝试将用户名输出为
if (isset($_SESSION['logged'])){
print("<b><h1>hi mr. $_SESSION[user] . You are logged in as /*THE USER_TYPE GOES HERE */ </h1>"); }
但没有任何反应......
关于如何输出用户的user_type ...我不知道怎么做,因为它不是index.php中发生的会话的一部分
顺便说一句,我的logout.php是这样的
<?php
session_start();
if (session_destroy()) {
print"<h2><B><blink>you have logged out successfully</B></blink></h2>";
print "<h3><a href='index.php'>back to main page</a></h3>";
}
?>
请帮帮我......谢谢
答案 0 :(得分:0)
print("<b><h1>hi mr " . $_SESSION['user'] . "You are logged in as" . $userType . "</h1>"); }
尝试一下:)
修改强>
将变量$ userType编辑为它应该是什么......
答案 1 :(得分:0)
有时候php会有点棘手......要记住一些事情
1)总是在anyoutput之前启动会话,这意味着在你的代码之上,在开始会话之前,不应该只有一个空格或空行。
2)当你有一个启动会话的文件,并包含另一个文件时,你不必在包含的文件中再次启动它。
并且为了跟踪你的会话,你想在任何页面中添加这段代码:
<pre><?php print_r($_SESSION); ?></pre>
并查看结果。