I wonder whether someone may be able to help me please.
I'm using the section of code below to create a table which correctly list records pertinent to the current user
.
/* display row for each user */
echo "<tr>\n";
$theID = $row['locationid'];
echo " <td style='text-align: Center'>{$row['locationname']}</td>\n";
echo " <td style='text-align: Left'>{$row['returnedaddress']}</td>\n";
echo " <td style='text-align: Center'>{$row['totalfinds']}</td>\n";
echo " <form action= locationsaction.php method= 'post'><input type='hidden' name='lid' value=$theID/> <td><input type= 'submit' name= 'type' value= 'Details'/></td>
<td><input type= 'submit' name= 'type' value= 'Images'/></td>
<td><input type= 'submit' name= 'type' value= 'Add Finds'/></td>
<td><input type= 'submit' name= 'type' value= 'View Finds'/></td>
<td><input type= 'submit' name = 'type' value= 'Delete'/></td></form>\n";
At the end of each table row there are a selection of buttons which via locatiosnaction.php
shown below , navigate the user to other pages, all linked back to the main table record.
'locationsaction.php'
<?php
session_start();
$_SESSION['lid'] = $_POST['lid'];
if (isset($_POST['type'])) {
$urls = array(
'Details' => 'viewlocation.php',
'Add Finds' => 'addfinds.php',
'Images' => 'addimages.php',
'View Finds' => 'locationfinds.php',
'Delete' => 'deletelocation.php'
);
$url = $urls[$_POST['type']];
header("Location: " . $url);
}
?>
The problem I'm having revolves around the deletion of the record. This is the query I'm using:
'deletelocation.php'
<?php
$lid = $_SESSION['lid'];
$query = "DELETE FROM detectinglocations WHERE locationid='$lid'";
$result = mysql_query($query);
?>
The functionality of the button works fine, as it takes the user to the deletelocation.php script, but it's not deleting the record.
I've been using several scripts as reference and I'd thought I'd followed them correctly, but clearly not.
I just wondered whether someone could possibly take a look at this please and let me know where I'm going wrong.
Many thanks and kind regards
You're missing the session_start();
at the beginning of deletelocation.php
.
You have to call this on every page, that wants to use the session.
So in your case $_SESSION['lid']
is not resolvable, which will invalidate your SQL query.
session_start() creates a session or resumes the current one ...