MySQL PHP-提取数据并以HTML格式显示

时间:2018-08-03 21:56:05

标签: php html mysql fetch

我正在学习PHP,我想进行基本登录。登录后,我想显示用户的基本信息(在此示例中,仅显示名称),但是由于某种原因,我没有显示名称。你能帮我吗?

<?php
include "config.php";

// Session
if(!isset($_SESSION['uname'])){
    header('Location: login.php');
}
// Logout
if(isset($_POST['but_logout'])){
    session_destroy();
    header('Location: login.php');
}
// CHECK THIS
$sql_query = "select * from users where username='".$uname."'";
$result = mysqli_query($con,$sql_query);
$row = mysqli_fetch_array($result);
?>

<!doctype html>

<html>
    <head></head>
    <body>
        <form method='post' action="">
            <h1>Dashboard</h1>
            <div>
                <!-- CHECK THIS -->
                <h2>Hello <?php echo $row['name']; ?></h2>
            </div>
            <div>
                <input type="submit" value="Logout" name="but_logout">
            </div>
        </form>
    </body>
</html>

登录,注销和会话已在工作。 该表结构包含一个名为users的表,其列为:id,用户名,密码,名称,电子邮件。

谢谢

2 个答案:

答案 0 :(得分:0)

$uname未定义

尝试:第14行的$_SESSION['uname']

您总是可以调试此功能,例如var_dump($ sql_query)并在phpmyadmin中执行

如果要使用$row['name'],则必须具有assoc数组:$row = mysqli_fetch_assoc($result);

答案 1 :(得分:0)

这是一个非常基本的示例: 首先,您必须打开服务器和数据库的连接,创建一个php文件,调用“ CONEXION_DB.php”并添加下一个代码:

<?php
    function ConexionDBServer($DB_Con)
    {
        $servername = "your_server";
        $username = "your_user";
        $password = "your_password";

        $conDB = mysqli_connect($servername, $username, $password);
        if (!$conDB)
        {        
            die('Could not connect: ' . mysqli_error());
            return -1;
        }
        $DB = mysqli_select_db($conDB, $DB_Con);
        if (!$DB)
        {
            echo "<SCRIPT LANGUAGE='javascript'>
                    alert('CONEXION WITH DB FAIL');
                </SCRIPT>";
            return -1;
        }
        return $conDB;
    }
?>

现在创建您的“主页”页面,调用“ main_page.php”,然后添加:

<?php
    echo "example mysql </br>";
?>
<!doctype html>
<html>
    <head></head>
    <body>
        <form action="<?php echo $PHP_SELF?>" method="POST">  
            <input size=10 maxlength="150" type="text" name="txtUsuario">  
            <input type="submit" value="Login" name="cmdLogin">
        </form>
        <?php
            if($_POST[txtUsuario])
            {
                $sql_query = "select * from users where username='" . $_POST[txtUsuario] . "'";
                require_once('CONEXION_DB.php');
                $con=ConexionDBServer("name_of_your_db");
                $result = mysqli_query($con,$sql_query);
                while($row = mysqli_fetch_array($result))
                {
                    echo $row['username'] . "</br>";
                }
                mysqli_close($con);
            }
        ?>
    </body>
</html>

如您所见,为了从表单中捕获输入条目,必须使用$ _POST方法。