login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Verwijderen met checkboxen

Offline zwobbel - 30/05/2005 21:36 (laatste wijziging 30/05/2005 21:59)
Avatar van zwobbelPHP gevorderde Ik heb pb gemaakt met een checkbox voor elk onderwerp
hoe kan ik ervoor zorgn als ze op een gewone tekt link er toch een waarde word gepost van die checkoxen zodat ik dus $_POST["checkbox"] kan opvragen...

13 antwoorden

Gesponsorde links
Offline leendertW - 30/05/2005 22:12
Avatar van leendertW PHP beginner Bedoel je zo;?

echo "<input type='checkbox' name='id[]' value='". ."'>";

en dan kan je zo een item verwijderen:

foreach ($_POST['id'] as $value)
{
$sQuery = "DELETE FROM tabel WHERE id = ".$value;
$rQuery = mysql_query($sQuery);
}
Offline zwobbel - 30/05/2005 22:20 (laatste wijziging 30/05/2005 22:24)
Avatar van zwobbel PHP gevorderde nee het verwijderen lukt wel maar ik zoek een functie hoe ik een post kan uitvoeren aan de hand van een gewone tekst link.
vb: <a href='verwijder.php'>verwijderen</a>

Zodat ik die $_POST kan aanroepen .. hmm hoe moet ik het uitleggen...
Offline Frederic - 30/05/2005 22:23
Avatar van Frederic PHP ver gevorderde verwijder.php?id=6

en dan ophalen via $_GET['id']
Offline zwobbel - 30/05/2005 22:24
Avatar van zwobbel PHP gevorderde Is dit veilig ?
Wand dan kunne ze toch gaan prutsen en ervoor zorge dat ze posts verwijderen van andere leden?
Offline leendertW - 30/05/2005 22:26 (laatste wijziging 30/05/2005 22:27)
Avatar van leendertW PHP beginner Ja om gewoon iets te verwijderen doe je het zoals Frederic zegt.

Dus met $_GET. Het kan ook wel met $_POST maar dan moet je als hidden veld het id mee geven. ( maar dat is moeilijk doen als het makkelijk kan )

Edit:

Ja de methode is veilig maar voor de rest hangt het van jouw af hoe jij die pagina's beveiligd. Ik denk dat ze het hier op sitemasters ook gewoon zo doen.
Offline nemesiskoen - 30/05/2005 22:31 (laatste wijziging 31/05/2005 15:22)
Avatar van nemesiskoen Gouden medaille

PHP expert
  1. <?php
  2.  
  3. function ( is_ingelogd ) {
  4.  
  5. $query = MySQL_query( "SELECT count( id ) FROM leden
  6. WHERE naam = '". addslashes( $_COOKIE['naam'] ) ."'
  7. AND pass = '". addslashes( $_COOKIE['pass'] ) ."'" );
  8. //als je met cookies werkt
  9.  
  10. return MySQL_result( $query );
  11.  
  12. }
  13.  
  14. if( is_numeric( $_GET['id'] ) ) {
  15.  
  16. $id = $_GET['id']; //makelijker om mee te werken
  17.  
  18. }
  19.  
  20. if( is_ingelogd ) {
  21.  
  22. $query = MySQL_query( "SELECT eigenaar FROM pbs
  23. WHERE id = '". $id ."'" );
  24.  
  25. if( $_COOKIE['naam'] == MySQL_result( $query ) ) {
  26.  
  27. //verwijderen
  28.  
  29. }
  30. else {
  31.  
  32. //deze pb is niet van u!
  33.  
  34. }
  35.  
  36. }
  37.  
  38. ?>
Offline timmie_loots - 31/05/2005 14:40
Avatar van timmie_loots PHP gevorderde Zwobbel, met $_POST kun je ook pb's van andere verwijderen als je niet goed beveiligd.
Offline Tuinstoel - 31/05/2005 14:53
Avatar van Tuinstoel PHP expert Als je checkboxes maakt, dan maakt hij array's. En deze arrays kun je met één query alles verwijderen, in plaats van meerdere.
  1. <?php
  2. if(!empty($_POST['checkbox']))
  3. {
  4. $sQuery = "DELETE FROM `tabel` WHERE `kolom` IN(".implode(",",$_POST['checkbox']).")";
  5. if(!@mysql_query($sQuery))
  6. { echo 'niet gelukt.'; }
  7. else
  8. { echo 'dingen zijn verwijderd.'; }
  9. }
  10. ?>
Offline Thomas - 31/05/2005 15:06
Avatar van Thomas Moderator Het lijkt mij een goede gewoonte om altijd je queries te beveiligen.
Offline zwobbel - 31/05/2005 17:32 (laatste wijziging 31/05/2005 18:41)
Avatar van zwobbel PHP gevorderde
  1. <?
  2. echo "<input type='checkbox' name='id[]' value='". ."'>";
  3.  
  4. en dan kan je zo een item verwijderen:
  5.  
  6. foreach ($_POST['id'] as $value)
  7. {
  8. $sQuery = "DELETE FROM tabel WHERE id = ".$value;
  9. $rQuery = mysql_query($sQuery);
  10. }
  11. ?>


Deze code lukt niet 

error:
Warning: Invalid argument supplied for foreach() in /home/httpd/vhosts/webvisual.be/subdomains/zwobbel/httpdocs/zwobbel/leden/pb/verwijderen.php on line 6
Offline leendertW - 31/05/2005 18:48
Avatar van leendertW PHP beginner Hoe heb jij je <form ... > staan?

Eindig je de </form> voor de foreach lus?
Als dat zo is klopt het dat hij die foutmelding geeft.
Offline zwobbel - 31/05/2005 18:59 (laatste wijziging 31/05/2005 20:58)
Avatar van zwobbel PHP gevorderde Owkej het werkt nu allemaal maar..
Die controle weet ik nog niet hoe te doen.

Dit is de code die de post verwijdert
  1. <?
  2. $berichten = $_POST['berichten'];
  3. $n = count($berichten);
  4. $i = 0;
  5.  
  6. while ($i < $n)
  7. {
  8.  
  9. $sQuery = "UPDATE `priveberichten` SET `plaats` = 'vuilnisbak' WHERE `id` = '".$berichten[$i]."'";
  10. if(!$sResult = MySQL_Query($sQuery))
  11. {
  12. echo "Error!- sQuery kan niet uitgevoerd worden!<BR>";
  13. echo "<BR>";
  14. } else
  15. {
  16. header ("location: index.php?a=leden/pb/inbox");
  17. }
  18. $i++;
  19. }
  20. ?>
Offline nathanael - 01/06/2005 17:12 (laatste wijziging 01/06/2005 17:16)
Avatar van nathanael Gouden medaille

HTML gevorderde
@tuinstoel: kun je mij uitleggen hoe dat stuk script va jouw werkt...:

  1. <?php
  2. if(!empty($_POST['checkbox']))
  3. {
  4. $sQuery = "DELETE FROM `links` WHERE `id` IN(".implode(",",$_POST['checkbox']).")";
  5. if(!@mysql_query($sQuery))
  6. { echo 'niet gelukt.'; }
  7. else
  8. { echo 'dingen zijn verwijderd.'; }
  9. }
  10. ?>


Ben hier ook geinteresseerd in... maar ik krijg het niet voor elkaar
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.216s