Toon posts:

Confirm bepaalt php code [js,php]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil via een confirm bepalen of iets echt verwijderd moet worden. Als er op 'ok' wordt gedrukt moet er een sql-query uitgevoerd worden, en als er op 'annuleren' wordt gedrukt moet er niks gebeuren.

Bij mij voert hij altijd de php-code uit. of ik nou op 'ok' of 'annuleren' druk. En ik kan niet naar een andere pagina verwijzen, waar ik apart de php-code wel kan uitvoeren.

Heeft iemand een ideetje. :?

JavaScript:
1
2
3
4
5
6
7
8
var name = confirm("Press a button")
if (name == true)
{
<?PHP-CODE!?>
}
else
{
}

  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
aangezien je php code allemaal al uitgevoerd wordt voordat de client het javascriptje te zien krijgt zul je je php code toch in een andere pagina moeten plaatsen. (verborgen frame, popup, zelfde pagina herladen, etc)

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

javascript is clientside; die code wordt pas uitgevoerd op het moment dat PHP al klaar is met processen.
Je zult dus een postback naar de server moeten doen om je code uit te laten voeren.

Intentionally left blank


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 22-08 02:40

Pelle

🚴‍♂️

Inderdaad. Oftewel, een formuliertje moeten submitten of de window.location aanpassen.

Verwijderd

Topicstarter
ok bedankt, als het niet anders kan.

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Verwijderd schreef op 04 June 2003 @ 11:18:
Bij mij voert hij altijd de php-code uit. of ik nou op 'ok' of 'annuleren' druk. En ik kan niet naar een andere pagina verwijzen, waar ik apart de php-code wel kan uitvoeren.
En waarom kan dit niet? Ik doe het zelf altijd via een post.php dingen verwijderen en toevoegen en dergelijke en dan met een Header( "Location: ". getenv( "HTTP_REFERER" ) ); terugsturen naar vorige pagina, lijkt mij vrij simpel :).

Verwijderd

Topicstarter
kan niet moet liever niet zijn...

Verwijderd

Topicstarter
kan ik niet de vraag stellen of dat je die knop wel wil indrukken?

En de actie is dan wel of niet submitten, toch?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

Verwijderd schreef op 04 juni 2003 @ 12:59:
kan ik niet de vraag stellen of dat je die knop wel wil indrukken?

En de actie is dan wel of niet submitten, toch?
ja, je kan dit in je form-tag doen:

HTML:
1
<form action="delete.php" method="post" onsubmit="return confirm('weet u het zeker?')">

Intentionally left blank


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 22-08 02:40

Pelle

🚴‍♂️

McV: getenv() is niet heel erg slim om te gebruiken; onder Apache 2.0 werkt dat bijvoorbeeld niet.

$_SERVER["HTTP_REFERER"] daarintegen werkt prima :)

En G-B: Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/edit.gif is om je bericht te editen... je eigen topic kicken zoals jij hier doet vinden we niet heel fijn namelijk.

Verwijderd

Topicstarter
Dat bedoel ik wel maar ik wil het alleen niet aan het formulier hangen maar aan de knop.

In mijn formulier kun je inserten,updaten en deleten, met allemaal dezelfde actie dus.
En ik wil niet dat als je op opslaan drukt dat je dan op ok moet drukken.

Kicken na zeven minuten heeft niet veel zin, maar ik zal er voortaan erg in hebben. O-)

[ Voor 16% gewijzigd door Verwijderd op 04-06-2003 13:20 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

Pelle schreef op 04 June 2003 @ 13:12:
McV: getenv() is niet heel erg slim om te gebruiken; onder Apache 2.0 werkt dat bijvoorbeeld niet.

$_SERVER["HTTP_REFERER"] daarintegen werkt prima :)

En G-B: [afbeelding] is om je bericht te editen... je eigen topic kicken zoals jij hier doet vinden we niet heel fijn namelijk.
de referer gebruiken is sowieso niet handig omdat niet alle browsers die meesturen, en bepaalde software (norton internet security bijvoorbeeld) 'm ook kan onderdrukken of wijzigen.
Verwijderd schreef op 04 June 2003 @ 13:16:
Dat bedoel ik wel maar ik wil het alleen niet aan het formulier hangen maar aan de knop.

In mijn formulier kun je inserten,updaten en deleten, met allemaal dezelfde actie dus.
En ik wil niet dat als je op opslaan drukt dat je dan op ok moet drukken.
dat is toch echt niet zo moeilijk voor elkaar te krijgen met een stukje script hoor, eventueel laat je javascript ook de submit uitvoeren. Ik heb echter het idee dat je niet echt thuis bent in javascript. Misschien een idee om eens een tutorial door te nemen?

