我完全被我的代碼困住了。PHP - 腳本不從URL獲得id值
<?php
$id = $_GET['kid'];
if (isset($_POST['mainit'])) {
if(!empty($_POST['new_kateg'])){
$jaunakategorija = $_POST['new_kateg'];
$kmst = $conn->prepare('UPDATE kategorijas SET kat_vards=:katvards WHERE kat_id=:katid');
$kmst->bindParam(':katvards', $jaunakategorija);
$kmst->bindParam(':katid', $id);
$kmst->execute();
if($kmst->execute()){
header('Location: new_kateg.php');
} else {
$message = '<p class="red">Kļūda </p>';
}
} else {
$message = '<p class="red">Lauks nedrīkst būt tukšs! </p>';
}
}
?>
<form action="kateg_edit.php" method="POST">
<p>Ievadiet jaunās kategorijas nosaukumu</p>
<?php echo $id; ?>
<input type="text" name="new_kateg" placeholder="Ievadiet nosaukumu">
<input type="submit" name="mainit" value="Mainīt!">
</form>
這是我從數據庫更新記錄的代碼。
我的URL是:localhost /....../ kateg_edit.php? kid = 2
當我回顯$ id它說它是2.代碼做它的工作,但記錄沒有改變。
如果我硬編碼$ id ='2';
代碼作品和ID爲2的記錄已更改。
我卡住了爲什麼它不改變記錄,當我從URL獲得相同的數字!
這是以前的頁面裏是按鈕labot(編輯)
<?php
$query = $conn->prepare("SELECT * FROM kategorijas");
$query->execute();
$result = $query;
echo
"<table class='table-fill'>
<tr>
<th>ID</th>
<th>Kategorijas nosaukums</th>
<th style='text-align:center;'>Darbība</th>"
;
foreach($result as $row)
{
echo "<tr>";
echo "<td>" . $row['kat_id'] . "</td>";
echo "<td>" . $row['kat_vards'] . "</td>";
echo '<td style="text-align:center;"><a href="kateg_edit.php?kid=' . $row['kat_id'] . '">Labot</a>
<a href="new_kateg.php?deleteid=' . $row['kat_id'] . '">Dzēst</a></td>';
}
echo "</tr>";
echo "</table>";
?>
感謝您的幫助......
Wheres html for you get query which which two tie together? – Option
好吧,讓你得到'$ _GET ['kid']'正確。$ _POST ['mainit']'和'$ _POST ['new_kateg']'set && not empty? –
要訪問編輯頁面的頁面不相關,您需要顯示可以編輯條目的代碼/表單 – jeroen