Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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_Mysql - Fatal编程技术网

Php 显示当前登录用户的配置文件

Php 显示当前登录用户的配置文件,php,mysql,Php,Mysql,我一直在为学生注册编写代码。我完成了登录的编码 我遇到的问题是在文本框中显示用户的个人资料:学生姓名、lname、课程、性别和年级。我使用MySQL作为我的后端 我的代码如下: <?php // connects to the database $mysqli = new mysqli("localhost", "root", ""); $query = 'SELECT fname, lname, program, gender, year FROM students WHERE f

我一直在为学生注册编写代码。我完成了登录的编码

我遇到的问题是在文本框中显示用户的个人资料:学生姓名、lname、课程、性别和年级。我使用MySQL作为我的后端

我的代码如下:

<?php 

// connects to the database
$mysqli = new mysqli("localhost", "root", "");

$query = 'SELECT fname, lname, program, gender, year FROM students WHERE fname =     '.$_SESSION['myusername'];
$mysqli->query($query);


echo "<div align=\"center\">";
echo "<br />Your <b><i>Profile</i></b> is as follows:<br />";
echo "<b>First name:</b> ". $_POST['fname'];
echo "<br /><b>Last name:</b> ".$_POST['lname'];
echo "<br /><b>Program:</b> ".$_POST['program'];
echo "<br /><b>Year:</b> ".$_POST['year'];
echo "<br /><b>Gender:</b> ".$_POST['gender'];
echo "</div>";
?>

这是我的和代码。

请在会话中添加密码。

给您:

<?php 
session_start();

// connects to the database
$mysqli = new mysqli("localhost", "root", "");

$query = "SELECT fname, lname, program, gender, year FROM students WHERE fname = '".$_SESSION['myusername']."'";
if($result = $mysqli->query($query))
{
    while($row = $result->fetch_assoc())
    {
        echo "<div align=\"center\">";
        echo "<br />Your <b><i>Profile</i></b> is as follows:<br />";
        echo "<b>First name:</b> ". $row['fname'];
        echo "<br /><b>Last name:</b> ".$row['lname'];
        echo "<br /><b>Program:</b> ".$row['program'];
        echo "<br /><b>Year:</b> ".$row['year'];
        echo "<br /><b>Gender:</b> ".$row['gender'];
        echo "</div>"   
    }
    $result->free();
}
else
{
    echo "No results found";
}
?>

首先,在PHP将任何内容放入$\会话之前,需要通过调用session\u start来启动会话。除此之外,您的查询将不会运行,因为用户名周围没有引号。然后,您永远不会读取查询结果并在输出中使用它。遗漏太多,无法真正回答这个问题;您尚未编写代码。很抱歉,我忘记了会话启动功能,我缺少的是在文本框上显示每个字段。我将其留空一段时间,您可以使用fetch\u Query代替fetch_assoc@SandeepTiwari:在会话中添加密码的基本原理是什么?密码等敏感数据不应存储在会话中。其次,我认为mysqli没有fetch_查询函数..我尝试了上面的代码,但它给了我一个错误:致命错误:在C:\xampp\htdocs\say\students\profilestudent.php的第8行调用非对象上的成员函数fetch_assoc在我的查询中插入了一个引号。更新答案。现在试试。嗨,这里的开口支架在哪里$query=从fname='的学生中选择fname、lname、program、gender、year.$\u SESSION['myusername'];grrr…似乎是我睡觉的时候了!!!从答案中删除。只需从字符串中删除括号。这是因为您的查询没有给您任何结果。因此$results为空,您无法对其调用fetch_assoc。打印查询并对数据库运行它,然后查看是否得到任何结果