Verwijderd de berichten niet!
Ik heb een pm berichten systeem alles werkt behalve het verwijderen van de berichten.
Kunnen jullie helpen?
Code (php)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
include ("dbconnect.php");
include ("pm_head.php");
?>
<table width="600">
<tr>
<td width="1%">
</td>
<td width="20%">
Van:
</td>
<td width="25%">
Datum
</td>
<td width="48%">
Onderwerp
</td>
</tr>
<form action="pm_inbox.php" method="post">
<?
//kijk of er iets gebeurt is met je berichten
if (isset($_POST["what"])){
//wat te doen met de geselecteerde berichten
$what = $_POST["what"];
//voor elke variabele in de $_POST array
foreach ($_POST as $mid){
//bekijk of die een waarde heeft die numeriek is
if (is_numeric($mid) == true){
//kijk of die een waarde heeft
if (isset($mid)){
//zoja kijk wat de waarde van $what is
switch ($what) {
//als die delete is
case "delete":
//bekijk wat de voorkeur is die de gebruiker heeft
$check_dwd = mysql_query("SELECT * FROM pmoptions WHERE user = '$uuser'", $db);
while (list($id, $user, $alert, $buddy, $block, $dwd) =
mysql_fetch_row($check_dwd)){
//als de gebruiker wilt dat de berichten meteen worden verwijderd worden ze uit de db gehaald
if ($dwd == "delete"){
mysql_query("DELETE FROM pm WHERE id = '$mid'", $db);
}else{
//ander wil de gebruiker dat ze in de prullebak komen
mysql_query("UPDATE pm SET read = '-1' WHERE id = '$mid'", $db);
}
}
break;
//als $what de waarde unread heeft markeer ze dan ongelezen
case "unread";
mysql_query("UPDATE pm SET read = '0' WHERE id = '$mid'", $db);
break;
//als $what de waarde read heeft markeer ze dan gelezen
case "read";
mysql_query("UPDATE pm SET read = '1' WHERE id = '$mid'", $db);
break;
}
}else{}
}else{}
}
}else{}
$i = 0;
$result = mysql_query("SELECT * FROM pm WHERE `to` = '$uuser' && `read` != -1 ORDER by id DESC", $db);
while (list($id, $from, $ipsender, $to, $date, $time, $sub, $mes, $read) =
mysql_fetch_row($result)){
?>
<tr>
<td>
<input type="checkbox" name="<? echo $i?>" value="<? echo $id ?>">
</td>
<td>
<a href="pm_new.php?to=<? echo $from ?>"><? echo $from ?></a>
</td>
<td>
<? echo $date ?> <? echo $time ?>
</td>
<td>
<a href="pm_read.php?m=<? echo $id ?>"><? echo $sub ?></a>
</td>
</tr>
<?
$i++;
}
?>
</table>
<table width="600">
<tr>
<td>
Wat wil je doen met de geselecteerde berichten?
<select name="what">
<option value="delete">Verwijder</option>
<option value="unread">Markeer ongelezen</option>
<option value="read">Markeer gelezen</option>
</select>
<input type="submit" value="Go">
</td>
</tr>
</table>
</form>
</body>
</html>
include ("dbconnect.php");
include ("pm_head.php");
?>
<table width="600">
<tr>
<td width="1%">
</td>
<td width="20%">
Van:
</td>
<td width="25%">
Datum
</td>
<td width="48%">
Onderwerp
</td>
</tr>
<form action="pm_inbox.php" method="post">
<?
//kijk of er iets gebeurt is met je berichten
if (isset($_POST["what"])){
//wat te doen met de geselecteerde berichten
$what = $_POST["what"];
//voor elke variabele in de $_POST array
foreach ($_POST as $mid){
//bekijk of die een waarde heeft die numeriek is
if (is_numeric($mid) == true){
//kijk of die een waarde heeft
if (isset($mid)){
//zoja kijk wat de waarde van $what is
switch ($what) {
//als die delete is
case "delete":
//bekijk wat de voorkeur is die de gebruiker heeft
$check_dwd = mysql_query("SELECT * FROM pmoptions WHERE user = '$uuser'", $db);
while (list($id, $user, $alert, $buddy, $block, $dwd) =
mysql_fetch_row($check_dwd)){
//als de gebruiker wilt dat de berichten meteen worden verwijderd worden ze uit de db gehaald
if ($dwd == "delete"){
mysql_query("DELETE FROM pm WHERE id = '$mid'", $db);
}else{
//ander wil de gebruiker dat ze in de prullebak komen
mysql_query("UPDATE pm SET read = '-1' WHERE id = '$mid'", $db);
}
}
break;
//als $what de waarde unread heeft markeer ze dan ongelezen
case "unread";
mysql_query("UPDATE pm SET read = '0' WHERE id = '$mid'", $db);
break;
//als $what de waarde read heeft markeer ze dan gelezen
case "read";
mysql_query("UPDATE pm SET read = '1' WHERE id = '$mid'", $db);
break;
}
}else{}
}else{}
}
}else{}
$i = 0;
$result = mysql_query("SELECT * FROM pm WHERE `to` = '$uuser' && `read` != -1 ORDER by id DESC", $db);
while (list($id, $from, $ipsender, $to, $date, $time, $sub, $mes, $read) =
mysql_fetch_row($result)){
?>
<tr>
<td>
<input type="checkbox" name="<? echo $i?>" value="<? echo $id ?>">
</td>
<td>
<a href="pm_new.php?to=<? echo $from ?>"><? echo $from ?></a>
</td>
<td>
<? echo $date ?> <? echo $time ?>
</td>
<td>
<a href="pm_read.php?m=<? echo $id ?>"><? echo $sub ?></a>
</td>
</tr>
<?
$i++;
}
?>
</table>
<table width="600">
<tr>
<td>
Wat wil je doen met de geselecteerde berichten?
<select name="what">
<option value="delete">Verwijder</option>
<option value="unread">Markeer ongelezen</option>
<option value="read">Markeer gelezen</option>
</select>
<input type="submit" value="Go">
</td>
</tr>
</table>
</form>
</body>
</html>
EDIT:
Ik heb nog een voorbeeld LINK
Gewijzigd op 31/03/2012 12:19:17 door The Best Man
haal je variablen buiten quotes zet even error reporting aan bovenin wat voor error krijg je?
En waar komt $mid vandaan?
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
Gewijzigd op 31/03/2012 13:01:10 door - Ariën -
Laat je code inspringen bij if/while constructies --> wordt die leesbaar(der) door.
Toevoeging op 31/03/2012 14:11:27:
ik heb dit script niet zelf gemaakt dus ik weet niet waar alles vandaan komt!