Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Include probleempje bij HTML i.c.m. PHP

Annie
4 antwoorden
  • Als vervolg op mijn vraag van vorige week (wat overigens keurig netjes is opgelost hier, het volgende:

    Wederom een vraagje met betrekking tot HTML in combinatie met PHP
    Ik heb een PHP bestand dat een HTML pagina genereert, bovenaan in deze pagina heb ik een verwijzing staan naar een include file.
    Wanneer ik nu na het aanklikken van een knop een functie aanroep uit de include file krijg ik een melding "Fout in pagina".
    Wie vertelt mij wat ik fout doe ?
    Voor de duidelijkheid zal ik proberen het probleem enigzins simplistisch in code weer te geven:

    Hier de code van het hoofdbestand:

    [code:1:d080a6e0a8]
    <?php

    include_once("inctest.php");

    echo("<INPUT type=\"button\" name=\"testen\" value=\"testknop\" onclick=\"testknop()\">");
    ?>
    [/code:1:d080a6e0a8]

    Hier de code van het include bestand, genaamd inctest:

    [code:1:d080a6e0a8]
    <?PHP

    function testknop()
    {
    echo("<script>alert(\"U heeft de testknop aangeklikt.\")</script>");
    }
    ?>
    [/code:1:d080a6e0a8]

    Uiteraard is de orginele code beduidend uitgebreider, er moet data opgeslagen en/of opgezocht worden in een database, maar het gaat mij in dit geval even om het principe, wat doe ik fout en hoe moet ik het dan wel doen.
    Overigens, wanneer ik de functie "testknop" in het hoofdbestand schrijf dan gaat het wel goed maar ik wil graag e.e.a. opsplitsen om een overzichtelijk geheel te houden.
    Alvast bedankt voor het meedenken.

    John

    PS
    Ik heb zelf het hele sterke vermoeden dat het alles te maken heeft met het feit dat ik probeer een in PHP geschreven functie aan te roepen vanuit HTML terwijl deze functie niet bekend is in HTML maar hoe maak ik het bestaan er van dan wel bekend bij HTML ?
    Het echoën van de include opdracht brengt ook geen oplossing maar dat heeft volgens mij alles te maken met het feit dat HTML de include opdracht niet kent.
  • Volgens mij snap je het principe niet helemaal… Eens kijken of ik het een beetje kan verhelderen.

    PHP is een server side taal, d.w.z. dat het op de server wordt uitgevoerd en vervolgens wordt het [b:391a78ef0b]resultaat[/b:391a78ef0b] naar de browser gestuurd. De eindgebruiker merkt dus feitelijk niets van PHP. Het enige dat de browser ziet is wat je genereert, meestal komt dit neer op [i:391a78ef0b]echo()[/i:391a78ef0b] of vergelijkbare functies.

    HTML is een structuurtaal. Het wordt gebruikt om de onderlinge relaties van een document vast te leggen. Kopjes, lijsten, paragrafen. Meer is het niet.

    JavaScript is een client side taal, d.w.z. dat het op de computer van de gebruiker wordt uitgevoerd. Hierdoor loop je gelijk tegen een aantal beperkingen op, zo kan een gebruiker JavaScript uitschakelen, maar dat even ter zijde. HTML "ziet" geen JavaScript en heeft er niets mee te maken. Andersom kan JavaScript wél HTML zien (ietwat simplistisch, maar het gaat om het idee). Als je zorgt dat het script correct is zal het werken, ongeacht de manier waarop het door de server naar de browser (client) wordt gestuurd.

    Ik hoop dat dit het een en ander verduidelijkt.

    Overigens lijkt het me dat er makkelijkere manieren zijn om jouw probleem op te lossen. Waarom zou je JavaScript door PHP laten includen in elke pagina? Plaats het script simpelweg in een apart bestand en link ernaar vanuit de header van een willekeurige pagina.[code:1:391a78ef0b]<script type="text/javascript" src="/pad/naar/bestand.js"></script>[/code:1:391a78ef0b]Misschien dat het een deel van je probleem oplost.

    Succes! ;)

    - Bas
  • Het is mij duidelijk dat PHP op de server uitgevoerd wordt en HTML een uitvoer is.
    Wat is nu de bedoeling ?
    Ik wil een site maken waar mensen zich dienen te registreren.
    Ik heb dus een HTML pagina waar de gegevens ingevoerd moeten worden en een knop of link "Registreer".
    Op het moment dat die knop aangeklikt wordt is het de bedoeling dat die gegevens (Op de server :-) ) in een database geplaatst worden en aangezien dat een procedure is die herhaaldelijk, en misschien vanaf verschillende lokaties op de site, uitgevoerd zal worden wil ik dat soort dingen graag in een PHP-functie plakken welke via een include bestand bereikbaar is. Mijn probleem zit hem er in dat ik even niet zie hoe ik die functies in die include bestanden kan bereiken.

    Het is dus niet zo dat ik bij het aanklikken van die knop even simpel een ander iets op het scherm wil tonen (zoals het laten weten dat de testknop bediend is), ik wil dat er een serieuse bewerking wordt uitgevoerd die volgens mij zelfs niet met HTML uitgevoerd KAN worden.

    Het gaat mij dus puur om het principe van hoe koppel ik die 2 nu aan elkaar en het tonen van het bedienen van die testknop is puur om te kijken of er ook gebeurd wat ik wil dat er gebeurd.
    Ik wil dat soort meldingen ook gebuiken om bij problemen te kijken of ik wel in de functie zit waar ik in wil komen en eventueel waar ik in de functie zit om te kijken of selectiecriteria (zoals if-then en case) wel goed zijn ingevoerd door mij.
  • Kijk hier even zou ik zeggen… http://www.jacqieline.com/tutorials.php?action=show&id=105 Misschien dat je er wat aan hebt

Beantwoord deze vraag

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