0

我想知道是否有人可以帮助我。

我正在使用下面的代码部分来创建一个表,该表正确列出了与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);
}
?>

我遇到的问题围绕着删除记录。这是我正在使用的查询:

'删除位置.php'

<?php

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

?>

该按钮的功能工作正常,因为它将用户带到 deletelocation.php 脚本,但它不会删除记录。

我一直在使用几个脚本作为参考,我认为我正确地遵循了它们,但显然不是。

我只是想知道是否有人可以看看这个,让我知道我哪里出错了。

非常感谢和亲切的问候

4

1 回答 1

4

你错过了session_start();开头的deletelocation.php.

您必须在想要使用会话的每个页面上调用它。

因此,在您的情况下$_SESSION['lid']是不可解析的,这将使您的 SQL 查询无效。

PHP 文档

session_start() 创建会话或恢复当前会话...

于 2012-07-12T14:16:43.537 回答