2017-01-26 75 views
0

我完全被我的代碼困住了。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>"; 
?> 

感謝您的幫助......

+0

Wheres html for you get query which which two tie together? – Option

+0

好吧,讓你得到'$ _GET ['kid']'正確。$ _POST ['mainit']'和'$ _POST ['new_kateg']'set && not empty? –

+0

要訪問編輯頁面的頁面不相關,您需要顯示可以編輯條目的代碼/表單 – jeroen

回答

0

ANYWAY THANKS FOR幫助大家!

已解答 BY MYSELF!

剛剛從GET中插入了一個帶有值的輸入字段,然後用於從窗體中獲取的查詢ID。 「>

0

,而不是 的$ id = $ _GET [ '孩子']; 試試這個 $ id = $ _POST ['kid'];的 代替 方法= 「POST」 試試這個方法 = 「GET」

+0

爲什麼要改變?我需要從URL讀取孩子。無論如何,當我這樣做的錯誤(未定義的索引:在10行kateg_edit.php的孩子) – Janis