[PHP] PHP aanroepen bij form submit

Pagina: 1
Acties:
  • 32 views sinds 30-01-2008

  • Mr. Right 1
  • Registratie: Maart 2000
  • Laatst online: 02-08-2023

Mr. Right 1

Do I need to say more?

Topicstarter
Ik heb een formulier gemaakt op een pagina. Nu wil ik een stukje PHP-code aanroepen op het moment dat het form ge-submit wordt.

Met JS kun je bijv. een "onSubmit" eraan hangen, maar kan dat ook met PHP?

edit:

Ter verduidelijking:

Ik heb een stukje PHP gemaakt die pas mag worden aangeroepen bij het submitten en nog niet bij het laden van de pagina.


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 29-08 22:51

D2k

clientside != serverside, dus nee

Doet iets met Cloud (MS/IBM)


Verwijderd

daar heb je nou die target="<your_script_here>" voor in je form tag. Daarin zet je het script dat bijvoorbeeld checked of er iets gesubmit is en if so, die informatie afhandelt.

  • Mr. Right 1
  • Registratie: Maart 2000
  • Laatst online: 02-08-2023

Mr. Right 1

Do I need to say more?

Topicstarter
Daar was ik dus al bang voor.

OK, ik heb ook een andere - gerelateerde vraag:

Het formulier wordt gePOST met een "action=pagina.php". Nu kun je dus ook vanaf een andere locatie posten naar pagina.php. Ik heb een heleboel topics gelezen over REFERER's etc. Dat is dus niet echt betrouwbaar om te checken waar de post vandaan komt. Is het mogelijk om het stukje "action=pagina.php" op de ene of andere manier in PHP te klussen zodat je in de bron niet meer kunt zien waar het naar toe wordt gepost?

  • Mr. Right 1
  • Registratie: Maart 2000
  • Laatst online: 02-08-2023

Mr. Right 1

Do I need to say more?

Topicstarter
PS Ik gebruik al sessionvariabele op alle pagina's, maar ik wil gewoon uitsluiten dat van buitenaf wordt gepost naar pagina.php.....

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 29-08 22:51

D2k

als je daar bang voor bent vogel je gewoon iets met sessions ofzow

Doet iets met Cloud (MS/IBM)


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Mr. Right 1 schreef op 22 oktober 2002 @ 10:02:
PS Ik gebruik al sessionvariabele op alle pagina's, maar ik wil gewoon uitsluiten dat van buitenaf wordt gepost naar pagina.php.....

check dan of er a) geen of b) de juiste referrer wordt gestuurd.

Klaar voor een nieuwe uitdaging.


  • Mr. Right 1
  • Registratie: Maart 2000
  • Laatst online: 02-08-2023

Mr. Right 1

Do I need to say more?

Topicstarter
Dat van die REFERRER heb ik hierboven al toegelicht. Nu nog even over die sessions:

Op pagina1.php wordt de sessie gestart. Het sessionid wordt, na alle pagina's te hebben doorlopen, in de database gedumpt (samen met alle andere waarden) en op de laatste pagina met een "session_destroy()" vernietigd.

Als ik nu dezelfde pagina's van vooraf aan opnieuw doorloop, dan krijg ik dezelfde sessionid. Hoe kan ik er zeker van zijn dat de sessionid telkens uniek is? Bijvoorbeeld iets met een tijd erin?

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 23-08 13:31

Tjark

DON'T PANIC

*insert signature here


Verwijderd

Ben benieuwd wat er gebeurd als je dit doet:

code:
1
2
3
4
5
<Form OnSubmit="document.write('<DIV style="position: hidden">
<?php 
require_once("file.php"); 
?>
</DIV>'); return true;" action="blaat.php" method="POST">


of

code:
1
2
3
<Form OnSubmit="document.write('<DIV style="position: hidden">
<script src="file.php" type="text/php" language="php">
</DIV>'); return true;" action="blaat.php" method="POST">



UIteraard op de juiste manier geescpaped. Ik heb geen idee of het werkt en het is een longshot, maar je weet het nooit.

[ Voor 0% gewijzigd door Verwijderd op 22-10-2002 11:16 . Reden: layout minder naar de hel ]


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

daniel_hoenderdos:
Ben benieuwd wat er gebeurd als je dit doet:

code:
1
2
3
4
5
<Form OnSubmit="document.write('<DIV style="position: hidden">
<?php 
require_once("file.php"); 
?>
</DIV>'); return true;" action="blaat.php" method="POST">
Probeer het uit zou ik zeggen :D En kom er vervolgens achter, dat wat er in file.php staat gewoon geparsed wordt. Dus, bijv. inhoude van 'file.php':
code:
1
echo "Woei :D"
wordt de output dus
code:
1
document.write('<DIV style="position: hidden">Woei :D</DIV>');
(behalve wanneer uberhaupt de pagina met 't form niet al door php geparsed wordt ;))


Combi van sessions en referer is de max. Of mensen eerst in laten loggen met een HTTP-authenticication ofzo. (in feite ook een session)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

drm, in dat geval lijkt mij het eerste probleem van de topic starter beantwoord, of zie ik dat verkeerd?

  • Mr. Right 1
  • Registratie: Maart 2000
  • Laatst online: 02-08-2023

Mr. Right 1

Do I need to say more?

Topicstarter
Als ik dit invoeg binenn mijn FORM-tags:

OnSubmit="document.write('<DIV style="position: hidden">
<?
echo "hoi";
?>
</DIV>');
return true;"

dan krijg ik een melding dat er een tekenreeksconstante niet is afgesloten.....maar welke?

Op het scherm krijg ik:

'); return true;">

Wie?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Jaaaaa kom effe op zeg. Ga nou eerst maar eens ff een paar JavaScript en PHP tutorials lezen en ga er even heel snel achter komen wat het verschil is tussen ClientSided scripting en ServerSided scripting. Dit gaat helemaal nergens meer over.

daniel_hoenderdos >>
D2k schreef in de 1[sup]e[/sup] reply in dit topic:
clientside != serverside, dus nee

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.