Vraag & Antwoord

Webprogrammeren & scripting

[PHP] Beginnersvraag: variabelen doorgeven

Anoniem
Rumaro
4 antwoorden
  • Ik wil dat een script een variabele "true" of "false" maakt en vervolgens door verwijst naar een volgend script. Het tweede script moet die variabele vervolgens oppikken.

    Nu weet ik dat dit kan met
    [code:1:35fecc2e89]
    header("location: script2.php?variabele=$variabele");
    [/code:1:35fecc2e89]
    Echter dat tweede script bevat ook html en dus zal deze variabele in de adresbalk van de browser verschijnen. En dat wil ik dus juist niet.
    Eigenlijk zoek ik dus een manier om die variabele op de server neer te zetten zodat het volgende script deze weer kan oppikken. Volgens mij kan zoiets met sessies, maar kan het ook anders?
  • Kan simpel met een cookie.
  • [quote:cbf1a50d21="gerben"]Kan simpel met een cookie.[/quote:cbf1a50d21]
    Inderdaad, als ik zo eens in de cookie tutorials duik is dat een simpele oplossing. Maar dan is mijn volgende vraag of dit geschikt (lees: veilig genoeg) is voor mijn toepassing.
    Ik heb namelijk een soort van anti-spam manier bedacht voor een gastenboek dat ik heb gemaakt. (Ik weet het, er zijn zeker weten honderden veel betere manieren om spam uit een gastenboek te houden, maar ik vind het nou eenmaal leuk om zelf dingen uit te vinden ;-)
    Bovendien wil ik begrijpen wat ik doe en het domweg installeren van bestaande dingen die ik verder niet begrijp vind ik niet erg interessant)

    Het principe is als volgt:
    Ik wil dat variabele $MenuGeklikt op 'true' wordt gezet zodra iemand in het menu van de website op "vul het gastenboek in" klikt. Het invulformulier checked eerst of de variabele $MenuGeklikt "true" is. Is dit niet het geval dan wordt er een foutmelding geparsed ipv het formulier

    Als het formulier is ingevuld en de data naar het verwerkingsscript wordt gestuurd, dan checked ook dit verwerkingsscript weer of $MenuGeklikt "true" is.
    Op deze manier hoop ik "af te dwingen" dat data die bij het verwerkingsscript aankomt ook via het html formulier komt, dat op zijn beurt weer via de website menu is aangeroepen.
    Verre van waterdicht, maar ik houd in ieder geval het direct benaderen van het verwerkingsscript en het direct oproepen van het invulformulier tegen.
    (Nou ja, dat hoop ik dan)
  • Voor wie via de zoekfunctie met een vergelijkbare vraag hier terecht komt:
    Ik heb het uiteindeindelijk toch maar met een sessie gedaan. De sessie wordt geopend zodra je op de menuknop klikt om het gastenboek te tekenen. Het script dat het formulier parsed checked eerst of de juiste sessie open staat. Zo niet, dan parsed hij een foutmelding (U kunt dit formulier niet rechtstreeks opvragen). Staat de juiste sessie wel open dan gaat hij het formulier parsen.
    Het "verwerkingsscript" dat de data uit het formulier verwerkt herhaalt datzelfde kunstje nog een keer. Na een succucesvolle gastenboek aantekening sluit dit script de sessie weer.

    Of het ook daadwerkelijk tegen spam helpt weet ik niet, maar het door mij gewenste effect werkt in ieder geval prima: een keurige foutmelding als men probeert om rechtstreeks naar het formulier of het verwerkingsscript te gaan.

    En voor degenen die alleen op zoek zijn naar het server-side doorgeven van variabelen. Ook dit kan met een sessie. Variabelen geef je dan door m.b.v. $_SESSION['variabelenaam']. Elk script dat de juiste sessie opent heeft dan de beschikking over deze variabele.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.