Includen lukt niet

Status
Niet open voor verdere reacties.

janyep

Gebruiker
Lid geworden
7 mei 2008
Berichten
261
Hallo mensen,
op het javascript-forum ben ik al mooi op weg geholpen, maar het lukt nèt niet:

op mijn site heb ik 2 x hetzelfde navigatie-menu gezet:

/* nav-menu writed in the site itself: */ is compleet opgenomen in de html van de pagina zelf en werkt prima

/* nav-menu included: */ probeer ik te includen maar dat lukt niet.
De stijl staat gewoon in de HEAD van de pagina zelf en gaat ongeveer zo:
Code:
#nav, #nav ul {...}
#nav ul {...}
#nav a {...}
#nav a:hover {...}
#nav a.daddy {...}
#nav li {...}
#nav li ul {...}
enz. enz. enz. : allemaal met #nav

Een stukje javascript staat ook gewoon in de HEAD van de pagina zelf:
Code:
<SCRIPT type="text/javascript"><!--//--><![CDATA[//><!--
// -------BEGIN-SCRIPT-NAVIGATIE-MENU-------bron:-htmldog.com/Articles/suckerfish/dropdowns/example/-------

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
// -------EINDE-SCRIPT-NAVIGATIE-MENU-------
//--><!]]></SCRIPT>


In de BODY van de pagina zelf heb ik opgenomen:
Code:
<!-- NAVIGATIE-MENU: http://www.htmldog.com/articles/suckerfish/dropdowns/example/ -->
<div ID="nav">
<?php include("menu.html"); ?>
</div>
<!-- EINDE NAVIGATIE-MENU -->
<div style="clear: left;">&nbsp;</div>

Ik heb een menu.html aangemaakt: zonder HEAD en BODY, alleen met
Code:
<UL ID="nav">
<LI>bla bla bla
<LI>bla bla bla
</UL>

Er stond al een .htaccess online, en nadat ik dat had aangevuld, was de website niet meer normaal in FF te zien: FF vroeg eerst de pagina te downloaden. Dat vond ik geen optie en daarom toch maar weer ongedaan gemaakt.
Aan dat .htaccess had ik de volgende (bovenste) regel toegevoegd, en compleet zag dat er dan zo uit

Code:
AddType application/x-httpd-php .html
# -FrontPage-

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>

Weet iemand wat hier mis gaat? In ieder geval bedankt voor het lezen van dit verhaal :thumb:
Gr Janyep
 
Laatst bewerkt:
De enige reden dat dat kan gebeuren is dat Firefox niet door heeft dat het hier om html bestanden gaat. Dat komt doordat het type "application/x-httpd-php" is inplaats van "text/html"

Er zijn twee manieren om dit op te lossen.

Je kunt in elk html bestand deze regel toevoegen helemaal aan het begin van het bestand, zonder spaties of linefeeds ervoor. Dit zou altijd moeten werken.
Code:
<?php header("Content-Type: text/html") ?>

Of, op deze manier hoef je niet al je html bestanden aan te passen, voeg deze lijntjes toe aan je .htaccess bestand.
Ik weet alleen niet zeker of dit werkt, misschien maakt het het effect van de AddType ongedaan.
Code:
AddType application/x-httpd-php .html
RewriteEngine on
RewriteRule ^(.*\.html)$ $1 [nc,l,type=text/html]
 
Hoi!
sorry,

in .htaccess
AddType application/x-httpd-php .html

en in .html op allereerste regel
<?php header("Content-Type: text/html") ?>

geeft voor àlle pagina's in de root:

TESTdeel_2_no.html_openen.gif


en, waarom het begon: het menuutje werkt ook nog niet :eek:

(eerst de tweede mogelijkheid geprobeerd: idem)

'k Heb de makers van het menu benaderd, maar niets teruggehoord. Jammer!
 
Hmm, het begint erop te lijken dat je server geen php ondersteund.

een makkelijk test, maak een bestande phpinfo.php en zet dit erin:
PHP:
<?php

phpinfo();

?>

Krijg je nu uitgebreide informatie over php, kun je dan misschien een linkje anar het bestand sturen? Misschien draait het als CGI, dan moet het .htaccess bestand anders geconfigureerd.

