我正在尝试建立一个系统,在这个系统中我有一个用户在表单中生成的网页内容,保存在数据库中,列出数据库中存在的所有页面,并通过单击该列表编辑所需的页。
唯一不起作用的是编辑部分。似乎我无法从数据库中获取数据,因为当我点击页面进行编辑时,"模板"表格中没有任何内容。
以下是代码:
包含数据库中现有页面列表的页面:
<?php
require_once "../scripts/conector.php";
if (!$_GET['pid']) {
$pageid = '1';
} else {
$pageid = preg_replace('/[^0-9]/', "", $_GET['pid']);
}
$sqlCommand = "SELECT id, producent FROM pages WHERE showing='1' ORDER BY id ASC";
$query = mysqli_query($myConnection, $sqlCommand) or die('Error: ' . mysqli_error($myConnection));
$producentnamn = '';
while ($row = mysqli_fetch_array($query)) {
$pid = $row["id"];
$producent = $row["producent"];
$producentnamn .= '<a href="edit_page.php?pid=' . $pid . '">' . $producent . '</a>';
}
mysqli_free_result($query);
?>
<form id="form1" name="form1" method="post" action="edit_page.php">
<input type="submit" name="button2" id="button2" class="botao" value="Redigera" />
<input name="pid" type="text" id="pid" value="<?php echo $producentnamn; ?>"/>
</form>
edit_page.php
<?php
$pid = ereg_replace("[^0-9]", "", $_POST['pid']);
include_once "../scripts/conector.php";
$sqlCommand = "SELECT pagetitle, linklabel, evenemang, presentation, producent, pagebody, mapa FROM pages WHERE id='$pid' LIMIT 1";
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error());
while ($row = mysqli_fetch_array($query)) {
$pagetitle = $row["pagetitle"];
$linklabel = $row["linklabel"];
$evenemang = $row["evenemang"];
$presentation = $row["presentation"];
$producent = $row["producent"];
$pagebody = $row["pagebody"];
$mapa = $row["mapa"];
}
mysqli_free_result($query);
?>
<label>Map</label>
<textarea name="mapa" id="mapa"><?php echo $mapa; ?></textarea>
那么,我在这里做错了什么?非常感谢提前!
答案 0 :(得分:1)
尝试更改此行
<input name="pid" type="text" id="pid" value="<?php echo $producentnamn; ?>"/>
到
<input name="pid" type="text" id="pid" value="<?php echo $pid; ?>"/>
因为您将<a href="edit_page.php?pid=' . $pid . '">
传递给表单。我认为在db中不存在。您必须将页面的值/ ID传递给表单。