从$ _GET获取价值并将其用作ID

I have problem with reciving $_GET value, I need it as a ID to update my table. Im using <a href='includes/edit_section.php?id=$id'>Change</a>. Variable $id is properly fetched and it is working, when I click on this link (because it is in table) it shows right value. But problem is in next part, when I recive it with $_GET. I tryed to make variable ($id = $_GET['id']) but there is no any change. When I execute this, nothing updates, when I replace $_GET with number it works perfectly.

My table looks like this Table(ID,Title,Paragraph,Image)

This is my code:

<?php

if(isset($_POST['submit'])) {
    $title  = $_POST['title'];
    $paragraph  = $_POST['paragraph'];

    $query = "UPDATE table SET title = '{$title}', paragraph = '{$paragraph}' WHERE id = '{$_GET['id']}' ";
    $c= mysqli_query($connection, $query);
}

This is my form

<form action="edit_section.php" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label for="title">Title</label>
        <input type="text" class="form-control" name="title">
        <label for="paragraph">Paragraph</label>
        <input type="text" class="form-control" name="paragraph">
     </div>

    <div class="form-group">
         <input class="btn btn-primary" type="submit" name="submit" value="cHANGE">
     </div>
</form>

</div>

The problem is that you need to send the id when you submit the form, a traditional way of doing it is using a hidden type input, for example <input type="hidden" name="id" value="<?= $id ?>"> And of course it is necessary to pass the id to the view where the form is rendered

So you could try this

<form action="edit_section.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="id" value="<?= $id ?>">

    <div class="form-group">
        <label for="title">Title</label>
        <input type="text" class="form-control" name="title">
     </div>

     <div class="form-group">
         <label for="paragraph">Paragraph</label>
         <input type="text" class="form-control" name="paragraph">
     </div>

    <div class="form-group">
         <input class="btn btn-primary" type="submit" name="submit" value="cHANGE">
     </div>
</form>

And when processing the form

<?php

if(isset($_POST['submit'])) {
    $id = $_POST['id'];
    $title  = $_POST['title'];
    $paragraph  = $_POST['paragraph'];

    $query = "UPDATE table SET title = '{$title}', paragraph = '{$paragraph}' WHERE id = '{$id}' ";
    $c= mysqli_query($connection, $query);
}

I separated in its respective form-group the inputs of title and paragraph

At top add

 $id = $_GET['id'];

then

basically problem is in

    <form action="edit_section.php" 

it should be

    <form action="edit_section.php?id=<?php echo $id;?>"

plus in your update query id should be ID (capital).. also check for other column names for case-sensitivity

change the action for form at HMTL like tihs

<form action="edit_section.php?<?=$_GET['id']?>" method="post" enctype="multipart/form-data">   

Add "id" as a hidden variable in your form.

Edited - Missed out an enclosing double quote for the hidden 'id' value in the form.

<form action="edit_section.php" method="post" enctype="multipart/form-data">  
    <input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">  
                                        <div class="form-group">
                                            <label for="title">Title</label>
                                            <input type="text" class="form-control" name="title">
                                            <label for="paragraph">Paragraph</label>
                                            <input type="text" class="form-control" name="paragraph">
                                         </div>

                                        <div class="form-group">
                                             <input class="btn btn-primary" type="submit" name="submit" value="cHANGE">
                                         </div>
                                    </form>

Make the following changes to your PHP script

<?php
if(isset($_POST['submit'])) {
    $title  = $_POST['title'];
    $id = $_POST['id'];
    $paragraph  = $_POST['paragraph'];

      $query = "UPDATE table SET title = '{$title}', paragraph = '{$paragraph}' WHERE id = '{$id}' ";    

      $c= mysqli_query($connection, $query);  
   }  
   ?>