Ehm sorry, I'm not sure what part of the code i've got wrong so I probably missed something vital. I've learned a lot while doing this project but I'm sure I'm making plenty of mistakes with it as well. Everything else works just fine though with what I have here, the ? becoming %3F is the only issue i'm having, at least for now.
With this code, when I click the submit button to update the data in the MYSQL database, it goes to an error 404 saying the page doesn't exist. Rather than being "admin/edit_event.php?pid=3" it's "admin/edit_event.php%3fpid=3"
On the events_list.php page, I have
$id = $row["id"];
followed by, for the edit link that takes you to edit_events.php
$event_list .= '<td><a href="edit_event.php?pid='.$id .'">edit</a></td>';
which adds a link to the table with the ID of the event i'm editing.
<?php
if (isset($_POST['event_name'])){
$pid = mysql_real_escape_string($_POST['thisID']);
$event_name = mysql_real_escape_string($_POST['event_name']);
$event_category = mysql_real_escape_string($_POST['event_category']);
$event_details = mysql_real_escape_string($_POST['event_details']);
$month = $_POST['datemonth'];
$day = $_POST['dateday'];
$year = $_POST['dateyear'];
$event_date = date('Y-m-d', strtotime($year.'-'.$month.'-'.$day));
//Match event to other events
$sql = mysql_query("UPDATE events SET event_name='$event_name', event_details='$event_details', event_category='$event_category', event_date='$event_date', WHERE id='$pid'");
header("location: admin_login.php");
exit();
}
?>
<?php
//Gather information on this event to insert into form
if(isset($_GET['pid'])){
$targetID = $_GET['pid'];
$sql = mysql_query("SELECT * FROM events WHERE id='$targetID' LIMIT 1");
$eventCount = mysql_num_rows($sql); //count the output amount
if ($eventCount > 0) {
while ($row = mysql_fetch_array($sql)){
$event_name = $row["event_name"];
$event_category = $row["event_category"];
$event_details = $row["event_details"];
$event_date = strftime("%b %d, %Y", strtotime($row["event_date"]));
}
} else {
echo "This item does not exist. Return to the <a href='index.php'>admin area</a>";
exit();
}
}
?>
And here is a cut-down version of the form
<form action="edit_event.php" enctype="multipart/form-data" name="eventform" id="eventform" method="post">
<table width="100%" border="0" cellpadding="2">
<tr>
<td width="200">Name</td>
<td><input type="text" name="event_name" id="event_name" size="64" value="<?php echo $event_name ?>"/></td>
</tr>
<tr>
<td width="200">Category</td>
<td><select name="event_category" id="event_category">
<option value="<?php echo $event_category ?>"><?php echo $event_category ?></option>
<option value="Category 1">Category 1</option>
<option value="Category 2">Category 2</option>
<option value="Category 3">Category 3</option>
</select></td>
</tr>
<tr>
<td width="200">Event Details</td>
<td><label>
<textarea name="event_details" id="event_details" cols="64" rows="5"><?php echo $event_details ?></textarea>
</label></td>
</tr>
<tr>
<td> </td>
<td>Day <select name="dateday" id="dateday">
<option selected="selected">1</option>
<option>2</option>
</select>
Month
<select name="datemonth" id="datemonth">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select>
Year
<select name="dateyear" id="dateyear">
<option selected="selected">1999</option>
<option>2000</option>
<option>2001</option>
</select></td>
</tr>
<tr>
<td width="200"> </td>
<td><input name="thisID" type="hidden" value="<?php echo $targetID; ?>" />
<input type="submit" name="button" id="button" value="Submit Changes" /></td>
</tr>
</table>
</form>