将id变量传递给数据库以编辑信息的问题

问题描述:

I am trying to pass on the value for an event id, so when the user presses the edit button, it passes the event id and edits that specific event they pressed edit on.

database layout: userid, eventname, venue, date, name, eventid

trying to edit the event in the databse by using:

WHERE eventid='12' "; 

calling it by the id number, then appending to the database where the eventid equals that number

file: editevent.php:

<?php

    include 'dbh.php';
    include_once 'header.php';
    session_start();

    if(!isset($_SESSION['u_uid'])){
        header("Location:signup.php");
    }

?>

<section class="main-container">

<h1>test</h1>

<?php

    $eventname = mysqli_real_escape_string($conn, $_POST['eventname']);
    $venue = mysqli_real_escape_string($conn, $_POST['venue']); //last
    $date = mysqli_real_escape_string($conn, $_POST['date']); //email
    $name = mysqli_real_escape_string($conn, $_POST['name']);   //uid

    echo "<form method='POST' action='includes/editevents.inc.php'>
        <input type ='text' name='eventname' placeholder='event name'>
        <input type ='text' name='venue' placeholder='event name'>
        <input type ='date' name='date' placeholder='event date'>
        <button type='submit' name='eventsubmit'>Submit</button>
        </form>";
?>

</section>

file: editevents.inc.php:

<?php

 include 'dbh.inc.php';

    session_start();
    if (isset($_POST['eventsubmit'])) {
        $eventname = $_POST['eventname'];
        $venue = $_POST['venue'];
        $date = $_POST['date'];
        $name = $_POST['name'];

        $eventname = mysqli_real_escape_string($conn, $_POST['eventname']);
        $venue = mysqli_real_escape_string($conn, $_POST['venue']); 
        $date = mysqli_real_escape_string($conn, $_POST['date']); 
        $name = mysqli_real_escape_string($conn, $_POST['name']);

        $sql = "UPDATE events SET eventname='$eventname' WHERE eventid='12' ";
        mysqli_query($conn, $sql);
        header("Location: ../members.php?event=success");
        exit();
    } else {
        header("Location: ../signup.php");
        exit();
    }

You need to add eventid to your html form as well

<input type ='text' name='eventname' placeholder='event name'>
        <input type ='text' name='venue' placeholder='event name'>
        <input type ='date' name='date' placeholder='event date'>

        <!-----Include event id of the event you want to update ---->

        <input type ='hidden' name='eventid' value="$eventid">
   <button type='submit' name='eventsubmit'>Submit</button>

So this gets submitted as well and you get it like this

<?php
    if (isset($_POST['eventsubmit'])) {
            $eventname = $_POST['eventname'];
            $venue = $_POST['venue'];
            $date = $_POST['date'];
            $name = $_POST['name'];

            $eventname = mysqli_real_escape_string($conn, $_POST['eventname']);
            $venue = mysqli_real_escape_string($conn, $_POST['venue']); 
            $date = mysqli_real_escape_string($conn, $_POST['date']); 
            $name = mysqli_real_escape_string($conn, $_POST['name']);
            $eventid =mysqli_real_escape_string($conn, $_POST['eventid']);


                $sql = "UPDATE events SET eventname='$eventname' WHERE eventid='$eventid' ";