将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' ";