Ik heb een systeempje dat als ik op het kruisje druk(button) hij vraagt of ik het betreffende ID wil verwijderen uit de database. Dit werkt allemaal leuk en aardig bij annuleren(close popup). maar hij pakt het query'en niet moet ik PHP hier escapen ofzo?

de $query pakt ie wel. Als ik er een mysql_query doet dan doet ie de popup ook niet meer.

edit: wtf mijn proxy blokkeert mijn code ofzo? echt wazig

Ik kan geen stukken javascript kopieeren omdat mn stage bedrijf dit blokkeert ik zal thuis de code erbijzetten.


Dit vreet javascript:

<?php
$query = "DELETE * FROM reserveringen WHERE id=".$_GET['id']."";

?>

dit niet:

<?php

$query = "DELETE * FROM reserveringen WHERE id=".$_GET['id']."";
$result = mysql_query($query);

?>

ik heb de PHPcode als een var gedefined en deze weergegeven met document.write(a);
php code wordt al uitgevoerd zodra jij de pagina opent, niet zodra jij op een knop drukt.

(tenzij je met ajax werkt, maar dit werkt ook niet op deze manier)
Ja maar hij gaat pas verder (met javascript confirm() ) als er true komt ik zal ff een schetsje maken.

1. klik button
2. javascript confirm() functie vraagt of ik wil verwijderen of niet.
3. zo ja, voer phpcode uit.
4. zo nee, sluit popup(waar de phpcode uitgevoert zou moeten worden)

De code wordt dus pas uitgevoerd als javascript confirmed heeft.

Dit werkt zoals het hoort enkel als ik mysql_query(); vreet hij hem niet meer ik krijg de popup en verder niks. Daarom dacht ik al te moeten escapen maar ik kan nergens iets vinden
Je pagina wordt éérst helemaal door PHP geparsed, dus is je php code al uitgevoerd als je javascript in de browser verschijnt.
De popup voert de code uit, niet de pagina waarop ie op het kruisje klikt. Het is niet zo moeilijk...
Gebruik Ajax, stuk netter en geen irri popups nodig
Of na het klikken op OK doorgaan naar delete.php?foo=bar ofzo. Daar die query uitvoeren en vervolgens met een header("Location: bla.php"); terug gaan.

Met een beetje snelle verbinding zie je nauwelijks een refresh.

Elwin

[Edit: Typo]

Reageren