Relatie variable tot html.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Piet Meijer

Piet Meijer

22/10/2017 16:36:15
Quote Anchor link
Ja, ik ben op m'n 66ste begonnen met de basiscursus "PHP7 / MySQL" van Victor Peters. Gewoon omdat ik het interessant vind.
Wat mij nu niet echt duidelijk wordt is het volgende: ik heb in mijn php-script twee variabelen die de uitkomst van het script bepalen.
In html staan de waarden die in die variabelen terecht moeten komen (nee/--, ja/nee, ja/ja).
Hoe/waar leg ik het verband tussen de waarden in html en die in m'n variabelen?

Het script dat ik geschreven heb functioneert correct. Als ik handmatig de waarden in de variabelen wijzig dan is de uitkomst hetgeen ik beoog.

Ben ik een beetje duidelijk? Ik weet niet hoe ik het anders moet omschrijven.

Hier een stukje uit de html-pagina:

"<body>

%Vriendenrit%

%Lunchpakket%

<pre>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$vriendenrit
= "Ja";
$lunchpakket = "Nee";

if ($vriendenrit == "Nee"):
        echo "U heeft gekozen om niet deel te nemen aan de Vriendenrit. ";
        echo "Tot ziens op de ALV!";

elseif ($vriendenrit == "Ja" && $lunchpakket == "Nee"):"
Gewijzigd op 22/10/2017 18:54:25 door Piet Meijer
 
PHP hulp

PHP hulp

23/11/2024 16:37:32
 
- Ariën  -
Beheerder

- Ariën -

22/10/2017 16:58:51
Quote Anchor link
In je HTML buiten je PHP-code om kan je de variabelen ook echo'en:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<p>Lunchpakket: <?php echo $lunchpakket; ?></p>
 
Piet Meijer

Piet Meijer

22/10/2017 19:00:44
Quote Anchor link
Ja, maar dat vroeg ik niet. Ik wil de variabelen helemaal niet echo'en. Het gaat om de uitkomst na de volgende truthtable:

$vriendenrit $lunchpakket
nee x echo uitkomst a
ja nee echo uitkomst b
ja ja echo uitkomst c

Zie hier het volledige script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

$vriendenrit
= "Ja";
$lunchpakket = "Nee";

if ($vriendenrit == "Nee"):
        echo "U heeft gekozen om niet deel te nemen aan de Vriendenrit. ";
        echo "Tot ziens op de ALV!";

elseif ($vriendenrit == "Ja" && $lunchpakket == "Nee"):
        echo "Tot ziens op de ALV en welkom aan boord bij de Vriendenrit! ";
        echo "Maak z.s.m. het verschuldigde bedrag (€ 45,--) over naar [rekeningnummer etc.].";

else:
        echo "Tot ziens op de ALV en welkom aan boord bij de Vriendenrit! ";
        echo "Voor u wordt een lunchpakket gereserveerd. ";
        echo "Maak z.s.m. het verschuldigde bedrag (€ 52,50) over naar [rekeningnummer etc.].";

endif;

?>
 
Thomas van den Heuvel

Thomas van den Heuvel

22/10/2017 19:29:53
Quote Anchor link
De HTML bevindt zich in de webbrowser van de eindgebruiker, dit is de client side van het verhaal.
PHP-code wordt verwerkt op de webserver, die is de server side van het verhaal.

Op een of andere manier moet dus informatie overgebracht worden van de browser (client side) naar de webserver (server side).

Een van de manieren om informatie over te brengen is via een (web)formulier. Normaal gesproken POST je de informatie naar een PHP-script. Dit doe je door in het action-attribuut van het formulier de bestemming van dit formulier aan te geven, bijvoorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form action="verwerk.php" method="post">
... de rest van je formulier ...
<button type="submit">verstuur!</button>
</form>

Alle formulier-informatie is na versturen beschikbaar in verwerk.php via het zogenaamde superglobal array $_POST.

Heb je bijvoorbeeld een tekstveld "naam" in dit formulier staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="text" name="naam">


Dan is de waarde van dit veld na versturen naar verwerk.php beschikbaar via $_POST['naam'].

Dit is de globale werking, maar het loont de moeite om je wat verder te verdiepen in een nette verwerking en afhandeling van (het versturen van) formulieren.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

22/10/2017 19:45:26
Quote Anchor link
Hallo Piet,

Omdat jij nog worstelt met deze materie die voor jou nog compleet nieuw is kost je het ook moeite om je vraag goed uit te leggen waardoor het voor ons gissen is. Maar ik ga een poging doen.

Om het maar even heel basaal te zeggen: PHP en HTML hebben niets met elkaar te maken.

Dit komt omdat PHP een script is dat op de webserver draait. HTML zorgt er voor dat je browser iets op het scherm toont.

Hoe werkt het dan?
1) jij typt het volgende in de URL balk van je browser: http://phphulp.nl
2) Jouw browser verstuurt een verzoek om index.php te ontvangen naar de webserver van phphulp.nl
3) De server van phphulp.nl start het script index.php en wacht tot het script zichzelf beëindigd.
4) De Output* van het script wordt teruggestuurd naar jouw browser
5) Je browser probeert het antwoord van de webserver netjes op het scherm te tonen.

* output is alles wat wat je script uitspuugt. Veelal is dit HTML maar kan ook gewoon tekst zijn of bijvoorbeeld een foto, een pdf of nog heel wat andere bestandsformaten.

De output van dit script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<p><?php echo 'blablabla'; ?></p>

is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<p>blablabla</p>


Ben je nieuwsgierig naar hetgeen je script eigenlijk uitspuugt, kijk dan eens naar de bron van de pagina. Meestal vindt je die optie onder je rechter muisknop en anders wel in het browser menu.

Hoe kunnen we dan toch variabelen data van browser naar server versturen?
Dat kan op vele manieren. De belangrijkste zijn:
- Middels HTML formulieren of zoals je wilt via POST variabelen
- Middels GET variabelen
- Middels AJAX. (Dit heeft alles te maken met javascript dat wel in de browser draait)
Gewijzigd op 22/10/2017 19:51:47 door Frank Nietbelangrijk
 
Piet Meijer

Piet Meijer

22/10/2017 19:56:48
Quote Anchor link
@Thomas @Frank
Dit is info die ik nodig heb. Wellicht dat dit later in het boek nog aandacht krijgt. Maar ik ga er zeker mee aan de slag.

Bedankt voor jullie reacties!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.