-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdelete_message.php
More file actions
40 lines (32 loc) · 1.28 KB
/
Copy pathdelete_message.php
File metadata and controls
40 lines (32 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
session_start();
include 'conn.php'; // Fixed path to use local conn.php
if (!isset($_SESSION['email'])) {
header("Location: login.php");
exit();
}
$me = $_SESSION['email'];
if (isset($_POST['message_id'])) {
$msg_id = intval($_POST['message_id']);
// Use prepared statement to prevent SQL injection
$stmt = mysqli_prepare($conn, "SELECT * FROM message WHERE id = ? AND sender_email = ?");
mysqli_stmt_bind_param($stmt, "is", $msg_id, $me);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if (mysqli_num_rows($result) > 0) {
// Delete message (and maybe also delete image file)
$msg_data = mysqli_fetch_assoc($result);
if (!empty($msg_data['image']) && file_exists($msg_data['image'])) {
unlink($msg_data['image']); // delete the image from server
}
// Use prepared statement for delete operation
$delete_stmt = mysqli_prepare($conn, "DELETE FROM message WHERE id = ? AND sender_email = ?");
mysqli_stmt_bind_param($delete_stmt, "is", $msg_id, $me);
mysqli_stmt_execute($delete_stmt);
mysqli_stmt_close($delete_stmt);
}
mysqli_stmt_close($stmt);
}
$receiver = $_GET['user'] ?? '';
header("Location: chat.php?user=" . urlencode($receiver));
exit();