|
| problemer i forbindelse med redesign af hj~ Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 07:35 |
|
Hej,
I forbindelse med, at jeg er ved at redesigne min hjemmeside som jeg linker
til nederst i min signatur, er jeg stødt ind i et problem:
Jeg har på adressen
http://hjemmesideskolen.dk/html/dynphp.php?page=s1
fundet en artikel der handler om dymanisk include med php.
Efter hvad jeg har kunne gennemskue, kræver denne menu, at man lægger
filerne i mapper med sigende navne, da de enkelte filer jo blot bliver kaldt
s1.inc, s2.inc osv.
Det har jeg så gjort nu.
På min nuværende hjemmeside, kalder jeg alle mine links igennem en fil
kaldet for side.php.
Således vil den direkte adresse til emnet om Mobil Tale være:
http://www.boholdt-petersen.dk/side.php?id=10
Da jeg på den nye version har lagt filerne i selvstændige mapper, har jeg
tilsvarende rettet stierne i filen side.php, så de peger til de rigtige
mapper.
Jeg kan også fint kalde selve filen, men når jeg så efterfølgende klikker på
en af de menupunkter som jeg har inkluderet går der noget galt.
Lad os antage, at jeg klikker på linket der handler om overførsel af Mobil
Tale.
Så får jeg blot fejlen ugyldigt id.
Er der nogle der kan gennemskue hvor fejlen ligger?
Det skal siges, at den nye version endnu ikke ligger online, men blot ligger
lokalt.
Jeg har lagt den fil som jeg har tilrettet (side.php) op på følgende
placering:
http://www.boholdt-petersen.dk/side.txt
Jeg håber jeg har udtrykt mig ordentligt, ellers sig endelig bare til.
På forhånd mange tak for eventuelle svar.
--
/ Anders
http://www.boholdt-petersen.dk
| |
Johan Holst Nielsen (28-03-2007)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 28-03-07 08:54 |
|
Anders Boholdt-Petersen wrote:
> Jeg har lagt den fil som jeg har tilrettet (side.php) op på følgende
> placering:
> http://www.boholdt-petersen.dk/side.txt
Du har 2 else i din if,elseif,else sætning - det er ikke heeelt gyldigt ;)
if ($file_type == "php") {
include $sites_arr[$_GET["id"]];
break;
} else {
header("Location: $pagename");
}
} else {
echo "Ugyldig side";
}
skal være
if ($file_type == "php") {
include $sites_arr[$_GET["id"]];
}
elseif(!empty($pagename)) {
header("Location: $pagename");
}
else {
echo "Ugyldig side";
}
exit;
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 09:12 |
|
"Johan Holst Nielsen" <spam@phpgeek.dk> skrev i en meddelelse
news:460a1f0e$0$7607$157c6196@dreader2.cybercity.dk...
> Du har 2 else i din if,elseif,else sætning - det er ikke heeelt gyldigt ;)
Jeg har nu forsøgt at rette det, men der er desværre endnu en fejl, som ser
sådan ud:
Parse error: syntax error, unexpected $end in W:\www\side.php on line 67
Jeg har ledt efter det den skriver, men kan ikke lige finde udaf hvor fejlen
er.
Hvis andre kan vil jeg blive meget glad.
Filen som jeg pt. bruger ligger stadig på den sædvanllige placering:
http://www.boholdt-petersen.dk/side.txt
--
/ Anders
http://www.boholdt-petersen.dk
| |
MooreHojer (28-03-2007)
| Kommentar Fra : MooreHojer |
Dato : 28-03-07 09:30 |
|
> Du har 2 else i din if,elseif,else sætning - det er ikke heeelt
> gyldigt ;)
>
> if ($file_type == "php") {
> include $sites_arr[$_GET["id"]];
> break;
> } else {
> header("Location: $pagename");
> }
> } else {
> echo "Ugyldig side";
> }
Det er fordi nummer to else er en del af en anden betingelse som som den
betingelse du har med her er en del af, der er bare ikke brugt ordenlig
indrykning...
if (isset($_GET["id"]) AND isset($sites_arr[$_GET["id"]])) {
$pagename = $sites_arr[$_GET["id"]];
// Disse to linjer finder filtypen på filen
$file_type_dot = strpos($pagename, ".") + 1;
$file_type = substr($pagename, $file_type_dot);
// Hvis filen er en php-fil vises den
// ellers viderestilles brugeren
if ($file_type == "php") {
include $sites_arr[$_GET["id"]];
}
elseif(!empty($pagename)) {
header("Location: $pagename");
}
else {
echo "Ugyldig side";
}
exit;
?>
--
MooreHojer
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 09:40 |
|
"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:460a27af$0$90268$14726298@news.sunsite.dk...
Det driller stadig, denne gang samme fejl, blot i linie 68.
Jeg har som det er nu lagt filen side.php i rodmappen, mens alle de andre
filer ligger i selvstændige mapper.
Andre løsningsforslag modtages rigtig gerne!
--
/ Anders
http://www.boholdt-petersen.dk
| |
MooreHojer (28-03-2007)
| Kommentar Fra : MooreHojer |
Dato : 28-03-07 09:48 |
|
> "MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
> news:460a27af$0$90268$14726298@news.sunsite.dk...
>
> Det driller stadig, denne gang samme fejl, blot i linie 68.
>
> Jeg har som det er nu lagt filen side.php i rodmappen, mens alle de
> andre filer ligger i selvstændige mapper.
>
> Andre løsningsforslag modtages rigtig gerne!
slet først den elseif som Johan har tilføjet og erstat den med en else
igen
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 10:12 |
|
"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:460a2be9$0$90262$14726298@news.sunsite.dk...
>> "MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
>> news:460a27af$0$90268$14726298@news.sunsite.dk...
>>
> slet først den elseif som Johan har tilføjet og erstat den med en else
> igen.
Det har jeg nu gjort.
Nu får jeg samme fejl som da jeg startede (jeg har ikke kikket mig
ordentligt for på siden)!!!
Nederst, hvor jeg inkludere nogle filer (de pågældende filer ligger i roden
af min lokale webserver) optræder der nemlig følgende fejl:
---
Warning: main(../genereltbillede.php) [
function.main]:
failed to open stream: No such file or directory in
W:\www\mobiltale\mobiltale.php on line 43
Fatal error: main() [
function.require]:
Failed opening required '../genereltbillede.php'
(include_path='.;/usr/local/PHP/includes;/usr/local/PHP/pear') in
W:\www\mobiltale\mobiltale.php on line
43
---
Denne fejl optræder tilsyneladende kun, hvis jeg kalder filen mobiltale.php
via filen side.php.
Hvis jeg kalder filen direkte er der ingen problemer.
Som før nævnt, så ligger selve filen mobiltale.php i sin egen mappe, der
blot hedder mobiltale.
For bedre fejlsøgning har jeg lagt filerne mobiltale.php og side.php op som
txt-filer på følgende placeringer:
http://www.boholdt-petersen.dk/mobiltale.txt
http://www.boholdt-petersen.dk/side.txt
Håber ikke at det lyder for forvirrende!!!
--
/ Anders
http://www.boholdt-petersen.dk
| |
MooreHojer (28-03-2007)
| Kommentar Fra : MooreHojer |
Dato : 28-03-07 10:43 |
|
Anders Boholdt-Petersen skrev:
> "MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
> news:460a2be9$0$90262$14726298@news.sunsite.dk...
>>> "MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
>>> news:460a27af$0$90268$14726298@news.sunsite.dk...
>>>
>> slet først den elseif som Johan har tilføjet og erstat den med en else
>> igen.
>
> Det har jeg nu gjort.
>
> Nu får jeg samme fejl som da jeg startede (jeg har ikke kikket mig
> ordentligt for på siden)!!!
>
> Nederst, hvor jeg inkludere nogle filer (de pågældende filer ligger i roden
> af min lokale webserver) optræder der nemlig følgende fejl:
>
> ---
> Warning: main(../genereltbillede.php) [
> function.main]:
> failed to open stream: No such file or directory in
> W:\www\mobiltale\mobiltale.php on line 43
>
> Fatal error: main() [
> function.require]:
> Failed opening required '../genereltbillede.php'
> (include_path='.;/usr/local/PHP/includes;/usr/local/PHP/pear') in
> W:\www\mobiltale\mobiltale.php on line
> 43
> ---
>
> Denne fejl optræder tilsyneladende kun, hvis jeg kalder filen mobiltale.php
> via filen side.php.
>
> Hvis jeg kalder filen direkte er der ingen problemer.
>
> Som før nævnt, så ligger selve filen mobiltale.php i sin egen mappe, der
> blot hedder mobiltale.
>
> For bedre fejlsøgning har jeg lagt filerne mobiltale.php og side.php op som
> txt-filer på følgende placeringer:
> http://www.boholdt-petersen.dk/mobiltale.txt
> http://www.boholdt-petersen.dk/side.txt
>
> Håber ikke at det lyder for forvirrende!!!
>
Det kan godt lyde lidt underligt, men prøv at fjerne ../ fra
require("../genereltbillede.php")
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 11:21 |
|
"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:460a38c5$0$90269$14726298@news.sunsite.dk...
> Det kan godt lyde lidt underligt, men prøv at fjerne ../ fra
> require("../genereltbillede.php")
>
Sørme så - det virkede!!!
Nu er der desværre bare opstået en fejl mere:
---
Fatal error: Cannot break/continue 1 level in W:\www\side.php on line 59
---
Hvor ligger denne fejl?
--
/ Anders
http://www.boholdt-petersen.dk
| |
MooreHojer (28-03-2007)
| Kommentar Fra : MooreHojer |
Dato : 28-03-07 11:31 |
|
Anders Boholdt-Petersen skrev:
> "MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
> news:460a38c5$0$90269$14726298@news.sunsite.dk...
>> Det kan godt lyde lidt underligt, men prøv at fjerne ../ fra
>> require("../genereltbillede.php")
>>
>
>
> Sørme så - det virkede!!!
>
> Nu er der desværre bare opstået en fejl mere:
>
> ---
> Fatal error: Cannot break/continue 1 level in W:\www\side.php on line 59
> ---
>
> Hvor ligger denne fejl?
>
prøv at slette 'break' in linie 59
for lige at forklare hvorfor du skulle fjerne ../ før, så skyldes det,
så vidt jeg kan se, at når du inkluderer en kode så behandles den som om
den er en del af siden, så når du prøver at finde en
.../genereltbillede.php så kigger prøver den at gå et niveau op fra den
mappe hvor side.php ligger i i stedet for mobiltale.
--
MooreHojer
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 12:03 |
|
"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:460a43fb$0$90265$14726298@news.sunsite.dk...
> prøv at slette 'break' in linie 59
Så virker det.
Men:
Hvis jeg nu i filen mobiltale.php klikker på et af de inkluderede
menupunkter (som gør at filen mobiltale.php afvikler en side, f.eks.
mobiltale.php?page=s2) giver filen side.php fejl, og siger at det er en
ugyldig side.
alle filerne som mobiltale.php inkludere, ligger i mappen mobiltale.
Findes der en løsning på dette (har kikket rundt på nettet, men kunne ikke
rigtigt finde noget)?
Mit engelske er desværre heller ikke så godt, så kan godt have overset
noget.
>
> for lige at forklare hvorfor du skulle fjerne ../ før, så skyldes det, så
> vidt jeg kan se, at når du inkluderer en kode så behandles den som om den
> er en del af siden, så når du prøver at finde en ../genereltbillede.php så
> kigger prøver den at gå et niveau op fra den mappe hvor side.php ligger i
> i stedet for mobiltale.
Tak for info!!!
--
/ Anders
http://www.boholdt-petersen.dk
| |
MooreHojer (28-03-2007)
| Kommentar Fra : MooreHojer |
Dato : 28-03-07 12:11 |
|
Anders Boholdt-Petersen skrev:
> "MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
> news:460a43fb$0$90265$14726298@news.sunsite.dk...
>> prøv at slette 'break' in linie 59
>
> Så virker det.
>
> Men:
>
> Hvis jeg nu i filen mobiltale.php klikker på et af de inkluderede
> menupunkter (som gør at filen mobiltale.php afvikler en side, f.eks.
> mobiltale.php?page=s2) giver filen side.php fejl, og siger at det er en
> ugyldig side.
>
> alle filerne som mobiltale.php inkludere, ligger i mappen mobiltale.
>
kan du ikke lige sende kildekoden for hvordan dette link ser ud, altså
den fulde <a href="..... som den ser ud når du siger vis kildekode idin
browser
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 12:52 |
|
"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:460a4d84$0$90265$14726298@news.sunsite.dk...
> kan du ikke lige sende kildekoden for hvordan dette link ser ud, altså den
> fulde <a href="..... som den ser ud når du siger vis kildekode idin
> browser
Jo, den kommer her:
http://localhost/side.php?page=s72
I mappen mobiltale, ligger der filer med navnene s1.inc, s2.inc osv, som de
foreslår på hjemmesideskolen.
Filen s2.inc indeholder så den del, der skal inkluderes når man klikker på
et af linkene i menuen.
Håber det er hvad du leder efter, ellers sig bare til.
På forhånd mange tak for hjælpen - det er fedt at du gider!
--
/ Anders
http://www.boholdt-petersen.dk
| |
MooreHojer (28-03-2007)
| Kommentar Fra : MooreHojer |
Dato : 28-03-07 13:09 |
|
Anders Boholdt-Petersen skrev:
> "MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
> news:460a4d84$0$90265$14726298@news.sunsite.dk...
>> kan du ikke lige sende kildekoden for hvordan dette link ser ud, altså den
>> fulde <a href="..... som den ser ud når du siger vis kildekode idin
>> browser
>
> Jo, den kommer her:
> http://localhost/side.php?page=s72
>
Har vist ikke læst dit indlæg ordenligt igennem
Kunne fejlen ikke skyldes at der mangler et 'id' i linket
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 13:16 |
|
"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:460a5af0$0$90265$14726298@news.sunsite.dk...
> Kunne fejlen ikke skyldes at der mangler et 'id' i linket
Jo, det ide som jeg har kaldt i første omgang bliver nemlig erstatet af
adressen som du ser i linket ovenfor.
Som jeg lige har skrevet, så dropper jeg filen side.php i første omgang, da
jeg har fundet andre fejl, som køre fint hvis jeg kalder filerne direkte via
et normalt link.
Endnu en gang tak for hjælpen!!!
--
/ Anders
http://www.boholdt-petersen.dk
| |
Anders Boholdt-Peter~ (28-03-2007)
| Kommentar Fra : Anders Boholdt-Peter~ |
Dato : 28-03-07 13:12 |
|
"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:460a4d84$0$90265$14726298@news.sunsite.dk...
> kan du ikke lige sende kildekoden for hvordan dette link ser ud, altså den
> fulde <a href="..... som den ser ud når du siger vis kildekode idin
Jeg har besluttet, at jeg dropper filen side.php, og i stedet kalder filerne
med almindelige links i stedet.
Dette skyldtes, at jeg nu også har fundet andre fej, som tilsyneladende køre
fint hvis jeg kalder filerne direkte.
Tusind tak for hjælpen!!!
--
/ Anders
http://www.boholdt-petersen.dk
| |
MooreHojer (28-03-2007)
| Kommentar Fra : MooreHojer |
Dato : 28-03-07 13:18 |
|
> Tusind tak for hjælpen!!!
Det var så lidt. Skulle det være en anden gang
| |
|
|