PDA

Bekijk Volledige Versie : PHP in HTML?



Schaap
27/11/04, 14:46
Beste mensen hier,

Ik wil een PHP file laden in HTML.

Ik weet maar 2 methoden om dit te verwezelijken maar ben er van overtuigd dat er nog een betere is :)

1.) Een Iframe gebruiken ( Oh boy.. looks so unpro. )
2.) In je httpd.conf bij php schrijven dat .html een php file is ( ook unpro. )

Weet iemand een oplossing?

Kurtje
27/11/04, 15:10
Ik denk dat het anders dan die niet mogelijk is. Misschien kun je iets met een DIV doen, alhowel dat weer niet fijn werkt.

Kun je eens meer informatie geven over de opbouw van je pagina en de motivatie achter je keuze ? Want waarom zou je PHP willen laden in HTML, wat bedoel je daar mee en hoe zou je het graag willen (uitkomst).

Xerious
27/11/04, 15:20
Volgens Webmensen.nl (http://www.webmensen.nl):


Waarom zou je PHP in .html bestanden willen gebruiken?
- Omdat je bijvoorbeeld een index.html hebt gemaakt waarin
je PHP wilt gaan gebruiken
- Omdat je niet al je .html bestanden wilt renamen naar .php als
je net begint met PHP
- Omdat je .html mooier vindt dan .php.

PHP in .html bestanden gebruiken??
Dat kan toch helemaal niet!
Inderdaad, eigenlijk kan het helemaal niet,
maar door de volgende dingen te doen kan het wel!
Hiervoor moet je wel Apache hebben.

Maak eerst een .htaccess bestand aan (zie de Artikelen).
Zet daar het volgende in:

AddType application/x-httpd-php html


Heb je al een .htaccess bestand, zet dit dan op
een nieuwe regel. Upload het .htaccess bestand
en je kan PHP in .html bestanden draaien!

Wat heb ik nu eigenlijk gedaan?
Je hebt er nu voor gezorgd dat .html bestanden
worden herkend als .php bestanden. Wil je dit ook
voor andere bestanden (zoals .htm) doen, plaats
dan die regel nogmaals in je .htaccess bestand
en maak van 'html' 'htm'.

mguilmot
27/11/04, 15:27
En daarmee zit je in zijn puntje 2 die hij unpro vond.

Het het enige verschil dat je het niet in httpd.conf doet maar in een .htaccess :p

Carl<n-media>
27/11/04, 16:20
Waarom maak je niet gewoon van alle bestanden php? Je kunt gewoon HTML in php bestanden gebruiken.

TSG-Hans
27/11/04, 16:40
Erg onverstandig om .html files door de php interpreter te laten parsen. Zo worden ook "gewone" html files geparsed, met alle onnodige overhead voor Apache en PHP.

Schaap
27/11/04, 17:16
Origineel geplaatst door Carl&lt;n-media&gt;
Waarom maak je niet gewoon van alle bestanden php? Je kunt gewoon HTML in php bestanden gebruiken.

Leg maar eens uit aan alle mensen die bij je hosten dat ze geen html meer mogen gebruiken ( geen .html ) maar alleen .php..

Het is voor een banner systeem,
een google ad + een eigen counter systeem moeten op hetzelfde moment geladen worden met een zo'n kort mogelijk stukje die in iedere html file moet toegevoegd worden.

Natuurlijk kan je ook banners forceren op iedere website, maar meestal verbrod dat de stijl van het design.

MediaServe
27/11/04, 17:24
Wellicht kun je hier iets mee? :)
http://www.carleton.ca/~dmcfet/html/ssi.html

Schaap
27/11/04, 18:11
Daarvoor moet iedereen SSI enabled hebben, dus dat is ook weer een minpunt :(

Carl<n-media>
27/11/04, 18:36
@STABLE en Schaap
Ik bedoel wat anders. Je kunt gewoon de extensie van .html naar .php wijzigen. Je code ziet er dan bijvoorbeeld zo uit:


<html>
<head>
<title>Untitled Document</title>
</head>

<body>
<?php include(bestand.php); ?>
</body>
</html>

TSG-Hans
27/11/04, 18:49
@Carl,

Mijn opmerking was geen reactie op jouw antwoord, maar op dit idee van Xerious:

AddType application/x-httpd-php html -> in httpd.conf.

maxnet
27/11/04, 18:51
Je kan ook alle requests naar 1 PHP script sturen.

AliasMatch .* jescriptje.php

Vervolgens kan je op basis van de $_SERVER variabelen zorgen dat het juiste html bestand wordt geserveerd en banner spul op de juiste plaats wordt toegevoegd.

_arno_
27/11/04, 19:30
misschien kun je iets van een javascriptje laden die een php file include ?

Xerious
27/11/04, 19:33
Origineel geplaatst door STABLE
@Carl,

Mijn opmerking was geen reactie op jouw antwoord, maar op dit idee van Xerious:

AddType application/x-httpd-php html -> in httpd.conf.

Psst, dat is is httacces! En het was niet mijn idee, ik gebruik gewoon de PHP extentsies met daarin HTML :)

Schaap
27/11/04, 21:27
Origineel geplaatst door _arno_
misschien kun je iets van een javascriptje laden die een php file include ?

Is waarschijnlijk het beste,

maar weet jij hoe het moet?



Ik bedoel wat anders. Je kunt gewoon de extensie van .html naar .php wijzigen. Je code ziet er dan bijvoorbeeld zo uit:


Is geen oplossing, stressed de server meer + moet je nog altijd alles renamen, toch?

MediaServe
27/11/04, 22:05
Misschien biedt XML de oplossing?
http://www.w3schools.com/xml/tryit.asp?filename=cd_catalog_island_thead

Je kunt gewoon het PHP bestand aanroepen in plaats van een XML bestand. Moet je er wel voor zorgen dat het PHP bestand XML parsed.

mguilmot
27/11/04, 22:05
Is geen oplossing, stressed de server meer + moet je nog altijd alles renamen, toch?
Scriptje kan alles in 1x renamen? ;)

Schaap
27/11/04, 22:13
LOL, ja, ook als er iedere dag 100 pagina's bijkomen? :)

Ondertussen is het probleem opgelost, ik dacht dat het niet werkte met Iframes ( Dat adsense dan niet meer de keywords vind ) maar het blijkt dat het dus wel werkt.

Case closed: solution: Iframe

VisionHost
27/11/04, 22:38
Zolang jouw html geen php open tags heeft hoeft hij niks te parsen en zal het dus eigenlijk qua snelheid niks uitmaken.

Je kunt dus rustig je file renamen naar php en dan alsnog de file includen.

mxcreep
30/11/04, 09:42
Zoek eens op httpRequest object...daarmee kun je door middel van een stukje javascript een aanroep doen op een script, voorwaarde is wel dat die in hetzelfde domein zit, cross domain scripting is niet default toegestaan....de string die het script oplevert kun je vervolgens weer door middel van javascript ergens op je pagina gebruiken...
Overigens is er een wrapper scriptje wat er voor zorgt dat de initialisatie zowel voor IE als mozilla goed werkt...
Het is een perfekte manier om statefull pagina's te creeeren...en ook erg handig als je een set formulier velden op basis van een selectbox of een set radio buttons wil vullen met steeds verschillende info...