Ik zit met het volgende probleem.
Apache en PHP 5 zijn geinstalleerd via wamp. op mijn eigen browser wordt phpinfo.php weergegeven. PHP werkt.
Maar andere php pagina's worden niet altijd weergegeven. Dit geldt wanneer er met een string naar een url wordt verwezen.
Online bij een externe server draaien deze pagina's perfect, maar niet op mijn eigen pc, wat erg lastig is bij het webdesignen. Het gaat om code zoals:
<?php
echo
("<FRAMESET FRAMEBORDER=NO FRAMEBORDER=0 BORDER=0 ROWS=\"118,*\">
<FRAME SCROLLING=\"NO\" SRC=\"head.php?title=$id\" NAME=\"head\" NORESIZE>
<FRAME SCROLLING=\"AUTO\" SRC=\"$id.php\" NAME=\"main\" NORESIZE>
</FRAMESET>");
?>
</body>
Wie kan me helpen?
nee, de $id komt niet uit een formulier, maar uit de URL. In de url kun je nl beperkte data meezenden.
zoals bijvoorbeeld: SRC=\"head.php?title=$id\"
Maar dat funcioneert online goed, maar niet op mijn ofline op mijn pc.
Er is iets mis met mijn pc. Die moet blijkbaar anders ingesteld worden in combinatie met de apache-server en het php-programma. Maar wat!?
als je nu bijv een goede php editor gebruikt, bijv. php designer(wat gratis is) zo zijn er nog veel meer, dan zal je merken dat je code's fout zijn.
dit heeft te maken omdat je dubble qoutes gebruikt.
ik zal je laten zien hoe je deze codes het beste kunt gebruiken:
het beste is om html html te laten en php php. dus in dat geval sluit je php als je html wilt neerzetten en visa versa dus als volgt:
<?php
code code code
?>
<FRAMESET FRAMEBORDER=NO FRAMEBORDER=0 BORDER=0 ROWS="118,*">
<FRAME SCROLLING="NO" SRC="head.php?title=<?=$id?>" NAME="head" NORESIZE>
<FRAME SCROLLING="AUTO" SRC="<?=$id?>.php" NAME=\"main\" NORESIZE>
</FRAMESET>
zoals je kunt zien kan php ook in de html gewoon geopent en gesloten worden, nu weet ik niet zeker of je <?= moet gebruiken bij het openen op gewoon <? dit zou je even moeten testen, verder is het sluiten dus hetzelfde.
je zou ook met echo kunnen werken maar dan raad ik je aan single qoutes te gebruiken.
nee, de $id komt niet uit een formulier, maar uit de URL. In de url kun je nl beperkte data meezenden.
zoals bijvoorbeeld: SRC="head.php?title=$id"
Maar dat funcioneert online goed, maar niet op mijn ofline op mijn pc.
Er is iets mis met mijn pc. Die moet blijkbaar anders ingesteld worden in combinatie met de apache-server en het php-programma. Maar wat!?
verder wat je hier zegt klopt niet, je pc werkt prima
alleen variablen werken alleen als ze ook toegangelijk zijn, online zijn ze blijkbaar toegankelijk omdat daar de variable wel bekent is, en op je local host niet. zoals al wordt gezegt pak die variable uit de lucht als je een form gebruikt, dus met $_GET['id'] , voorbeeldje:
$id = $_GET['id'];
nu kan je $id gewoon gebruiken.
als een variable niet werkt heeft dit echt niks met je pc te maken, dus laat deze gedachte weg, de fout zit hem echt in je code's ik gebruik zelf xampp op men locale systeem om men website's locaal te testen en heb hier geen problemen mee ondervonden.
nog één vraagje met betrekking tot je oplossing:
ik kwam dit tegen in mijn PHP.ini
; You should do your best to write your scripts so that they do not require
; register_globals to be on;
Wat wordt daar précies mee bedoeld?
de directe vertaling van bablefish:
; U zou uw beste moeten doen uw manuscripten schrijven zodat zij niet vereisen; register_globals om te zijn;
eigen vertaling :P
je moet je script zo schrijven dat het niet nodig is die optie register_globals op on te zetten
oftewel pas je script aan, wat jezelf aan aangaf dat je dit niet wilde doen.