전적으로 내 코드가 붙어 있습니다.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>";
?>
감사입니다 이전 페이지 ...
알의 html로 당신은'$ _GET 얻을 수 있도록 [ '아이'] 두 함께? – Option
확인 묶어 쿼리를 얻기위한'올바른. $ _POST [ 'mainit']'와'$ _POST'인가 [ 'new_kateg']'set && 비어 있지 않습니까? –
편집 페이지로 연결되는 페이지가 관련이 없으므로 항목을 편집 할 수있는 코드/양식을 표시해야합니다. – jeroen