Krijg je geen uitgebreide informatie, dan ondersteund je server helaas geen php :( (of hij is onjuist geconfigureerd)
 
Doctype ??

Hallo Glest,
Weer veel dank voor je interesse / hulp :thumb:

'k Zal het later vandaag nog uitproberen, maar ik zit bij http://www.one.com/nl/ [ € 1,25 ] en daar zit PHP5 bij in.

Zou er een verkeerde DOC TYPE op m'n pagina staan?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

gr Janyep
 
Nee, je doctype kan er niks mee te maken hebben. Firefox krijgt een MIME type die niet weergegeven kan worden dus wordt je gevraagd het te downloaden.

Een content-type header zou di op moeten lossen, behalve als je bestanden niet al php worden geparsed. Het kan zijn dat php als CGI draait, of nog iets anders. Dan werkt de standaard AddType [blalbabla] in een htaccess bestand niet. Maar als een link stuurt naar je phpinfo.php bestand kunnen we zien of je wel of niet php hebt, en hoe het geconfigureerd is, en hoe je dus je htaccess bestandje moet configureren.
 
Er komt beweging in ... ?

Hallo !
sorry van de DOCTYPE

De link .php werkt.
Zou je er eens naar willen kijken? Ik haal er uit: Server API: CGI/FastCGI . Maar ja, ik kan er heel gewichtig naar kijken: voor wat het betekent: ????

Opmerking: het .httaccess heb ik toch weer blanco gemaakt (FF bleef om download vragen) en daarvoor in de plaats begint de .html nu met:
<!-- IE in quirks mode d.i.v.m bannerbottom --><?php header("Content-Type: text/html") ?>

Is dit okay? Weer bedankt!

Janyep
 
Laatst bewerkt:
dubbele ID

Hallo Glest, hallo iedereen,

Durf het haast niet te vragen, maar zou ik toch nog even mogen?

Eerder hebben we het hier over gehad:
Code:
In het menu.html heb ik staan <UL ID="nav">
In de website heb ik staan
    <div id="nav">
    <?php include("menu.html"); ?>
    </div>
Die ID is dubbel, hoort dat zo of juist niet?

Omdat je vertelde "ID's hoor je niet dubbel te gebruiken, dus je kunt de twee elementen beter een andere ID geven"

dacht ik dat daar ook nog wat aan moest gebeuren. Alleen, de STYLE is best complex, en voor een amateur als ik lijkt het best lastig om de #nav's uit elkaar te halen:
Code:
#nav, #nav ul { }
#nav ul { }       
#nav a  { }       
#nav a.daddy { }  
#nav li { }       
#nav li ul { }    
#nav ul li, #nav ul ul li { } 
#nav li li { }    
#nav li ul a { }  
#nav li ul ul { }

en daarom heb ik nu in het menu.html staan:
<LI>bla bla bla
<LI>bla bla bla

en in de website:
<UL ID="nav">
<?php include("menu.html"); ?>
</UL>


'Dachten jullie ervan?

Groeten Janyep

ps. ik ben echt heel blij met jullie, en aangezien een standbeeld niet meevalt: in ieder geval maar een extra linkje :cool:
 
Laatst bewerkt:
Ok, het draait als CGI. Dat verklaart waarom addType niet werkt.

Dat maakt het wat lastiger... Het is wel mogelijk, maar enigzins irritant. Je kunt dit lezen als je het toch wilt, maar er is een andere manier.
http://www.webmasterworld.com/forum88/603.htm

Je kunt ook de rewrite engine gebruiken om alle verzoeken naar een html bestand doorverwezen worden naar een php bestand.

Daarvoor moet je het voglende doen in je .htaccess bestand:
Code:
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]

En vervolgens al je bestanden hernoemen naar .php. Je links en dergelijke kunnen dan gewoon naar html bestanden verwijzen, het komt uiteindelijk bij het php bestand terecht.



Over je ID's, haal de id van de ul weg. Laat de id in de div staan.
Code:
<div id="nav">
<?php include("menu.html"); ?>
</nav>

en in menu.html
Code:
<ul>
  <li>blabla</li>
  <li>blabla</li>
  <li>blabla</li>
</ul>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan