Gebruik van eigen aangemaakte PHP-code

Een collega van mij heeft een eigen map 'php' aangemaakt met daarin het bestand 'inschrijvingen.php'.

Als hij vroeger (Drupal 7) in de browser www.seniorama.one/php/inschrijvingen.php typte, werd dat uitgevoerd. Nu krijgt hij een 'Permission denied' te zien hoewel de map 'php' als rechten 0777 heeft.

Als we in een pagina een link maken naar dit PHP bestand, krijgen we de tekst "Forbidden
You don't have permission to access /php/inschrijvingen.php on this server." te zien.
Deze link staat helemaal onderaan pagina http://www.seniorama.one/node/22

Heeft iemand een idee wat er verkeerd loopt?

Drupalversie: 
8.x
Auteur: 
Patrick Ruytings
afbeelding van jo.w
Door jo.w op 4 april, 2019 - 12:19

En waarom een eigen php-script? Drupal heeft toch zelf voldoende mogelijkheden? Hetzij via een contenttype, hetzij via de webform module.

Webform heeft dan nog het voordeel dat je diegene die inschrijven een mailtje kan sturen om hun inschrijving te bevestigen, dat je kan een limiet zetten op het aantal inschrijvingen, dat je de "organisator" een mailtje kan sturen met de gegevens van diegene die inschrijft, enz...

Jo

Door Patrick Ruytings op 4 april, 2019 - 17:26

Eerst en vooral: bedankt voor je reactie! Zo weten we al zeker hoe het in Drupal 8 moet.
Ik heb je antwoord doorgestuurd naar mijn collega, maar die heeft nog een extra probleem.

Ik quote hem: "Ik heb een webformulier aangemaakt met als naam "Inschrijvingen".
Daarna heb ik onder "broncode" mijn php-programma hierin gepaste.
Resultaat is echter niet fraai: enkel de html-code wordt herkend en weergegeven.
De php-code wordt gewoon als tekst achter elkaar geplaatst tussen de html-weergaves.
In een webformulier kan blijkbaar geen php-code worden uitgevoerd.
Kan je aan de Drupal gemeenschap eens vragen hoe ze dan een database-gestuurd webformulier aanmaken?"

afbeelding van Niek Kloots
Door Niek Kloots op 4 april, 2019 - 20:19

Of je tekst in een node gaat in Plain Text, of Filtered HTML of Full HTML of php code, maar een combinatie gaat niet.
Je zal jouw eigen programma, denk ik, als javascript moeten schrijven en dat in de node importeren.

Er bestaat wel een niet ondersteunde module https://www.drupal.org/project/webform_php
Ik zou zeggen probeer die eens uit en als het bevalt kan je collega misschien die module wel veilig (naar Drupal maatstaven) maken.

Door Patrick Ruytings op 5 april, 2019 - 17:18

Vooreerst: ook jij bedankt voor je reply!
Dit is dan weer een reply van mijn collega:
"Het forum zegt dat geen mix van html en php toegelaten is in pagina's, dus heb ik het hele formulier in php omgevormd, waarbij de html-lijnen in echo commando's binnen php worden gestoken. Ik heb terug heel de code in de webform gepaste, resultaat blijft hetzelfde: de php-code wordt niet uitgevoerd. Onder bewerken zie ik echter maar 4 "display" modi: full-html, restricted-html, basic-html en plain-text, maar geen native-php.
Het forum geeft ook geen antwoord op mijn vraag hoe men een database gestuurd webformulier aanmaakt en het zou toch wel mogelijk moeten zijn om die restricted access tot mappen op te heffen, alleszins zeker voor interne oproepen via een link vanuit een pagina binnen Drupal.
Kan je het forum nog eens lastig vallen met deze opmerkingen?"

afbeelding van Niek Kloots
Door Niek Kloots op 5 april, 2019 - 19:57

php moet je apart activeren.

Bij D7 te vinden op :
...../admin/config/content/formats en
...../admin/people/permissions en
...../admin/config/content/ckeditor

D8 zal wel iets vergelijkbaar hebben.

afbeelding van jo.w
Door jo.w op 6 april, 2019 - 12:02

Laat je collega eens zelf een account aanmaken!

Jo

afbeelding van Niek Kloots
Door Niek Kloots op 5 april, 2019 - 20:02
afbeelding van belba
Door belba op 27 april, 2019 - 13:02

Drupal 8 werkt met Twig frame op basis van Symphony. Volgens mij ga je je code in OOP moeten schrijven. Wat jij wil bereiken ga je een eigen module moeten schrijven om je formulier aan te maken. Dit in de hierboven beschreven code. Zoals eerder opgemerkt het je zelf moeilijk maken, als je de module Webform hebt. Google eens op D8, create a custom form, dan ga je de basis code terug vinden. Zelf gebruik ik daarvoor Drupalconsole.
Deze handleiding kan je op weg helpen om het proces te verstaan.

Succes, Jan

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.