PHP:带有电子邮件和密码的登录表单,但在登录时显示名字?

PHP:带有电子邮件和密码的登录表单,但在登录时显示名字?,php,html,forms,function,mysqli,Php,Html,Forms,Function,Mysqli,我是新的php编码和软件社区,所以请容忍我。我有一个功能正常的注册系统(连接到数据库)和一些功能正常的登录表单,但我如何才能使表单的两个会话都显示/使用关联帐户的名字 更多说明:使用电子邮件和密码登录,您将进入主页,系统将按您的名字向您发送地址。当你注册时,你会被引导到另一个页面,系统会用你的名字称呼你 我将在登录部分提供帮助,因此以下是相关代码: 登录表单(在标题php上;与我的索引和注册变量分开): 最后是home.php;我希望成功登录后将注册用户定向到的位置: <?php sess

我是新的php编码和软件社区,所以请容忍我。我有一个功能正常的注册系统(连接到数据库)和一些功能正常的登录表单,但我如何才能使表单的两个会话都显示/使用关联帐户的名字

更多说明:使用电子邮件和密码登录,您将进入主页,系统将按您的名字向您发送地址。当你注册时,你会被引导到另一个页面,系统会用你的名字称呼你

我将在登录部分提供帮助,因此以下是相关代码:

登录表单(在标题php上;与我的索引和注册变量分开):

最后是home.php;我希望成功登录后将注册用户定向到的位置:

<?php session_start();
 include ( "./inc/connect.inc.php");

 echo $_SESSION["email"];
 ?>


抱歉,如果有任何东西被认为是膨胀的。谢谢。

您需要使用
session\u start()
在任何您想写入或读取会话变量的地方启动会话

只需在index.php文件的顶部添加
session\u start()


另外,请确保在会话开始之前未设置输出,否则会出现错误。

您需要在任何要写入或读取会话变量的位置使用
session\u start()
启动会话

只需在index.php文件的顶部添加
session\u start()


另外,请确保在会话开始之前未设置输出,否则会出现错误。

首先,您必须在要读取或写入会话变量的每个页面顶部(在任何其他输出之前)启动会话 this=>
session\u start()
并且在代码中,您使用未设置的变量($fname)设置了$\u session['email'],您可以通过编辑查询来完成此操作

更新

请尝试此查询

$logquery=“从电子邮件='$email\u login'和密码='$pass\u login'限制1'的用户中选择id、名字”
然后

然后在您的home.php中

 <?php session_start();
 include ( "./inc/connect.inc.php");
 echo     $_SESSION["first_name"]; ?>

首先,您必须在每个页面的顶部(在任何其他输出之前)启动会话,在该页面上读取或写入会话变量 this=>
session\u start()
并且在代码中,您使用未设置的变量($fname)设置了$\u session['email'],您可以通过编辑查询来完成此操作

更新

请尝试此查询

$logquery=“从电子邮件='$email\u login'和密码='$pass\u login'限制1'的用户中选择id、名字”
然后

然后在您的home.php中

 <?php session_start();
 include ( "./inc/connect.inc.php");
 echo     $_SESSION["first_name"]; ?>



您是否使用会话启动了所有页面的会话?并非所有页面都启动了会话,只是用户将被定向到的页面。然后出现了问题。答案如下。。。。。。。。。。。我会回到我的卡布奇诺。你在吃什么,山姆@JayBlanchard和。您是否使用会话为所有页面启动了会话?不是在所有页面上,只是用户将被定向到的页面。然后出现问题。答案应如下。。。。。。。。。。。我会回到我的卡布奇诺。你在吃什么,山姆@JayBlanchard和。您是否使用会话为所有页面启动了会话?不是在所有页面上,只是用户将被定向到的页面。然后出现问题。答案应如下。。。。。。。。。。。我会回到我的卡布奇诺。你在吃什么,山姆@JayBlanchard和.我实现了您的建议,但是当应该投影登录用户的第一个_名称(假设“username”是您的替代者)时,用户的电子邮件仍然被投影。是否有一种方法,如您所述,让我能够从数据库中检索用户的名字,该数据库对应于他们通过表单发送的电子邮件/通行证?谢谢。我对$logquery进行了编辑,并包含了$fname变量(正如您所提到的,这是必需的),但无法从其对应行检索第一个\u名称。再次感谢。您的数据库中有哪些列的名称?我的意思是身份证,电子邮件,密码等。。。你能列出它们吗?按顺序,我的列是:id、电子邮件、出生日期、密码、名字、姓氏、性别、注册日期和激活。尝试此查询
$logquery=“从电子邮件=“$email\u login”和密码=“$pass\u login”限制1”的用户中选择id、名字”
;然后$sqli=mysqli\u查询($con,$logquery)$userCount=mysqli_num_行($sqli);//如果($userCount==1){while($row=mysqli_fetch_array($sql)){$id=$row[“id”];$_SESSION[“first_name”]=$row[“first_name”];}}}头(“location:home.php”);退出();我实现了您的建议,但是当应该投影登录用户的第一个名称(假设“username”是您的替代名称)时,用户的电子邮件仍然被投影。是否有一种方法,如您所述,让我能够从数据库中检索用户的名字,该数据库对应于他们通过表单发送的电子邮件/通行证?谢谢。我对$logquery进行了编辑,并包含了$fname变量(正如您所提到的,这是必需的),但无法从其对应行检索第一个\u名称。再次感谢。您的数据库中有哪些列的名称?我的意思是身份证,电子邮件,密码等。。。你能列出它们吗?按顺序,我的列是:id、电子邮件、出生日期、密码、名字、姓氏、性别、注册日期和激活。尝试此查询
$logquery=“从电子邮件=“$email\u login”和密码=“$pass\u login”限制1”的用户中选择id、名字”
;然后$sqli=mysqli\u查询($con,$logquery)$userCount=mysqli_num_行($sqli);//如果($userCount==1){while($row=mysqli_fetch_数组($sql)){$id=$row[“id”];$\u会话[“f”),则计数返回的行数
$sqli = mysqli_query($con, $logquery); $userCount = mysqli_num_rows($sqli); // Count number of rows returned  
 if ($userCount == 1) { 
     while( $row = mysqli_fetch_array($sql)) {
         $id = $row["id"];
         $_SESSION["first_name"] = $row["first_name"];
     }
 } 
header("location: home.php"); exit();
 <?php session_start();
 include ( "./inc/connect.inc.php");
 echo     $_SESSION["first_name"]; ?>