しかし、私はすでにそれを回避する方法を手に入れました。誰かに役立つかもしれないことを共有させてください: すべてのアラートは、ユーザーを特定の URL に誘導する必要があります。たとえば、誰かがあなたの投稿にコメントした場合、アラートをクリックすると、「www.example.com/posts/? post_id=5". これをターゲット URL と呼びます。アラートを生成するとき、ターゲット URL をアラートの詳細と共にアラート テーブルに保存し、AI の一意のフィールド (alert_id) を取得します。これを使用して、アラートのリンクの href 部分を生成<a href="changetoread.php?alert_id=56">G Thuo</a>
します (投稿にコメントした場合など)。 . これが私のアプローチです。アラートをクリックすると、最初にそのステータスが読み取りに変更された場所に移動します(リンクのalert_idに基づいて)。read に変更したら、テーブルからターゲット URL をフェッチし、ユーザーをそこにリダイレクトします。ここに私のコードがあります:
$alert_id=$_GET['alert_id'];
$user_id=$_SESSION['user_id'];
//create the SQL to update the read_status
$sql="UPDATE alerts_log SET read_status=1 WHERE alert_id=$alert_id AND user_id=$user_id";
$res=mysql_query($sql) or die(mysql_error());
//we can now extract the targer_url from the alerts table and redirect the user automatically to that URL
$sql="SELECT target_url FROM alerts WHERE alert_id=$alert_id";
$res=mysql_query($sql) or die(mysql_error());
$row=mysql_fetch_assoc($res);
$url=$row['target_url'];
//redirect the user to that URL
header("Location: $url");
`