Удалить строку из MySQL

Интересно, сможет ли кто-нибудь помочь мне, пожалуйста.

Я использую раздел кода ниже, чтобы создать таблицу, которая правильно перечисляет записи, относящиеся к 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";

В конце каждой строки таблицы есть кнопки, которые locatiosnaction.php как показано ниже, переместите пользователя на другие страницы, все связанные с основной записью таблицы.

'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);
}
?>

Проблема, которая у меня возникла, связана с удалением записи. Это запрос, который я использую:

'deletelocation.php'

<?php

    $lid = $_SESSION['lid'];
            $query = "DELETE FROM detectinglocations WHERE locationid='$lid'";
            $result = mysql_query($query);

?>

Функциональность кнопки работает нормально, так как она переносит пользователя в скрипт deletelocation.php, но не удаляет запись.

Я использовал несколько сценариев в качестве ссылки, и я думал, что я следовал за ними правильно, но явно нет.

Мне просто интересно, может кто-нибудь взглянуть на это, пожалуйста, и дайте мне знать, где я иду не так.

Большое спасибо и всего наилучшего

1 ответ

Решение

Вы скучаете по session_start(); в начале deletelocation.php,

Вы должны вызывать это на каждой странице, которая хочет использовать сеанс.

Так что в вашем случае $_SESSION['lid'] не разрешим, что сделает ваш запрос SQL недействительным.

PHP документ:

session_start () создает сеанс или возобновляет текущий...

Другие вопросы по тегам