Deleten van berichten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Victor-Jan Goemans

Victor-Jan Goemans

11/04/2009 18:24:00
Quote Anchor link
Hai, ik ben aan 't werken aan een script waarmee admins - indien ingelogd - berichten uit een gastenboek kunnen verwijderen. Wanneer ik echter op DEL druk, gebeurt er niets.
gastenboek.php:
(uiteraard niet de hele code, enkel het deel waarin de informatie wordt getoond)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
            while ($output = mysql_fetch_assoc($query))
                {
                    ?>

<div class="author">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
                     echo ($output['auteur']);
                     ?>

</div>
<div class="italic">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
                     echo ("schreef op " . $output['datum']);
                     ?>

</div>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
                     if(isset($_SESSION['gebruiker']))
                     {

                     echo("<form action=\"delete.php\"><input type=\"button\" name=\"del\" title=\"Verwijder deze post\" style=\"float: right\" value=\"DEL\"></form>");
                     }

                     ?>

<div class="text">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
                     print (stripslashes($output['bericht']));
                     ?>

</div>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
                     print ("<hr />");
                }






delete.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("DELETE FROM `b17_3204141_post`.`post` WHERE `post`.`ID` = $_POST['id'] LIMIT 1");
?>
Gewijzigd op 01/01/1970 01:00:00 door Victor-Jan Goemans
 
PHP hulp

PHP hulp

25/12/2024 15:56:53
 
- SanThe -

- SanThe -

11/04/2009 18:33:00
Quote Anchor link
Nou leuk dat je het even meldt.
 
Victor-Jan Goemans

Victor-Jan Goemans

11/04/2009 18:36:00
Quote Anchor link
Wat ben je nou bijdehand aan het doen? Ik stel toch gewoon een vraag?
 
Aaa Trump

aaa Trump

11/04/2009 18:38:00
Quote Anchor link
Tja,

Vindt dit ook een beetje rare opmerking..
 
- SanThe -

- SanThe -

11/04/2009 18:45:00
Quote Anchor link
Goemans schreef op 11.04.2009 18:36:
Wat ben je nou bijdehand aan het doen? Ik stel toch gewoon een vraag?

Sorry hoor. Maar er staat echt geen vraag in. 'Als ik op DEL klik gebeurt er niks' is een mededeling en geen vraag. Hoe duidelijker jij het probleem omschrijft en hoe helderder de bijbehorende vraag, hoe sneller je een antwoord hebt.
 
Victor-Jan Goemans

Victor-Jan Goemans

11/04/2009 18:47:00
Quote Anchor link
Dit is belachelijk. Oké. Even in vraagvorm gieten voor mensen met een IQ beneden de 4,5.

Hoe kan ik ervoor zorgen dat de juiste post gedeleted wordt wanneer ik op DEL klik (wat nu niet het geval is)?

Zo goed?...
 
Nicoow Unknown

Nicoow Unknown

11/04/2009 18:48:00
Quote Anchor link
//
Sorry, hulp verwijderd, moet je maar respect tonen

Mocht je de hulp alsnog hebben gelezen,,

Laat maar,, zoek het verder maar uit,, k hoef je nieteens meer te helpen
Gewijzigd op 01/01/1970 01:00:00 door Nicoow Unknown
 
- SanThe -

- SanThe -

11/04/2009 18:51:00
Quote Anchor link
Goemans schreef op 11.04.2009 18:47:
Dit is belachelijk. Oké. Even in vraagvorm gieten voor mensen met een IQ beneden de 4,5.

Succes verder.
 
Victor-Jan Goemans

Victor-Jan Goemans

11/04/2009 19:23:00
Quote Anchor link
Bedankt! :D
 
Martijn B

Martijn B

11/04/2009 19:57:00
Quote Anchor link
Om een bepaald bericht uit de database te verwijderen heb je geen formulier nodig. Je zou je script op deze manier kunnen maken:

delete.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( !empty($_GET['id']) && ctype_digit((string)$_GET['id']) )
{

  $sQry = 'DELETE FROM tabel WHERE id = ' . (int)$_GET['id'];
  mysql_query($sQry);
}

?>


Het script roep je dan op deze manier aan:
delete.php?id=123

Houd er wel rekening mee dat nu iedereen zomaar een bericht kan verwijderen.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Arjan Kapteijn

Arjan Kapteijn

11/04/2009 20:01:00
Quote Anchor link
Martijn; van een getal een string maken en vervolgens checken of het een getal is... om het daarna om te zetten naar een getal. Wtf?!?
 
Dennis Mertens

Dennis Mertens

11/04/2009 20:05:00
Quote Anchor link
1: Lees topic SanThe, waarom? Gewoon leuk :p
2: Gebruik geen backtics. Nergens voor nodig, geef mij 1 goede reden!!
3: Gebruik geen POST, maar een GET. Dus gewoon via de url.
4: Controleer of de waarde in de POST (wat straks dus een GET wordt), wel een integer is etc, ctype_digit().
5: Gebruik een if() statement, voor een bevestiging, is veel handiger.
6: Gebruik de tabs en enters op een goede manier!
7: Succes met al het bovenstaande.
8: Lees topic SanThe, waarom? Blijft leuk :p
 
Victor-Jan Goemans

Victor-Jan Goemans

11/04/2009 21:57:00
Quote Anchor link
Martijn! schreef op 11.04.2009 19:57:
Om een bepaald bericht uit de database te verwijderen heb je geen formulier nodig. Je zou je script op deze manier kunnen maken:

delete.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( !empty($_GET['id']) && ctype_digit((string)$_GET['id']) )
{

  $sQry = 'DELETE FROM tabel WHERE id = ' . (int)$_GET['id'];
  mysql_query($sQry);
}

?>


