login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SQL binnen javascript voorwaarde (Opgelost)

Offline mikeos - 24/12/2008 20:34
Avatar van mikeosNieuw lid Hallo,

Ik wil graag een record uit de database verwijderen na een confirmatie via javascript.
Nu had ik het volgende bedacht (lekker makkelijk):

  1. if($_POST['actie']=='verwijder')
  2. { ?><script language=javascript>
  3. var bevestiging = confirm("Ben je er zeker van dat je deze gegevens wilt verwijderen?");
  4. if(bevestiging){<?mysql_query("DELETE FROM uren WHERE id='$uren'");?> window.location = "statistieken.php";}
  5. </script><?
  6. }


Alleen dit werkt helaas niet. (De SQL-query wordt niet uitgevoerd, terwijl $uren wel een geldige variabele is (via echo krijg ik de juiste waarde)).

Nu is het natuurlijk mogelijk om via een redirect samen met het betreffend id-nummer de record te verwijderen, maar dit is tamelijk omslachtig.
Misschien dat iemand van jullie een makkelijkere manier heeft?

Bij voorbaat dank voor de reacties!

7 antwoorden

Gesponsorde links
Offline marten - 24/12/2008 20:36 (laatste wijziging 24/12/2008 20:36)
Avatar van marten Beheerder Je koppelt javascript en PHP / SQL door middel van AJAX aan elkaar.

Ik zal even linkjes zoeken voor een tutorial

http://www.site...amp;id=484

http://www.site...amp;id=433

Ik denk dat je daar wel iets mee kan doen.
Offline Martijn - 26/12/2008 12:13 (laatste wijziging 26/12/2008 12:15)
Avatar van Martijn Crew PHP of je schrijft een js functie bovenaan die je met onclick activeerd.

de functie laat je een confirm doen, en if die true is, submit() dat stukje form, en anders niets
Offline nemesiskoen - 26/12/2008 12:28
Avatar van nemesiskoen Gouden medaille

PHP expert
lol marten, dat is hier echt niet nodig:-)

  1. <form method="post" action="" name="frm">
  2. ....
  3.  
  4. <input type="button" name="sbmt" onclick="javascript: verzend()">
  5. </form>
  6. <script language="javascript">
  7. function verzend() {
  8. if(HIER_JE_VRAAG)
  9. frm.submit();
  10. }
  11. </script>
Offline vinTage - 26/12/2008 12:38 (laatste wijziging 26/12/2008 12:39)
Avatar van vinTage Nieuw lid
  1. <a href="delete.php?id=<?=$uren?>" onclick="return window.confirm('zeker dat dit weg moet?'); return false;">deleten?</a>


In delete.php checken op rechten etc en na delete query (die fout is in je vb):
header("Location: statistieken.php");
Offline mikeos - 26/12/2008 20:34
Avatar van mikeos Nieuw lid Bedankt voor de reacties!

Al deze manieren komen er op neer dat er toch nog een extra tussenstap nodig is om te bereiken wat ik graag wil bereiken.

Heb het probleem wel opgelost, maar had graag gezien dat er een eenvoudigere (lees kortere) oplossing geweest zou zijn.

Offline vinTage - 26/12/2008 23:42 (laatste wijziging 26/12/2008 23:43)
Avatar van vinTage Nieuw lid wat is je oplossing dan uiteindelijk geworden ?

side, kon het korter dan de confirm oplossing ?
Offline mikeos - 27/12/2008 20:38
Avatar van mikeos Nieuw lid Heb het volgende gedaan:
  1. if($_POST['actie']=='verwijder')
  2. { ?><script language=javascript>
  3. var bevestiging = confirm("Ben je er zeker van dat je deze gegevens wilt verwijderen?");
  4. if(bevestiging){window.location = "?id=<?echo$_POST['uren'];?>";}
  5. </script><?
  6. }


en dan hoger op de pagina:

  1. if(isset($_GET['id']))
  2. { $id=$_GET['id'];
  3. if(!preg_match('/^[0-9]+$/',$id)){print"Geen geldig id-nummer.";exit;}
  4. mysql_query("DELETE FROM `uren` WHERE id='$id'");?>
  5. <script>alert("De geselecteerde gegevens zijn verwijderd.");window.location="statistieken.php";</script><?
  6. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s