2017-01-26 64 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