Het script roep je dan op deze manier aan:
delete.php?id=123

Houd er wel rekening mee dat nu iedereen zomaar een bericht kan verwijderen.

Maar de hele bedoeling is juist dat het automatisch gebeurt. Dus dat er bij elk bericht een link waarmee dàt bericht verwijderd kan worden. Toch bedankt :)
 
The Force

The Force

11/04/2009 22:02:00
Quote Anchor link
Zet bij elk bericht een link naar delete.php?id=id_van_bericht en het wordt 'automatisch' voor je gedaan ^^.
 
Victor-Jan Goemans

Victor-Jan Goemans

11/04/2009 22:03:00
Quote Anchor link
"delete.php?id=id_van_bericht" werkt niet hoor ;p Het enige waar ik in feite nog moeite mee heb is hoe ik de waarde van 'id' moet doorsturen naar delete.php. Hoe ik die kan bepalen dus. Met andere woorden: hoe kan ik de waarde van het ID van die post bepalen?
Gewijzigd op 01/01/1970 01:00:00 door Victor-Jan Goemans
 
Frank -

Frank -

11/04/2009 22:12:00
Quote Anchor link
Tip: Ga bovenstaand scriptje even helemaal opnieuw schrijven, er zijn maar weinig regels die _niet_ voor verbetering vatbaar zijn. En dat zijn dan vooral de lege regels....

1) stripslashes() heb je alleen nodig wanneer je jezelf een oor hebt aangenaaid en eerst geheel ten onrechte overbodige slashes in je content zet. Laat die onzin weg en je hebt geen stripslashes() meer nodig.
2) Backticks ` zorgen voor bugs in je SQL, wil je bugs of niet? Zo ja, ga gerust verder met deze onzin, maar ga niet klagen dat jouw SQL niet doet wat het moet doen. Daar kies je zelf voor.
3) echo en print zijn geen functies, je hebt dus geen haakjes () nodig.
4) wees consistent en gebruik óf echo óf print. Maar niet de ene keer echo en de andere keer print, de code wordt een bende.
5) Geen LIMIT in een UPDATE of DELETE-query gebruiken, je wilt alle records verwijderen die aan de voorwaarden voldoen en niet lukraak een X-aantal records. Dan weet je niet wat nu wel en wat nu niet is verwijderd.
6) echo met enkele quotes ', dan hoef je niet keer op keer de dubbele quotes " in de html te escapen. Scheelt je hoop extra werk, tikfouten en bugs.
7) Ga niet janken wanneer iemand in een bijdehante bui een opmerking op jouw niveau maakt. Geen vraag, geen antwoord, dat is niets bijzonders. Jij zoekt hulp, dus moet jij er voor zorgen dat je duidelijk bent.

Sterkte.
 
The Force

The Force

11/04/2009 22:26:00
Quote Anchor link
Het id staat neem ik aan gewoon in je database en dus ook in $output (tenzij je die niet in de select hebt staan). Stuur die dus mee in je link naar de delete pagina zoals ik hiervoor heb beschreven ^^. "id_van_bericht" moet je nog wel vervangen door het id dat in $output staat, maar dat moet toch geen probleem zijn?
 
Dennis Mertens

Dennis Mertens

12/04/2009 15:23:00
Quote Anchor link
nico schreef op 11.04.2009 18:48:
//
Sorry, hulp verwijderd, moet je maar respect tonen

Mocht je de hulp alsnog hebben gelezen,,

Laat maar,, zoek het verder maar uit,, k hoef je nieteens meer te helpen
Met mensen als jou, redden wij het wel :') :p
 
The Force

The Force

12/04/2009 16:28:00
Quote Anchor link
Dennis Mertens schreef op 12.04.2009 15:23:
nico schreef op 11.04.2009 18:48:
//
Sorry, hulp verwijderd, moet je maar respect tonen

Mocht je de hulp alsnog hebben gelezen,,

Laat maar,, zoek het verder maar uit,, k hoef je nieteens meer te helpen
Met mensen als jou, redden wij het wel :') :p


Ben het eens met Dennis. Respect moet van twee kanten komen. Als iemand je in je vrije tijd wilt helpen en die gene verdiend het niet...

Waarom ik wel geholpen heb? Geen idee, waarschijnlijk gisteren zijn laatste berichtje gelezen en meteen geantwooord zonder verder te kijken. Heeft nu geen zin meer om het weg te halen...
 
Peter

peter

12/04/2009 17:06:00
Quote Anchor link
Ik moet toegeven dat in het eerste bericht duidelijk genoeg is aangegeven wat het probleem van de beste man is, en als Moderator zijnde dien jij je hoe dan ook als een professional op te stellen niet als een 12 jarige.

Maar goed, dat zal ook wel de reden zijn dat deze site lang zo populair niet is als phpfreakz...
 
- SanThe -

- SanThe -

12/04/2009 17:25:00
Quote Anchor link
SanThe schreef op 11.04.2009 18:45:
Goemans schreef op 11.04.2009 18:36:
Wat ben je nou bijdehand aan het doen? Ik stel toch gewoon een vraag?

Sorry hoor. Maar er staat echt geen vraag in. 'Als ik op DEL klik gebeurt er niks' is een mededeling en geen vraag. Hoe duidelijker jij het probleem omschrijft en hoe helderder de bijbehorende vraag, hoe sneller je een antwoord hebt.

Voor de liefhebbers: Ik heb alleen getracht om de TS duidelijk te maken dat het stellen van een duidelijke vraag en een duidelijke omschrijving van het probleem, in het algemeen een sneller en doeltreffender antwoord oplevert. Helaas is dat in het verkeerde keelgat geschoten. Heb je nog vragen over 'vraag' klik dan hier en lees dat eens door.

SanThe.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.