Avatar billede mczlimmer Nybegynder
14. september 2003 - 18:22 Der er 13 kommentarer og
1 løsning

Hvad gør jeg forkert?

Hey eksperter...

Jeg har dette, som gerne skulle vise en bestemt side, med et bestemt sprog.

<?php
$page = $_GET['page'];
$lang = $_GET['lang'];
       
if(is_file($page . ".php")) {
include($lang . "/" . $page . ".php");
}
if (!"$lang/$page.php") {
echo "page not found";
}
else {
echo "Siden blev ikke fundet, kontakt mig hvis problemet fortsætter...";
}
?>

og mine links ser sådan her ud:
<a href="?page=forside&lang=da">Forside</a>

hvorfor skrive den "page not found" ?

Min index.php ligger i root...
derfra har jeg to dir "da" og "en", i begge dir ligger en "menu.php" som bliver includeret alt efter hvad $lang er.

Er der nogen som kan se hvad fejlen er?

Zlimmer ~over&out~
Avatar billede Slettet bruger
14. september 2003 - 18:26 #1
Du kan ikke sige if (!"$lang/$page.php")

Du skal bruge noget i stil med det her:

if(!file_exists("$lang/$page.php")) {
Avatar billede mczlimmer Nybegynder
14. september 2003 - 18:29 #2
hmm, den skriver stadigvæk "page not found"...
men tak for den lille korrektion...
Avatar billede Slettet bruger
14. september 2003 - 18:33 #3
Prøv at udskrive $lang og $page..
Avatar billede mczlimmer Nybegynder
14. september 2003 - 18:36 #4
så får jeg bare følgende fejlmeddelelse:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\apache\htdocs\php\adler consult\webdesign\sprog (forsøg)\index.php on line 64
Avatar billede Slettet bruger
14. september 2003 - 18:41 #5
Det her virker hos mig, hvis ellers mappen da er oprettet, og den fil man linker til findes:

<?php
$page = $_GET['page'];
$lang = $_GET['lang'];

if(file_exists($lang . "/" . $page . ".php")) {
include($lang . "/" . $page . ".php");
} else {
echo "Den angivne side findes ikke";
}

?>
Avatar billede mczlimmer Nybegynder
14. september 2003 - 18:43 #6
hmm, hvordan ser dine links ud?
Avatar billede Slettet bruger
14. september 2003 - 18:53 #7
Som dit

<a href="?page=forside&lang=da">Forside</a>

Prøv at skrive det her:

echo $lang . "/" . $page . ".php";
Avatar billede mczlimmer Nybegynder
14. september 2003 - 18:59 #8
ok, takker...
nu virker det også hos mig...
Kan man lave et link der ser sådan her ud: <a href="?page=<?php if($page==frontpage) {print "forside"; ?>&lang=da" name="da">Dansk</a> ??
Avatar billede Slettet bruger
14. september 2003 - 19:02 #9
Det giver ingen mening, hvad er name="da" der for?
Avatar billede mczlimmer Nybegynder
14. september 2003 - 19:05 #10
hmm, ok...
HVordan ville du så gøre hvis du ville sørge for at linket "dansk" skiftede den engelske tekst ud med en dansk af samme type, ligemeget hvor på siden man er?og ved ikke hvorfor name="da" er der, det var noget jeg skrev inden jeg begyndte at programmere...
PS. jeg skal nok forhøje pointenem hvis du gider hjælpe mig...
Avatar billede Slettet bruger
14. september 2003 - 19:31 #11
<a href="?page=<? echo $_GET['page']; ?>&lang=
<?
if($_GET['lang'] == "da") echo "en";
if($_GET['lang'] == "en") echo "da";
?>
">
<?
if($_GET['lang'] == "en") echo "Denne side på engelsk";
if($_GET['lang'] == "da") echo "This page in danish";
?>
</a>

Ovenstående (utestet) burde virke som du ønsker
Avatar billede mczlimmer Nybegynder
14. september 2003 - 21:41 #12
Kan ikke helt fange ideen med det der, men har fundet en løsning...
takker...
der er 40 point på vej til dig, hvis du da lige dropper et svar :-)
Avatar billede Slettet bruger
14. september 2003 - 22:04 #13
Ellers tak, dem må du gerne beholde. Er stoppet med at samle på dem ;)
Avatar billede mczlimmer Nybegynder
15. september 2003 - 17:24 #14
ok...
endnu en gang tak...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester