我正在创建一个页面,您可以使用php和phpmyadmin管理网站的数据。
在本部分中,我希望此文件adminform.php
能够使用会话更新一列或两列:Name
和price
。
这就是我得到的:
的login.php
<?php
ob_start();
session_start();
?>
<?
// error_reporting(E_ALL);
// ini_set("display_errors", 1);
?>
<html lang = "en">
<head>
<link href = "css/bootstrap.min.css" rel = "stylesheet">
<style>
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: black;
}
.form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
color: yellow;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
height: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="email"] {
margin-bottom: -1px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
border-color:#017572;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
border-color:#017572;
}
h2{
text-align: center;
color: yellow;
}
</style>
</head>
<body>
<h2>Enter Username and Password</h2>
<div class = "container form-signin">
<?php
$msg = '';
if (isset($_POST['login']) && !empty($_POST['username'])
&& !empty($_POST['password'])) {
if ($_POST['username'] == 'administrator' &&
$_POST['password'] == ' ') {
$_SESSION['valid'] = true;
$_SESSION['timeout'] = time();
$_SESSION['username'] = 'administrator';
echo 'You have entered valid use name and password';
header('Refresh: 2; URL = adminform.php');
}else {
$msg = 'Wrong username or password';
}
}
?>
</div> <!-- /container -->
<div class = "container" style="text-align: center;">
<form class = "form-signin" role = "form"
action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']);
?>" method = "post">
<h4 class = "form-signin-heading"><?php echo $msg; ?></h4>
<input type = "text" class = "form-control"
name = "username" placeholder = "username = administrator"
required autofocus></br>
<input type = "password" class = "form-control"
name = "password" placeholder = "password = [spatie]" required><br>
<button class = "btn btn-lg btn-primary btn-block" type = "submit"
name = "login">Login</button>
</form>
<form style="text-align:center;" action="menu.php">
<button type="submit">Back to homepage</button>
</form>
</div>
</body>
</html>
adminform.php
<!DOCTYPE html>
<html>
<link rel="stylesheet" type="text/css"href="adminform.css">
<body>
<form style="text-align:center;" action="logout.php">
<button type="submit">Logout</button>
</form>
<div class="connection">
<?php
session_start();
//make connection
mysql_connect('localhost','root','');
//select db
mysql_select_db('welkom');
$sql="SELECT * FROM `abdijbieren`";
$welkom = mysql_query($sql);
?>
<h1>Abbey beer</h1>
<table align="center" width="600" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>Tracking number</th>
<th>Name</th>
<th>Price</th>
<tr>
<?php
while($abdijbieren=mysql_fetch_assoc($welkom)) {
echo "<tr>";
echo "<td>".$abdijbieren['id']."</td>";
echo "<td>".$abdijbieren['naam']."</td>";
echo "<td>".$abdijbieren['prijs']."</td>";
echo "</tr>";
}//end while
?>
</table>
</div>
<div class="php">
<?php
if ( ! empty($_POST))
{
$mysqli = new mysqli('localhost','root','','welkom');
if ($mysqli ->connect_error)
{
die('connect error: '. $mysqli->connect_errno . ': ' . $mysqli->connect_error);
}
$sql = "UPDATE abdijbieren SET naam='{$mysqli->real_escape_string($_POST['naam'])}' WHERE id={$mysqli->real_escape_string($_POST['volg'])};";
$insert = $mysqli->query($sql);
if ($insert)
{
echo "<span style='color:yellow;text-align:center;'>Update succesful!";
}
else
{
die("<span style='color:yellow;text-align:center;'>Error: {$mysqli->errno} : {$mysqli->error}");
}
$mysqli->close();
}
?>
<br>
</div>
<h1 style="text-align:center;">Update</h1>
<div class="form">
<form method="post" action="">
<input style="font-size:120%" name="track" type="text" placeholder="tracking number to select" required><br>
<input style="font-size:120%" name="name" type="text" placeholder="name drink" required><br>
(input style="font-size:120%" name="prijs" type="text" placeholder="prijs" required)<br>
<input style="font-size:120%" type="submit" value="Update">
</form>
<?php
if ( ! empty($_POST))
{
$mysqli = new mysqli('localhost','root','','welkom');
if ($mysqli ->connect_error)
{
die('connect error: '. $mysqli->connect_errno . ': ' . $mysqli->connect_error);
}
$sql = "UPDATE abdijbieren SET prijs='{$mysqli->real_escape_string($_POST['prijs'])}'+' EUR ' WHERE id={$mysqli->real_escape_string($_POST['volg'])};";
$insert = $mysqli->query($sql);
if ($insert)
{
echo "<span style='color:yellow;text-align:center;'>Update succesful!";
}
else
{
die("<span style='color:yellow;text-align:center;'>Error: {$mysqli->errno} : {$mysqli->error}");
}
$mysqli->close();
}
?>
<form method="post" action="">
<input style="font-size:120%" name="track" type="text" placeholder="tracking number to select" required><br>
<input style="font-size:120%" name="prijs" type="text" placeholder="price" required><br>
<input style="font-size:120%" type="submit" value="Update">
</form>
</div>
</body>
</html>
Logout.php
<?php
session_start();
unset($_SESSION["username"]);
unset($_SESSION["password"]);
echo 'You just logged out.';
header('Refresh: 2; URL = header.html');
?>
我的问题是我不知道如何在adminform.php中使用我的会话。我知道它是什么,它在编写管理文件时非常有用,尽管我缺乏如何使用它的知识。
在adminform.php
:
我添加tracking number
以选择colomn中的值。
此代码中还有另一个问题,即我创建了多个mysql-connections和sql,导致我的程序混乱。也许是因为提交具有相同价值或其他内容。
我很难为网站创建管理文件,我需要您的帮助才能改进。任何通知或建议将不胜感激。