会话我的用户名


Session myusername

我正在尝试回显$_SESSION["myusername"]。我可以登录到我的页面,但我不能回显我的用户名。我收到以下错误。 未定义的变量:C:...中的我的用户名。

检查登录.php页面如下

<?php
ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="techdb"; // Database name
$tbl_name="members"; // 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");
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$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){
  $_SESSION['myusername']=$myusername;
  $_SESSION['mypassword']=$mypassword;
  header("location:technicianform.php");
} else {
  echo "Wrong Username or Password";
}
ob_end_flush();
?>

我的技术人员表格.php页面是

<?php
session_start();
if( isset($_SESSION['$myusername']) ){
  header("location:checklogin.php");
}
?>
<html>
<body>
  <p>Login Successful</p>
  <?php echo $_SESSION["myusername"]; ?>
  <p><br/>
  <br/><br/><a href='Logout.php'>Click here to log out</a></p>
</body>
</html>

登录过程有效,但我似乎无法回显我的用户名。非常感谢您的帮助。

要在checklogin.php文件中创建会话变量,您需要启动会话。

收到未定义的索引通知,因为您缺少以下内容:

session_start(); // add in checklogin.php file

第二个问题是:

$_SESSION['$myusername']

应该是:

$_SESSION['myusername']

旁注:

停止使用mysql_*扩展,它在 PHP 7 中已弃用并关闭。使用 mysqli_*PDO

只需删除此 $ 符号即可。

改变:

 if( isset($_SESSION['$myusername']) )

 if( isset($_SESSION['myusername']) )

另外,在检查登录中.php您需要提及

session_start();

希望这有帮助。

和平! xD

    **Try This.**


login.php
    <?php
     session_start();
     $host="localhost"; // Host name
     $username="root"; // Mysql username
     $password=""; // Mysql password
     $db_name="techdb"; // Database name
     $tbl_name="members"; // 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");
    if(isset($_POST['submit'])){
     $myusername=trim($_POST['myusername']);
     $mypassword=trim($_POST['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){

       $_SESSION['myusername']=$myusername;
       $_SESSION['mypassword']=$mypassword;
       header("location:technicianform.php");
       }
       else {
       echo "Wrong Username or Password";
       }
    }
       ?>

       <form method="post">
     <label>username :</label><input type="text" name="myusername"></br>
      <label>password :</label>  <input type="password" name="mypassword"></br>
         <input type="submit" name="submit" value="submit">
       </form>`
technicianform.php
<?php
   session_start();
   if( isset($_SESSION['$myusername']) ){
   header("location:checklogin.php");
   }
   ?>
   <html>
   <body>
   <p>Login Successful</p>
   <?php
    echo $_SESSION["myusername"];
    ?>
    <p><br/>
    <br/><br/><a href='Logout.php'>Click here to log out</a></p>
    </body>
    </html>