Intentionally left blank


  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

JavaScript:
1
2
3
4
5
6
7
8
var name= confirm("Press a button")
if (name == true)
{
location= "pagina met script.php"
}
else
{
}

zo kun je het toch ook doen.
Je kunt eventueel ook dingen meesturen in de url.

Verwijderd

Topicstarter
dat is toch echt niet zo moeilijk voor elkaar te krijgen met een stukje script hoor, eventueel laat je javascript ook de submit uitvoeren. Ik heb echter het idee dat je niet echt thuis bent in javascript. Misschien een idee om eens een tutorial door te nemen?
ik heb nu dit:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function deleten(form){
    var akkoord = confirm("Press a button")
    if (akkoord == true)
    {
       form.showbedrijf=form.bedrijf_id.value;
       form.submit();
    } else {
       form.showoverzicht=form.bedrijf_id.value;
                   form.submit();
    }
}


waarbij showbedrijf en showoverzicht de functies binnen php zijn die geopend moeten worden.
Ik weet alleen niet waarom de functie altijd showbedrijf opend.

Ik kan het wel meesturen naar een ander bestand, maar wil graag kijken of dat het niet gelijk kan, net als bij
JavaScript:
1
onsubmit="return confirm('weet u het zeker?')"

zoals eerder werd genoemd. alleen dan via de button i.p.v. het hele formulier.

[ Voor 17% gewijzigd door Verwijderd op 04-06-2003 13:35 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

Verwijderd schreef op 04 juni 2003 @ 13:31:
[...]


ik heb nu dit:
[...]
waarbij showbedrijf en showoverzicht de functies binnen php zijn die geopend moeten worden.
Ik weet alleen niet waarom de functie altijd showbedrijf opend
waarschijnlijk omdat dat de action van je form is?

Intentionally left blank


Verwijderd

Topicstarter
dat klopt, maar dat heb ik nodig voor updaten en inserten.

Ik kan dat ook allemaal wel weglaten:

JavaScript:
1
2
3
4
5
6
7
8
9
 function deleten(form){
            var akkoord = confirm("Press a button")
            if (akkoord == true)
            {
            form.submit();
            } else {
            
            }
            }


Dan submit hij altijd het formulier of ik nou ok of annuleren druk. 8)7

[ Voor 72% gewijzigd door Verwijderd op 04-06-2003 13:40 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

Verwijderd schreef op 04 June 2003 @ 13:37:
dat klopt, maar dat heb ik nodig voor updaten en inserten.

Ik kan dat ook allemaal wel weglaten:

JavaScript:
1
2
3
4
5
6
7
8
9
 function deleten(form){
            var akkoord = confirm("Press a button")
            if (akkoord == true)
            {
            form.submit();
            } else {
            
            }
            }


Dan submit hij altijd het formulier of ik nou ok of annuleren druk. 8)7
dan moet je er ook geen type="submit" van maken maar een type="button" ;)

Intentionally left blank


Verwijderd

Topicstarter
Het werkt als ik er een button van maakt, maar moet dan alleen nog een waarde meesturen.
en onderstaande ertussen zetten werkt niet. (showbedrijf=functie,submit_bedrijf=variabele die meegestuurd moet worden. 8)7

JavaScript:
1
form.showbedrijf=form.submit_bedrijf.value;


Heeft iemand nog een idee wat ik fout doe

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

Verwijderd schreef op 05 June 2003 @ 11:27:
Het werkt als ik er een button van maakt, maar moet dan alleen nog een waarde meesturen.
en onderstaande ertussen zetten werkt niet. (showbedrijf=functie,submit_bedrijf=variabele die meegestuurd moet worden. 8)7

JavaScript:
1
form.showbedrijf=form.submit_bedrijf.value;


Heeft iemand nog een idee wat ik fout doe
huh? showbedrijf is een functie? waar dan?
wil je niet gewoon de actie van je form wijzigen?

form.action = 'showbedrijf.php';

Intentionally left blank


Verwijderd

Topicstarter
showbedrijf is de functie die geopend moet worden nadat de pagina ververst is.
En die functie moet dan de variabele submit_bedrijf gevuld.

daarom kan ik niet gebruik maken van een verwijzing naar een andere pagina.

Mijn vraag is eigenlijk hoe ik een waarde mee kan sturen die je in PHP kan aanroepen.

