HTML/PHP/MySQL实现登录界面、连接数据库、数据库查询、数据在页面展示

郎家岭伯爵 2021年09月10日 441次浏览

背景

帮女朋友做作业,需要用 xampp 实现网站建设,要求建立后台数据库、使用PHP实现页面查询、页面内容更新等功能。
本人自查自学,使用了较多的基础知识点,在此处记录下。

代码实现

以下涉及数据库连接、数据库查询、数据库字段设置、文件跳转、文件变量请自行根据自己情况进行设置。
代码仅实现登录、连接数据库、数据库查询等核心功能,页面美化功能部分代码不在此处展示。如有需要请自行进行美化。

代码文件1:HTML登录界面代码

<html>
<head>
<title>Login</title>
</head>
<body>
<fieldset>
<legend>Please login!</legend>

<form action="login.php" method="post" target=loginExample> <!跳转到PHP界面验证账号密码是否正确>

Student ID: <input type="text" name="bixiaoya"/><BR>
Password: <input type="password" name="woaini"/><BR>
<input type="submit" name = 'submit' value='Submit'><input type="reset" />
</form>
</fieldset>

</body>
</html>

代码文件2:PHP页面验证账号密码及跳转到下一级文件

<?php

if(isset($_POST['submit'])){
	$username = $_POST['bixiaoya'];
	$password = $_POST['woaini'];
	if($username != 'bixiaoya'){
		print "<font color = red>Oohps, your user name is NOT correct!</font><BR><BR>";
	}elseif($password != 'woaini'){
		print "<font color = red>Oohps, your password is NOT correct!</font><BR><BR>";
	}else{
		//$_SESSION['username'] = $username;
		//$_SESSION['password'] = $password;
		print "This is my family!<BR><BR>";
		print "<a href='FamilyInfoOutput.php'>MoreInfo.</a>";//密码验证正确后跳转到数据查询/显示页面	
	}
}
?>

代码文件3:数据查询/显示功能点实现

<?php
include_once("FamilyInfoInput.php"); //知识点:PHP文件中嵌套其它PHP文件
$sql ="SELECT * FROM `testtable` WHERE `testtable`.`name` = '$q';"; //知识点:将变量q传入SQL语句,等同于将变量q传入字符串中,因为SQL语句也是一串字符。
//echo $sql;
$result = $conn->query($sql);
if ($result->num_rows > 0) 
{
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "姓名: " . $row["name"];
        echo "年龄: " . $row["sex"];
        echo "性别: " . $row["age"];
        echo "籍贯: " . $row["addre"];
    }
}
$conn->close();
?>

代码文件4:已嵌套入文件3中,主要用以实现连接数据库及查询页面中的下拉选项框内容

<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "mysql";
 
// 创建连接
$conn = new mysqli($servername, $username, $password,$database);
 
// 检测连接
if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
} 
echo "This is my family!";
echo '<br/>';

$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';
$sql_name ="SELECT name FROM `testtable`;";
$result_name = $conn->query($sql_name);
if ($result_name->num_rows > 0) 
{// 输出数据
	
?>
	
		<form action="" method="get"> 
		<select name="q">
		<option value="">选择一位成员:</option>
		<?php
		while($row_name = $result_name->fetch_assoc()) 
		{
		?>
		<option value=<?=$row_name["name"]?>> <?=$row_name["name"]?></option>  <!知识点:在HTML中直接使用PHP的变量>
		<?php    //echo "姓名: " . $row["name"];
		}
		?>
		</select>
		<input type="submit" value="提交">
		</form>
	<?php
	//echo $q;
	echo " $q :详细信息如下:"; //知识点:此处输出只能用双引号,单引号会输出字符串$q,而不是变量q的值。
	echo '<br/>';
	echo '<br/>';
	//require_once 'test2.php'; //知识点:PHP文件中嵌套其它PHP文件
		} 
else {
    echo "0 结果";
}
$conn->close();
?>