Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从当前会话的数据库中获取用户名_Php - Fatal编程技术网

Php 从当前会话的数据库中获取用户名

Php 从当前会话的数据库中获取用户名,php,Php,因此,我们已经在网络上搜索了一段时间,并尝试了以下示例 我想做的是让用户登录,然后启动一个会话,我已经测试过了,它确实可以工作,但是我在从数据库获取用户名或任何其他数据项时遇到了问题 用户使用用户名和密码登录。然后,他们被引导到另一个带有此代码的页面 <?php session_start(); if(!session_is_registered(user_name)); $con = mysql_connect("****","****","****"); i

因此,我们已经在网络上搜索了一段时间,并尝试了以下示例

我想做的是让用户登录,然后启动一个会话,我已经测试过了,它确实可以工作,但是我在从数据库获取用户名或任何其他数据项时遇到了问题

用户使用用户名和密码登录。然后,他们被引导到另一个带有此代码的页面

<?php

session_start();
if(!session_is_registered(user_name));

$con = mysql_connect("****","****","****");
            if (!$con)
              {
              die('Could not connect: ' . mysql_error());
              }
       //Finds database
            mysql_select_db("****", $con);

$result = mysql_query("SELECT * FROM fyp_users;");


$first_name = $_SESSION['first_name'];
$_SESSION['views']=200;
header('location:../profile.php');


?>

会话视图只是一个测试,它可以在用户登录时查找并显示号码。然后,我尝试进行第一次命名会话

这是它随后重定向的页面

<?php 
$con = mysql_connect("****","****","****");
            if (!$con)
              {
              die('Could not connect: ' . mysql_error());
              }
       //Finds database
            mysql_select_db("****", $con);
?>
<?php
session_start( );

//$result = mysql_query("SELECT * FROM fyp_users;");

?>  

一些HTML

<?php

echo "Pageviews=". $_SESSION['views'];
echo "Welcome=" . $_SESSION['$first_name']


?>

它怎么没有显示名字,我不知道这是不是一个简单的修复与否,有人能帮我吗

--------------------------------------------更新---------------------------------------

HTML表单

<div class="login">
<form id="login" method="post" action="includes/checklogin.php">
<p>Login</p>
<p>Username</p>
<input name="user_name" id="user_name">
<p>Password</p>
<input name="password" id="password" type="password">
</br>
<input type="submit" name="Submit" value="Login">
</form>
</div>
<!--<img src="images/logo.png" alt="The Community">-->
</div>

登录

用户名

密码


checklogin.php

<?php

$con = mysql_connect("****","***","***");
            if (!$con)
              {
              die('Could not connect: ' . mysql_error());
              }
       //Finds database
            mysql_select_db("****", $con);

$user_name=$_POST['user_name']; 
$password=$_POST['password']; 

$user_name = stripslashes($user_name);
$password = stripslashes($password);
$user_name = mysql_real_escape_string($user_name);
$password = mysql_real_escape_string($password);
$sql="SELECT * FROM fyp_users WHERE user_name='{$user_name}' and       password='{$password}'";
$result=mysql_query($sql);



$count=mysql_num_rows($result);

if($count==1) {

session_register("user_name");
session_register("password"); 
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>

?>

因为我认为您正在使用升级版的php,所以还有一个原因:

session_is_registered(user_name)
从PHP 5.3.0开始,此函数已被弃用,并从PHP 5.4.0开始删除。

资料来源:

?>

因为我认为您正在使用升级版的php,所以还有一个原因:

session_is_registered(user_name)
从PHP 5.3.0开始,此函数已被弃用,并从PHP 5.4.0开始删除。


来源:

在您的代码中,在第一行包含一个会话开始。 如果代码使用会话,则必须启动会话。它所做的是,如果存在现有会话,则恢复该会话;如果没有已存在的会话,则启动新的新会话

<?php
session_start();


echo "Pageviews=". $_SESSION['views'];
echo "Welcome=" . $_SESSION['first_name'];


?>

在代码中,在第一行包含一个会话开始。 如果代码使用会话,则必须启动会话。它所做的是,如果存在现有会话,则恢复该会话;如果没有已存在的会话,则启动新的新会话

<?php
session_start();


echo "Pageviews=". $_SESSION['views'];
echo "Welcome=" . $_SESSION['first_name'];


?>

您还可以在下一页启动会话 使用


您还可以在下一页开始会话 使用



$\u会话['first\u name']
而非
$\u会话['first\u name']
,您需要调用
会话启动(),在上面的代码中,我看不到您的用户登录到您的页面,没有MySQL查找尝试登录的用户,也没有代码将该用户分配到会话。您唯一的MySQL查询是返回所有用户的查询。啊,这就是问题所在吗?老实说,我认为这会起作用。这可能是个问题,但在看不到其余代码的情况下,我不能说。登录表单
登录用户名密码
$会话['first\u name']
而不是
$会话['first\u name']
,您需要调用
会话启动(),在上面的代码中,我看不到您的用户登录到您的页面,没有MySQL查找尝试登录的用户,也没有代码将该用户分配到会话。您唯一的MySQL查询是返回所有用户的查询。啊,这就是问题所在吗?老实说,我认为这会起作用。这可能是个问题,但在没有看到你的其他代码的情况下,我不能说。登录表单
登录用户名密码
请检查你的时间,dumboi在你离开之前给出了答案@Prix@Prix我为我的粗鲁行为道歉还是没有希望,我已经用更多的代码更新了我原来的帖子。请检查一下你的时间。在你回答之前,dumboi给出了答案@Prix@Prix我为我的粗鲁行为道歉,仍然没有希望,我已经用更多的代码更新了我的原始帖子。只要它是正确的,我不在乎。OP只缺少会话\u start()。我把它包括在这里。只要它是正确的,我不在乎。OP只缺少会话\u start()。我把它包括在这里。
$first_name = $_SESSION['first_name'];
$_SESSION['views']=200;
header('location:../profile.php');

endif; // here is end if
session_is_registered(user_name)
<?php
session_start();


echo "Pageviews=". $_SESSION['views'];
echo "Welcome=" . $_SESSION['first_name'];


?>
session_start(); 

echo "Pageviews=". $_SESSION['views'];
echo "Welcome=" . $_SESSION['first_name']