[ Voor 17% gewijzigd door Verwijderd op 05-06-2003 13:48 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

Verwijderd schreef op 05 June 2003 @ 13:47:
showbedrijf is de functie die geopend moet worden nadat de pagina ververst is.
En die functie moet dan de variabele submit_bedrijf gevuld.

daarom kan ik niet gebruik maken van een verwijzing naar een andere pagina.

Mijn vraag is eigenlijk hoe ik een waarde mee kan sturen die je in PHP kan aanroepen.
code:
1
form.submit_bedrijf.value = 'showbedrijf';

zoiets? :?

Intentionally left blank


Verwijderd

Topicstarter
nee,helaas.

Dat showbedrijf hoeft er niet in dat hangt al aan het formulier.

De variabele $submit_bedrijf moet de waarde "Delete" krijgen en dat lukt niet.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:02

crisp

Devver

Pixelated

Verwijderd schreef op 05 June 2003 @ 14:18:
nee,helaas.

Dat showbedrijf hoeft er niet in dat hangt al aan het formulier.

De variabele $submit_bedrijf moet de waarde "Delete" krijgen en dat lukt niet.
moet dan toch echt zo lukken hoor:

code:
1
form.submit_bedrijf.value = 'delete';


ervan uitgaande dat je een input hebt met name="submit_bedrijf" en je een referentie naar het form meegeeft aan de functie waar dit instaat.

Intentionally left blank


Verwijderd

Topicstarter
nee werkt ook niet.

Ik heb het nou omgedraaid. Standaard is submit_bedrijf "delete" en wanneer er opgeslagen of upgedate moet worden wordt submit_bedrijf "update". :*)

Bedankt voor de inzet zonder was ik er niet gekomen. _/-\o_

Verwijderd

Topicstarter
Ik heb het nou alsnog werkend gekregen, door Type button te veranderen naar submit.

Verwijderd

Ik weet dat het al zo'n 8 dagen oud topic is, maar als ik het goed heb kun je wel PHP uitvoeren in een if/else in javascript. Waardoor ik toch hoop nog iets toe te voegen aan dit topic...

Je kunt namelijk PHP laten laden (lees: uitvoeren) als <img>. Dat moet volgens mij toch kunnen?

code:
1
2
3
4
5
6
7
8
if(confirm('Weet je zeker dat je dit wilt doen?'))
{
    document.write('[img]"doen.php">');
}
else
{
[/img]');
}


Ik heb dit nog niet eerder gedaan, maar volgens mij moet het wel werken...

[ Voor 9% gewijzigd door Verwijderd op 15-06-2003 17:24 . Reden: Typo ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Je kunt dan dus alleen acties uit laten voeren maar je moet als resultaat dan dus wel een afbeelding krijgen. Het nadeel is dus dat je geen info aan de gebruiker kunt tonen, ook niet als er bijvoorbeeld een error is.

Verwijderd

Plaatje hoeft helemaal niet worden afgebeeld :)

Of je zet 'em op 0px of je zet er gewoon een layer overheen (of display: none, visibility: hidden enz.)

Een simpele query (DELETE/UPDATE) kun je hiermee uitstekend uitvoeren iig.

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Verwijderd schreef op 15 June 2003 @ 17:23:
Ik weet dat het al zo'n 8 dagen oud topic is, maar als ik het goed heb kun je wel PHP uitvoeren in een if/else in javascript. Waardoor ik toch hoop nog iets toe te voegen aan dit topic...

Je kunt namelijk PHP laten laden (lees: uitvoeren) als <img>. Dat moet volgens mij toch kunnen?

code:
1
2
3
4
5
6
7
8
if(confirm('Weet je zeker dat je dit wilt doen?'))
{
    document.write('<img src="doen.php">');
}
else
{
    document.write('<img src="anders.php">');
}


Ik heb dit nog niet eerder gedaan, maar volgens mij moet het wel werken...
Sorry dat ik het zeg, maar dit is echt de meest ranzige oplossing die ik op dit forum in tijden voorbij heb zien komen. Maar goed, als het werkt voor jou moet je het vooral zo doen. Ik zou het in ieder geval _nooit_ zo doen :).

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Ik zou zelf een verborgen frame gebruiken. Daarmee kan ik dan door middel van wat dynamisch divjes heel netje de info in de pagina krijgen. Als je het helemaal browsercompitable wilt maken gaat dat daarmee alleen niet lukken.

Verwijderd

McVirusS schreef op 16 June 2003 @ 21:20:

[...]


Sorry dat ik het zeg, maar dit is echt de meest ranzige oplossing die ik op dit forum in tijden voorbij heb zien komen. Maar goed, als het werkt voor jou moet je het vooral zo doen. Ik zou het in ieder geval _nooit_ zo doen :).
Ik zeg niet dat ik het zo doe, liever een andere manier, maar het is wél een mogelijkheid.

Dus als het werkt, waarom niet?

Btw, echt nuttige post is't nu ook weer niet van je he :P
Pagina: 1