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']
,您需要调用会话启动()詹姆斯,你的登录HTML和代码在哪里?如果(!session_已注册(user_name)),则这也是不需要的行代码>,在上面的代码中,我看不到您的用户登录到您的页面,没有MySQL查找尝试登录的用户,也没有代码将该用户分配到会话。您唯一的MySQL查询是返回所有用户的查询。啊,这就是问题所在吗?老实说,我认为这会起作用。这可能是个问题,但在看不到其余代码的情况下,我不能说。登录表单登录用户名密码
$会话['first\u name']
而不是$会话['first\u name']
,您需要调用会话启动()詹姆斯,你的登录HTML和代码在哪里?如果(!session_已注册(user_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']