Hij verwijdert niks..
Ik had een verwijder script gemaakt, alles werkte, je kan de berichten selecteren. Dan druk je op de knop verwijderen. Hij zegt vervolgens dat ze succesvol verwijdert zijn. Ga je naar de pagina waar de berichten staan, blijken ze nog niet verwijdert te zijn..
Hier het script:
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?
if($_GET['JJ'] == "Ja")
{
for($T = 0; $T < count($_POST['id']); $T++)
{
//delete query met $_POST['id'][$T];
$query = "DELETE FROM sigchat WHERE id='".$_POST['id'][$T]."'";
mysql_query($query) or die (mysql_error());
}
echo "Berichten succesvol verwijdert, u wordt over 5 sec. doorgestuurd. <META HTTP-EQUIV='refresh' CONTENT='5; URL=Adminpaneel.php?actie=Verwijderen'> ";
}
else{
$db_link = mysql_connect('localhost', 'thomaz', '208852487');
mysql_select_db('thomaz', $db_link);
$query = "SELECT * FROM sigchat";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
// max resulaten op 1 pagina
$max_on_page = 100;
// laat hoeveel pagina nummers ervoor en erachter zien
$viewpage = 1;
$num_pages = ceil($num_rows / $max_on_page);
$page = $_GET['page'];
//als de pagina niet is opgegeven page wordt 1, verander pagina.php
if (!isset($_GET["page"])) {
$page = 1;
header("location: Adminpaneel.php?actie=Verwijderen&page=1");
}
// we willen geen negative pagina's
$begin = $page - $viewpage;
if ($begin < 1) {
$begin = 1;
}
// ook niet teveel
$end = $page + $viewpage;
if ($end > $num_pages) {
$end = $num_pages;
}
$vorige = $page - 1;
$volgende = $page + 1;
### vanaf hier wordt de navigatie weergegeven ###
echo '<BR><div align="right">';
if ($begin > 1) {
echo '<a href="Adminpaneel.php?actie=Bewerken&page=1" title="Eerste pagina">« </a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$vorige.'" title="Vorige Pagina"><</a> ';
}
for ($i = $begin; $i <= $end; $i++) {
if ($i == $page) {
echo '<b>['.$page.'] </b>';
}
else {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$i.'">'.$i.' </a> ';
}
}
if ($end < $num_pages) {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$volgende.'" title="Volgende Pagina">></a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$num_pages.'" title="Laatste Pagina"> »</a>';
}
echo '</div><BR>';
$start = $max_on_page * $page - $max_on_page;
$Rquery = "SELECT * FROM sigchat ORDER BY id DESC LIMIT ".$start.", ".$max_on_page."";
$Rresult=mysql_query($Rquery) or die (mysql_error());
while ($sql = mysql_fetch_assoc($Rresult)) {
$id = $sql['id'];
$naam = $sql['naam'];
$naam = htmlspecialchars ($naam);
$bericht = $sql['bericht'];
$bericht = htmlspecialchars ($bericht);
$bericht = stripslashes($bericht);
$bericht = nl2br($bericht);
echo '<form type="checkbox" action="Adminpaneel.php?actie=Verwijderen&JJ=Ja" method="post">';
if ($sql['status'] == Webmaster){
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width=20% scope="col"><font color="#FFFFFF"><div align="left" class="Tekst"><input type="checkbox" name="id" value="';
echo $id;
echo '" />';
echo $naam;
echo '</font>
</div></th>
<th scope="col"><div align="left" class="Tekst">';
echo $bericht;
echo '</div></th>
</tr>
</table>';
}
elseif ($sql['status'] == Admin){
echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>';
echo '<th width=20% scope="col"><font color="#FFFF00"><div align="left" class="Tekst"><input type="checkbox" name="id" value="'.$id.'" />';
echo $naam;
echo '</font>';
echo '</div></th>
<th scope="col"><div align="left" class="Tekst">';
echo $bericht;
echo '</div></th>
</tr>
</table> ';
}
else{
echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><th width=20% scope="col"><div align="left" class="Tekst"><input type="checkbox" name="id" value="'.$id.'" />';
echo $naam;
echo '</div></th>
<th scope="col"><div align="left" class="Tekst">';
echo $bericht;
echo '</div></th>
</tr>
</table> ';
}
}
echo '<BR><input type="submit" value="Met geselecteerd verwijderen"><div align="right">';
if ($begin > 1) {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page=1" title="Eerste pagina">« </a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$vorige.'" title="Vorige Pagina"><</a> ';
}
for ($i = $begin; $i <= $end; $i++) {
if ($i == $page) {
echo '<b>['.$page.'] </b>';
}
else {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$i.'">'.$i.' </a> ';
}
}
if ($end < $num_pages) {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$volgende.'" title="Volgende Pagina">></a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$num_pages.'" title="Laatste Pagina"> »</a>';
}
echo '</div>';
}
?>
if($_GET['JJ'] == "Ja")
{
for($T = 0; $T < count($_POST['id']); $T++)
{
//delete query met $_POST['id'][$T];
$query = "DELETE FROM sigchat WHERE id='".$_POST['id'][$T]."'";
mysql_query($query) or die (mysql_error());
}
echo "Berichten succesvol verwijdert, u wordt over 5 sec. doorgestuurd. <META HTTP-EQUIV='refresh' CONTENT='5; URL=Adminpaneel.php?actie=Verwijderen'> ";
}
else{
$db_link = mysql_connect('localhost', 'thomaz', '208852487');
mysql_select_db('thomaz', $db_link);
$query = "SELECT * FROM sigchat";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
// max resulaten op 1 pagina
$max_on_page = 100;
// laat hoeveel pagina nummers ervoor en erachter zien
$viewpage = 1;
$num_pages = ceil($num_rows / $max_on_page);
$page = $_GET['page'];
//als de pagina niet is opgegeven page wordt 1, verander pagina.php
if (!isset($_GET["page"])) {
$page = 1;
header("location: Adminpaneel.php?actie=Verwijderen&page=1");
}
// we willen geen negative pagina's
$begin = $page - $viewpage;
if ($begin < 1) {
$begin = 1;
}
// ook niet teveel
$end = $page + $viewpage;
if ($end > $num_pages) {
$end = $num_pages;
}
$vorige = $page - 1;
$volgende = $page + 1;
### vanaf hier wordt de navigatie weergegeven ###
echo '<BR><div align="right">';
if ($begin > 1) {
echo '<a href="Adminpaneel.php?actie=Bewerken&page=1" title="Eerste pagina">« </a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$vorige.'" title="Vorige Pagina"><</a> ';
}
for ($i = $begin; $i <= $end; $i++) {
if ($i == $page) {
echo '<b>['.$page.'] </b>';
}
else {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$i.'">'.$i.' </a> ';
}
}
if ($end < $num_pages) {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$volgende.'" title="Volgende Pagina">></a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$num_pages.'" title="Laatste Pagina"> »</a>';
}
echo '</div><BR>';
$start = $max_on_page * $page - $max_on_page;
$Rquery = "SELECT * FROM sigchat ORDER BY id DESC LIMIT ".$start.", ".$max_on_page."";
$Rresult=mysql_query($Rquery) or die (mysql_error());
while ($sql = mysql_fetch_assoc($Rresult)) {
$id = $sql['id'];
$naam = $sql['naam'];
$naam = htmlspecialchars ($naam);
$bericht = $sql['bericht'];
$bericht = htmlspecialchars ($bericht);
$bericht = stripslashes($bericht);
$bericht = nl2br($bericht);
echo '<form type="checkbox" action="Adminpaneel.php?actie=Verwijderen&JJ=Ja" method="post">';
if ($sql['status'] == Webmaster){
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width=20% scope="col"><font color="#FFFFFF"><div align="left" class="Tekst"><input type="checkbox" name="id" value="';
echo $id;
echo '" />';
echo $naam;
echo '</font>
</div></th>
<th scope="col"><div align="left" class="Tekst">';
echo $bericht;
echo '</div></th>
</tr>
</table>';
}
elseif ($sql['status'] == Admin){
echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>';
echo '<th width=20% scope="col"><font color="#FFFF00"><div align="left" class="Tekst"><input type="checkbox" name="id" value="'.$id.'" />';
echo $naam;
echo '</font>';
echo '</div></th>
<th scope="col"><div align="left" class="Tekst">';
echo $bericht;
echo '</div></th>
</tr>
</table> ';
}
else{
echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><th width=20% scope="col"><div align="left" class="Tekst"><input type="checkbox" name="id" value="'.$id.'" />';
echo $naam;
echo '</div></th>
<th scope="col"><div align="left" class="Tekst">';
echo $bericht;
echo '</div></th>
</tr>
</table> ';
}
}
echo '<BR><input type="submit" value="Met geselecteerd verwijderen"><div align="right">';
if ($begin > 1) {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page=1" title="Eerste pagina">« </a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$vorige.'" title="Vorige Pagina"><</a> ';
}
for ($i = $begin; $i <= $end; $i++) {
if ($i == $page) {
echo '<b>['.$page.'] </b>';
}
else {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$i.'">'.$i.' </a> ';
}
}
if ($end < $num_pages) {
echo '<a href="Adminpaneel.php?actie=Verwijderen&page='.$volgende.'" title="Volgende Pagina">></a> <a href="Adminpaneel.php?actie=Verwijderen&page='.$num_pages.'" title="Laatste Pagina"> »</a>';
}
echo '</div>';
}
?>
mvg. Thomas
2: gebruik: error_reporting(E_ALL);
3: Geeft de pagina errors ofzo?
GR. mebus
[1] 2 > »
Notice: Use of undefined constant Webmaster - assumed 'Webmaster' in /usr/export/www/hosting/thomazopslag/VVerwijderen.php on line 79
dat zegt die de hele tijd..
En als ik op verwijderen klik, dan geeft die geen errors..
En wat zijn trouwens shorttags?
Gewijzigd op 01/01/1970 01:00:00 door Thomas
sorry voor de regel in de db
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
Sorry, maar ik ben nu nog niks wijzer..
Zet bovenaan eens 'print_r($_POST['id']);'
Code (php)
1
2
2
$query = "DELETE FROM sigchat WHERE id='".$_POST['id'][$T]."'";
mysql_query($query) or die (mysql_error());
mysql_query($query) or die (mysql_error());
Ziet er verder goed uit, alleen als id een nummer is zou ik die quotes weghalen ;)
Die zijn nergens voor nodig.
Verder kun je de input beter ook even checken, bijv. met is_numeric.
boven aan de pagina, waar ergens? En moet dat in een echo? Namelijk nog nooit van gehoord:$
Code (php)
Zo krijg je de inhoud van de POST array te zien, ter controle of hij wel gevuld is.
Array
(
[id] => 374
)
1) Geef je checkboxen een array-naam, dus eentje die op [] eindigt, bijvoorbeeld name="delete[]"
2) Geef ze allemaal een andere value
Na verzenden van zo'n formulier krijg je alle aangevinkte checkboxen terug in $_POST['delete']. Je kunt dan met:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
foreach ($_POST['delete'] as $value) {
// gebruik $value om je delete-query te maken en uit te voeren
}
?>
foreach ($_POST['delete'] as $value) {
// gebruik $value om je delete-query te maken en uit te voeren
}
?>
Sorry, maar dat onderste snap ik niet helemaal, dat laatste scriptje.