Php 在受保护页面上使用SQL编辑数据库中的文本
我想为自己创建一个小小的CMS,这样我就可以在一个受保护的页面上编辑我的文本内容。我已经有了一个页面,可以在文本区域(test.php)中看到我的文本,但是当我点击编辑按钮时,它就不起作用了 谁能帮我?:) ps,为安全起见,数据库配置已被删除 //test.phpPhp 在受保护页面上使用SQL编辑数据库中的文本,php,mysql,sql,database,Php,Mysql,Sql,Database,我想为自己创建一个小小的CMS,这样我就可以在一个受保护的页面上编辑我的文本内容。我已经有了一个页面,可以在文本区域(test.php)中看到我的文本,但是当我点击编辑按钮时,它就不起作用了 谁能帮我?:) ps,为安全起见,数据库配置已被删除 //test.php <code> <?php // CONNECT TO THE DATABASE $DB_NAME = ''; $DB_HOST = ''; $DB_USER = ''; $DB_PA
<code>
<?php
// CONNECT TO THE DATABASE
$DB_NAME = '';
$DB_HOST = '';
$DB_USER = '';
$DB_PASS = '';
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
echo'<h1> All users</h1><br>';
// A QUICK QUERY ON A FAKE USER TABLE
$query = "SELECT * FROM `categorien` WHERE `categorie_id`";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
// GOING THROUGH THE DATA
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo'
<p>
<form method="post" action="edit.php">
<b>Title:</b> '.$row['categorie_naam']. '</td><br>
<textarea name="categorie_uitleg">'.$row['categorie_uitleg'].'</textarea><br />
<INPUT type="hidden" name="id" value='.$row['categorie_id'].'>
<INPUT type="submit" name="edit" value="edit">
</form>
</p>
';
}
}
else {
echo 'NO RESULTS';
}
// CLOSE CONNECTION
mysqli_close($mysqli);
?>
</code>
//edit.php
<?php
session_start();
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE `categorien` SET `categorie_uitleg` = '". $_POST['categorie_uitleg']) ."' WHERE 1";
if ($conn->query($sql) === TRUE) {
header("Location: test.php");
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
您是否收到错误消息
我注意到,categorie\u uitleg
列没有得到在文本区域中编辑的新值,表名在引号(')中,而不是在记号(`)中:
应该是这样的:
$query = "UPDATE `categorien` SET `categorie_uitleg` = '". $_POST['categorie_uitleg']) ."' WHERE 1";
注意:此查询将更新categorien
表中的所有行
根据评论进行编辑
<textarea>'.$row['categorie_uitleg'].'</textarea><br />
。$row['categie\u uitleg'].
名称属性应添加到
。$row['categie\u uitleg'].
我可以马上看到几个问题。当你点击时,你是否收到“忘记输入消息”错误?是的,我确实收到了这个错误!!K首先,您的textarea元素没有名称,您需要给它一个名称:
将是一个好的开始。然后检查下面的答案,以了解有关更新的线索查询您错过了缺少的textarea
元素名称。编辑,我想你已经得到了大部分答案。现在快。。。您的前25个销售代表积分已在线@Tim;)我添加了textarea名称和代码:$query=“UPDATE'categorien”SETcategorie\u uitleg
=”$_POST['categorie_uitleg'])。“'WHERE1
”;但现在我得到的只是一张空白页!!:(这就是为什么这只是大部分答案;)快速搜索@W3Schools,你会发现你的错误。别忘了接受这个答案,并给Tim他的代表(一旦他完成最后编辑);)
<textarea>'.$row['categorie_uitleg'].'</textarea><br />
<textarea name="categorie_uitleg">'.$row['categorie_uitleg'].'</textarea><br />