login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Delte FROM database

Offline leendertW - 14/02/2005 08:28 (laatste wijziging 14/02/2005 08:52)
Avatar van leendertWPHP beginner Wanneer ik deze code gebruik om items te verwijderen dan blijft hij maar zeggen dat het verwijderen mislukt is.
Wanneer ik in plaats van `id` ='".$id."'"; id=5 (of zoiets) neer zet dan werkt hij wel.

  1. <?
  2. if ($action == verwijderen) {
  3. $query="DELETE FROM `products` WHERE `id` ='".$id."'";
  4. mysql_query($query) or die(mysql_error());
  5. if($resultaat == 1) {
  6. echo "<script language=\"javascript\">window.alert('het bericht is verwijderd.')</script>";
  7. }
  8. if($resultaat <> 1) {
  9. echo "<script language=\"javascript\">window.alert('Er is een fout opgetreden bij het verwijderen.')</script>";
  10. }
  11. } //sluit if lus af
  12.  
  13.  
  14. db_close();
  15. ?>


Wat is er fout aan deze code?

8 antwoorden

Gesponsorde links
Offline xSc - 30/11/1999 00:00
Avatar van xSc Onbekend - $action zal SuperGlobal ( deze $_GET['action'] ) zijn.rn- == verwijderen verwijderen is toch geen constante Het moet dus tussen quotes.rn- WHERE ID = . $id; ( integers BUITEN quotes. Komt het id uit de url, dan vervang je $id door $_GET['id'].rn- Gebruik liever een betere foutafhandeling. met if else ipv or die().rn- Echo html-code tussen enkele quotes.rnrn
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Waar komen $action en $id vandaan rnIs $id numeriek of een string rn$resultaat bestaat niet is ongeinitialiseerd rnrnVerder zou ik DELETE-queries afschermen zodat mensen met alleen de juiste 'credentials' deze kunnen uitvoeren.rnrnEr van uitgaande dat $action en $id in de URL staanrnrn[code]phprn deze actie zou beter beveiligd moeten worden, bijvoorbeeld mbv $_SESSIONrnif(isset($_GET['action']) && $_GET['action'] == verwijderen) {rn if(is_numeric($_GET['id'])) {rn $query = DELETE FROM `products` WHERE `id`=.$id; rn $succes = mysql_query($query) or die(mysql_error()); rn if($succes) {rn echo script language=javascriptwindow.alert('het bericht is verwijderd.')script; rn } else {rn echo script language=javascriptwindow.alert('Er is een fout opgetreden bij het verwijderen.')script; rn }rn }rn}rndb_close();rn[code]
Offline leendertW - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van leendertW PHP beginner Jepz bedankt. Het komt door het 3e punt.$ s rnrn@Fangorn bedankt.rnrnVerder zou ik DELETE-queries afschermen zodat mensen met alleen de juiste 'credentials' deze kunnen uitvoeren.rnrnJa ik zet hier een login voor met sessies en scherm deze pagina af met sessies.
Offline leendertW - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van leendertW PHP beginner Ik gebruik deze knop bij dat scripte maar hoe krijg ik het id erinrnrnform action==$_SERVER['PHP_SELF']; style=displayinline;input type=submit class=knopcont name=action value=verwijderenformrnrnHij verwijderd nu niks.rnrn@FangornrnHet id wordt niet me gegeven in de url.rnIk geef de gegevens weer dmv een while lus. In die while lus zet ik dan ook die button neer.
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Euh - heb je per item (per id) een form, of heb je één form voor meerdere items
Offline leendertW - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van leendertW PHP beginner lookrnrnhttpwww.leentjesweb.nladmin.phprnrndus per item een form.
Offline Thomas - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Thomas Moderator Dan is het makkelijkrnrn[code]form action== $_SERVER['PHP_SELF'].id=.$query_result['id_veld'] method=post[code]
Offline leendertW - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van leendertW PHP beginner Ik heb nu ditrnrnrn[code]php rn $query_admin = SELECT FROM products ORDER BY id ; rn $resultaat = mysql_query($query_admin) or die (mysql_error()); rn while ($rij = mysql_fetch_assoc($resultaat)){ rn $kleur = ($i++ % 2) #CBCEDC #F1F1DA; rn rn tr bgcolor==$kleur; rn td style=vertical-align top; rn php echo $rij['id']; rn tdrn td style=vertical-align top; rn php echo $rij['sTitel']; rn tdrn td style=vertical-align top;rn php echo 'img src='.$rij['sFoto_klein'].' width=80px height=79px'; rn tdrn td style=vertical-align top;rn rn echo substr ($rij['sBeschrijving'],0,30); rn tdrn td style=vertical-align top;rn php echo $rij['sOverzichtnummers']; rn tdrn td style=vertical-align top;rn php echo $rij['fPrice']; rn tdrn td style=vertical-align top;rn form action== $_SERVER['PHP_SELF'].action=verwijderen&id=.$rij['id']; method=postinput type=submit class=knopcont rnrnname=action value=verwijderenformrn tdrn trrn rn } sluit while lus afrn if(isset($_GET['action']) && $_GET['action'] == verwijderen) {rn $query = DELETE FROM `products` WHERE `id`=.$id; rn $del_resul = mysql_query($query) or die(mysql_error()); rn if($del_resul) {rn echo script language=javascriptwindow.alert('het bericht is verwijderd.')script; rn } else {rn echo script language=javascriptwindow.alert('Er is een fout opgetreden bij het verwijderen.')script; rn }rn }rnrndb_close();rnrn rntable [code]rnrnrnelk pruduct krijgt nu bij de verwijder knop wel zijn id toegewezen maar hij wordt niet verwijderd.rnrnEDITrnrnAls ik het tussen code zet dan geeft hij een stukje niet weer. Vandaar niet tussen code.rnrnD rnrn[b]Admin edit[b]rnKan gewoon tussen codernrn#Probleem is opgelost dankzij Henrirnrn
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s