从当前会话PHP获取名字

时间:2014-08-27 15:18:34

标签: php mysql session

所以它是大学项目的最后一步...... 我试图从依赖于会话的mysql表中获取值。 例如,您输入电子邮件和密码,您重定向的下一页有两个名字。 我使用此脚本进行登录检查:

<?php
   ob_start();
   $host="localhost";
   $username="***"; 
   $password="***";  
   $db_name="***"; 
   $tbl_name="usersWebsite";

   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);

   $count=mysql_num_rows($result);

   if($count==1){
      session_register("myusername");
      session_register("mypassword"); 
      header("location:login_success.php");
   }
   else {
      echo "Wrong Username or Password";
   }
   ob_end_flush();
?>

我正在使用此短代码创建会话:

<?php
    session_start();
    if(!session_is_registered(myusername)){
        header("location:main_login.php");
    }
?>
<meta http-equiv="refresh" content="0; url=http://starkwave.com/main/dashboard" />

在网上获得了一个教程的代码并根据我的情况进行了调整 我想在php页面中回显登录用户的名字, 非常感谢你

4 个答案:

答案 0 :(得分:2)

session_register()session_unregister()将来不再有效,因此请勿使用它们。使用

    $_SESSION['myusername']='give your name';

当您检查用户是否存在于数据库中时,请使用此类

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


        $count=mysql_num_rows($result);

        if($count==1){
            $data= mysql_fetch_array($result);
            $_SESSION['usernmae']=$data['name_in_database'];/* put here name of column in database*/
            header("location:login_success.php");
            exit();
        }
        else {
            echo "Wrong Username or Password";
        }

如果您想打印名称,请使用

        echo  $_SESSION['usernmae'];

答案 1 :(得分:0)

要回显在会话中注册的用户的名称,只需在当前会话中读取已保存的变量:

echo $_SESSION['myusername'];

答案 2 :(得分:0)

好吧,在会话中你注册了字符串“myusername”,而不是变量$ myusername,保留了实际的用户名。

您可以执行$ _SESSION [“myusername”] = $ myusername;

答案 3 :(得分:0)

首先,在进行身份验证时,必须将用户的名字添加到会话中 e.g。

if($count==1){
      session_register("myusername");
      session_register("mypassword"); 
      $_SESSION['firstName'] = "abc"; // set the first name that you get from form or somewhere else
      header("location:login_success.php");
   }

然后你可以echo $_SESSION['firstName']从你想要的地方