PHP functie gebruiken in script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan te Pas

Jan te Pas

13/03/2018 15:02:30
Quote Anchor link
ik was aan het stoeien om in mijn code een veld op te nemen die de gebruiker kan invullen. Waarbij, onchange wordt gebruikt om, in een ander veld een aangepaste tekst op te nemen.

Dit is een test voor mij om te kijken of ik krachtige functies kan gebruiken in javascript. In een formulier kan in PHP niet triggeren als ik een veld aangepast heb.

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
21
<?php
function vervang($a) {
    $a=str_replace("o","e", $a);
    $a=str_replace("u","ii",$a);
    return $a;
}

?>

<html>
<body>
zoekwoord:<br>
<input type="text" id="klein" size="12" onchange="verander(this.value)">*<br>
<input <input type="text" name="omgekeerd" id="omgekeerd" required="required"  size="30">
<script>
function varander(val) {
     var droom = "<?php vervang(val); ?>";
     document.getElementById("omgekeerd").value = droom;

}
</script>
</body>
</html>


Ik heb eea geprobeerd, maar het lukt mij niet.
var droom =
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php vervang(val); ?>
;

Heeft iemand daar kaas van gegeten of hoe lossen jullie zoiets op?

Toevoeging op 13/03/2018 15:09:10:

Jan te Pas op 13/03/2018 15:02:30:
ik was aan het stoeien om in mijn code een veld op te nemen die de gebruiker kan invullen. Waarbij, onchange wordt gebruikt om, in een ander veld een aangepaste tekst op te nemen.

Dit is een test voor mij om te kijken of ik krachtige functies kan gebruiken in javascript. In een formulier kan in PHP niet triggeren als ik een veld aangepast heb.

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
21
22
23
24
<?php
function vervang($a) {
    $a=str_replace("o","e", $a);
    $a=str_replace("u","ii",$a);
    return $a;
}

?>

<html>
<title>test</title>
<body>
zoekwoord:<br>
<input type="text" id="klein" size="12" onchange="verander(this.value)">*<br>
<input <input type="text" name="omgekeerd" id="omgekeerd" required="required"  size="30">
<script>
function verander(val) {
     //alert('oke');
     //document.getElementById("omgekeerd").value = val;
     //var droom = "<?php vervang(val); ?>";
     document.getElementById("omgekeerd").value = val;

}
</script>
</body>
</html>


Ik heb eea geprobeerd, maar het lukt mij niet.
var droom =
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php vervang(val); ?>
;

Heeft iemand daar kaas van gegeten of hoe lossen jullie zoiets op?
 
PHP hulp

PHP hulp

29/11/2024 17:46:18
 
- SanThe -

- SanThe -

13/03/2018 15:10:58
Quote Anchor link
Of je doet de replace dingen ook in Javascript, of je gebruikt AJAX.

Toevoeging op 13/03/2018 15:13:29:

En wat mag dit zijn: <input <input type="text" name=.....
 
Jan te Pas

Jan te Pas

13/03/2018 15:45:08
Quote Anchor link
Dat was knippen en plakken fout. Ik dacht dat het op deze manier simpel kon. Weet dat html in browser draait en php op de server. Maar ik denk te simpel. Dank voor de richting waarop ik het moet zoeken, AJAX ken,kan ik (nog) niet.
 
Thomas van den Heuvel

Thomas van den Heuvel

13/03/2018 15:48:55
Quote Anchor link
Ai.

Even wat misconcepties de wereld uithelpen.

JavaScript en PHP zijn twee compleet verschillende... werelden zelfs.

JavaScript "leeft" doorgaans alleen maar in de HTML van de browser op jouw computer. Dit wordt ook wel "client side" genoemd.

PHP "leeft" alleen maar op de webserver die de webpagina's genereert ("server side"), in de milliseconden dat een pagina gegenereerd wordt. Wat PHP uitspuugt en datgene wat daarna via de webserver naar de eindgebruiker wordt gestuurd is géén PHP meer, maar simpelweg HTML, een tekst, een gegenereerde afbeelding of wat dan ook.

PHP en JavaScript kunnen alleen maar informatie uitwisselen als er informatie van (PHP -> JavaScript) en naar (JavaScript -> PHP) de webserver wordt gestuurd.

Stel je zelf het volgende voor: wat gebeurt er als bovenstaande pagina wordt geladen op de webserver? Je definieert daar een functie en voert deze eenmalig uit met een niet-bestaande constante als parameter, PHP kent "val" immers niet. Vervolgens is de output van dit script dus de bovenstaande HTML, en mogelijk een notice of error over "val". Op geen manier is er vervolgens interactie mogelijk tussen PHP en JavaScript want het document bevindt zich nadien aan de client zijde waar PHP in het geheel afwezig is...

Doen anders eens rechtermuisknop > bron weergeven op het document - hier zit geen letter PHP meer in, enkel tekst en HTML.

De enige manier om "PHP-code-op-afroep-van-JavaScript" uit te voeren is door via JavaScript informatie terug te sturen naar een PHP-script op de server en de uitvoer daarvan weer op te vangen in JavaScript. Dit is wat een AJAX-call ook meestal doet. Deze communiceert op de achtergrond met de webserver en kan dan delen van een webpagina "dynamisch" updaten zonder de hele pagina te verversen.

In dit laatste geval wordt de pagina volledig opnieuw gegenereerd door PHP/de webserver. Dit is meer de originele manier van het weergeven van wijzigingen: het hele document wordt ververst. Met AJAX kun je partjes van een pagina interactief updaten in plaats van (de noodzaak om) het complete document opnieuw in te laden.
Gewijzigd op 13/03/2018 15:53:32 door Thomas van den Heuvel
 
Jan te Pas

Jan te Pas

13/03/2018 17:55:35
Quote Anchor link
Hoi Thomas, helder, dank voor de toelichting. Er is nog veel te leren.
 



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.