Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-脚本不从URL获取id值_Php_Mysql_Get - Fatal编程技术网

PHP-脚本不从URL获取id值

PHP-脚本不从URL获取id值,php,mysql,get,Php,Mysql,Get,我完全被我的代码卡住了 <?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');

我完全被我的代码卡住了

<?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>

Ievadiet jaunās kategorijas Nosakumu

这是我从数据库更新记录的代码。
我的URL是:localhost/…/kateg_edit.php?kid=2

当我回显$id时,它表示是2。代码执行其任务,但记录未更改。

如果我硬编码$id='2'

代码起作用,ID为2的记录被更改

我卡住了为什么它不改变记录,当我得到相同的号码从网址

这是上一页的按钮标签(编辑)


谢谢你的帮助…

而不是 $id=$_GET['kid']; 试试这个 $id=$_POST['kid']; 而不是 method=“POST” 试试这个
method=“GET”

无论如何,谢谢大家的帮助

自己解决了

只需再插入一个输入字段,该字段的值来自GET,然后用于从表单获取的查询id。
“>

将这两者联系在一起的html查询在哪里?好的,那么您得到的
$\u get['kid']
正确。
$\u POST['mainit']
$\u POST['new\u kateg']
set&¬ empty?进入编辑页面的页面不相关,您需要显示可编辑条目的代码/表单。它现在位于change code下。主要问题是为什么当我设置id为2的$id='2'记录时,会从表单编辑,但如果$id=$\u get['kid'];我有echo,它说它是2,这也是为什么代码可以工作,但它不更新记录!!没有一个错误是echo为什么要更改?我需要从URL读取kid。无论如何,当我这样做时,会出现错误(未定义的索引:第10行kateg_edit.php中的kid)
<?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>";
?>