hoe deze php code invoegen via javascript in element

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul Weiss

Paul Weiss

13/03/2025 18:51:47
Quote Anchor link
Ik vraag mij af hoe ik het onderstaande stukje php als pure tekst kan plakken binnenin een bestaand element in html via javascript. ik heb momenteel een cms systeem waarbij ik vanuit een pagina een import wil hebben naar een extern bestand. handmatig in de code aanpassen wil ik niet doen. Hoop dat het duidelijk is wat ik bedoel. Ik heb al geprobeerd om het stuk php in een localstorage variable op te slaan, maar dat kreeg ik qua syntax niet voor elkaar. Heeft iemand een idee hoe ik dit voor elkaar kan krijgen? het chat gpt zelfs al geprobeerd, maar kwam er niet aan uit.
stel ik heb dus onderstaande stukje html. daarin moet dus de php komen.

<p id="test">hier zou het stuk php moeten komen</p>


onderstaande moet in bovenstaande stukje html element als het ware geplakt worden

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
INCLUDE '../../headers/online/index.html';
?>
 
PHP hulp

PHP hulp

15/03/2025 06:38:39
 
- Ariën  -
Beheerder

- Ariën -

13/03/2025 18:56:46
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<p id="test">
<?php
include '../../headers/online/index.html';
?>

</p>

Dit zou moeten werken.

Toevoeging op 13/03/2025 19:01:13:

Trouwens, als chatGPT er niet uitkomt, dan vraag ik mij af of jij het jezelf niet te lastig maakt een opmerkelijke constructie.
Gewijzigd op 13/03/2025 19:01:58 door - Ariën -
 
Paul Weiss

Paul Weiss

13/03/2025 19:01:50
Quote Anchor link
Ik denk dat je mijn vraag niet heb begrepen. maar het volledige php gedeelte (zie hieronder) moet in zijn geheel worden opgeslagen in een javascript localstorage. vervolgens dient de inhoud daarvan dus in het dokument worden ingevoegd!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include '../../headers/online/index.html';
?>


via een invoeg functie binnen javascript moet dus de inhoud van deze local storage in het p element met id "test". worden geplakt.

Ik heb het php gedeelte al opeslagen als volgt. maar dat werkt niet!

var test = `
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
INCLUDE '../../forms/form_output/paul2.html';
?>
`;

localStorage.setItem("content_form", test);
 
- Ariën  -
Beheerder

- Ariën -

13/03/2025 19:04:13
Quote Anchor link
Precies waar ik voor vreesde in mijn bewerkte bericht. :P

Het is ook vrij logisch dat dit niet werkt. Want PHP draait op de serverlaag, en localstorage op de onderliggende cliënt laag. Die heeft geen weet van PHP.

Toevoeging op 13/03/2025 19:10:07:

Opsich heeft de uitvoer van PHP al plaatsgevonden. Dus het zou moeten werken. Al snap ik niet waarom je het zo complex maakt. Ik ken simpele CMS structuren. Heb je ooit een templatesysteem (bijv. Twig of Smarty) overwogen?
Gewijzigd op 13/03/2025 19:16:30 door - Ariën -
 
Paul Weiss

Paul Weiss

13/03/2025 19:23:11
Quote Anchor link
nou het cms systeem is al bijna klaar. heb ook en formbuilder. maar wil vanuit html nog een link maar naar een formulier. kan dit doen via shortcodes. op zich werkt dat goed. alleen ik krijg de shortcode nog niet goed in de pagina geplakt als het ware. wellicht dat ik hier toch maar even verder induik om dit goed te krijgen. dacht met php import dat het eenvoudig met copy en paste te doen zou zijn.
 
Ivo P

Ivo P

13/03/2025 21:07:25
Quote Anchor link
misschien ligt het eraan dat javascript niet altijd even goed snapt dat een string zich over meerdere regels kan verdelen.
 
- Ariën  -
Beheerder

- Ariën -

14/03/2025 08:40:20
Quote Anchor link
Kijk vooral in de HTML-souece van je browser.
 
Paul Weiss

Paul Weiss

14/03/2025 12:35:48
Quote Anchor link
bedankt voor jullie reacties. Ben toch maar met shortcodes aan de gang gegaan. mest de shortcode gewoon copy paste doen. ook nog een apart javascript aangemaakt die de shortcodes op de pagina uitleest en een php import van alle formulieren. de shortcode geeft het formulier dan netjes weer. moet aleen nog even het script aanpassen zodat ik het formulier kan uitlijnen en fontkleur tekst kn aanpassen etc.. Dat komt goed. aan de andere kant zou ik toch willen proberen al is het voor andere doeleinden hoe ik een php import in de html kan plakken. had dit voor elkaar, maar op 1 of andere manier werkt de import niet. na ja in ieder geval heb nu een andere oplossing
Gewijzigd op 14/03/2025 12:59:15 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

14/03/2025 13:50:37
Quote Anchor link
Ikzelf ben momenteel ook bezig met een systeem om met shortcodes widgets in pagina's toe te voegen. Het moet met de volgende shortcodes gaan werken, die uiteraard eenvoudig via een config-file uitbereidbaar zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<cms-image data-image-id="42"></cms-image>
<cms-gallery data-gallery-id="5"></cms-gallery>
<cms-youtube data-youtube-id="AbCdEfG123"></cms-youtube>
<cms-x data-post-id="1234567890"></cms-x>
<cms-instagram data-instagram-id="1234567890"></cms-instagram>
<cms-poll data-poll-id="1234"></cms-poll>


Zelf gebruik ik CKeditor 4, en met wat aangepaste instellingen (die ik even moet opzoeken op een andere computer) worden deze tags binnen de editor geaccepteerd. Ook moeten er dan widgets voor komen die je in de WYSIWYG-weergave ziet, een placeholder dus met een plaatje van een X, Youtube-logo, poll etc, of misschien zelfs dynamisch met de juiste data. Dan heb je meteen een overzicht dat er in ieder geval een widget gebruikt wordt.

Misschien kan jij of kunnen anderen er wat mee. Als ik een testcase werkend heb (staat niet op een hoog pitje hier) dan zal ik eens kijken of ik het op Github kan zetten. Ik vind het fijn om mooie projecten daar op te plaatsen.
Gewijzigd op 14/03/2025 13:52:55 door - Ariën -
 



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.