0

ユーザーがサインアウトをクリックしたときにテーブルレコードを削除する方法、サインアウトするそのリンクはセッションで呼び出されないだけです、これを行う方法はありますか.ユーザーがサインアウトリンクをクリックすると、その特定のテーブルのレコードが削除されます. セッションではこれを行いませんが、セッションなしでこれを達成する方法がわかりません。セッションで呼び出すためのコーディング

<?php
session_start();
if(session_destroy())
{
header("Location: index.php");
}
?>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("ems" , $con);
$r="delete from ga2";
$result=mysql_query($r) or die (mysql_error());
?>

ユーザーがサインアウトリンクをクリックしたときに、セッションなしで上記のテーブルを削除する方法。

4

2 に答える 2

1

delete from ga2は からすべてのレコードを削除しますga2 table。これを防ぐには、ログイン時にとにユーザーidを保存します。次に、ログアウト時に次のようにしてレコードを削除できます。sessionga2 table

<?php
session_start();
if(isset($_SESSION['user_id'])) {
    $user_id = (int) $_SESSION['user_id'];
    $con = mysql_connect("localhost","root","") or die('Could not connect: ' . mysql_error());
    mysql_select_db("ems" , $con) or die('Could select database: ' . mysql_error());
    $r = "delete from ga2 WHERE user_id = $user_id";
    mysql_query($r) or die (mysql_error());
    session_destroy();
}

header("Location: index.php");
?>
于 2013-07-20T08:50:50.840 に答える
0

ユーザーごとに個別のテーブルを作成するのは、非常に不適切なコーディング方法です。代わりに、テーブルを 1 つだけ使用し、ユーザーごとにテーブルに 1 つの行を作成します。#manoj-yadav が提案したように、ログアウト中に行を削除します。あなたと #manoj-yadav への注意: mysql api は非推奨であるため、mysql api の代わりに mysqli を使用してください。php.net は、「この拡張機能は PHP 5.5.0 で非推奨になり、将来削除される予定です」と述べています。

于 2013-07-20T08:59:37.590 に答える