我正在学习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,用户名,密码,名称,电子邮件。
谢谢
答案 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方法。