скрыть таблицу в php используя сеанс - PullRequest
0 голосов
/ 03 января 2011

как я могу скрыть следующую таблицу в php, используя сессию. (Я не хочу, чтобы вошедший в систему пользователь снова видел таблицу входа в систему вместо нее, я хочу показать информацию этого пользователя, пока сеанс жив) Как я могу это сделать, помогите мне, друг.

<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF" class="post">
<tr>
<td colspan="3"><h2><strong>Member Login </strong></h2></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername" maxlength="65"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword" maxlength="65"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>

и код для этого "checklogin.php" выглядит следующим образом

<?php
ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="123"; // Mysql password
$db_name="test"; // Database name
$tbl_name="member"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");

echo("<SCRIPT LANGUAGE='JavaScript'>window.alert('you have logged in successfully')</SCRIPT>");
echo("<SCRIPT LANGUAGE='JavaScript'>window.location = 'main_login.php'</SCRIPT>");

//header("location:login_success.php");
//window.location = 'login_success.php'
//echo "<script>navigate('login_success.php')</script>";
//exit();

}
else {
echo "Wrong Username or Password";
include 'main_login.php';
}

ob_end_flush();
?>

Ответы [ 3 ]

1 голос
/ 03 января 2011

Вы должны установить переменную сеанса после входа в систему.а затем проверьте его перед печатью таблицы.

<?php
session_start(); 

if (isset($_SESSION['loged']) && ($_SESSION['loged'] == false))
{
   ?>
   <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"     class="post">
   <tr>
   <td colspan="3"><h2><strong>Member Login </strong></h2></td>
   </tr>
   ....
   ...
   </table>
   <?php
}
0 голосов
/ 03 января 2011
<form name="form1" method="post" action="checklogin.php">
<td>
**<?php
//session_start(); 
//(isset($_SESSION['myusername']) && $_SESSION['myusername'] === true)
if (isset($_SESSION['myusername']) && $_SESSION['myusername'] == true):
   ?>**
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF" class="post">
<tr>
<td colspan="3"><h2><strong>Member Login </strong></h2></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername" maxlength="65"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword" maxlength="65"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>

**<?php
endif;
?>**

</td>
</form>

и коды в конкретном файле "checklogin.php" выглядят следующим образом

<?php
ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="123"; // Mysql password
$db_name="test"; // Database name
$tbl_name="member"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
**// Register $myusername, $mypassword and redirect to file "login_success.php"
//session_register("myusername");
//session_register("mypassword");
$_SESSION["myusername"]= $_POST['myusername'];
$_SESSION["mypassword"]= $_POST['mypassword'];
//$_SESSION["mypassword"]**

echo("<SCRIPT LANGUAGE='JavaScript'>window.alert('you have logged in successfully')</SCRIPT>");
echo("<SCRIPT LANGUAGE='JavaScript'>window.location = 'main_login.php'</SCRIPT>");

//header("location:login_success.php");
//window.location = 'login_success.php'
//echo "<script>navigate('login_success.php')</script>";
//exit();

}
else {
echo "Wrong Username or Password";
include 'main_login.php';
}

ob_end_flush();
?>
0 голосов
/ 03 января 2011

Это зависит от того, как вы внедрили свою систему аутентификации. Если у вас есть некоторая переменная сеанса "loggedin", которая после успешного входа в систему установлена ​​на true, то вы бы окружили свою таблицу HTML:

<?php
if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true):
   ?>
   HTML table here
   <?
endif;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...