Avatar billede krk Nybegynder
14. marts 2006 - 12:27 Der er 11 kommentarer og
1 løsning

require et php dok

Hej
Jeg har en stump kode der skal stå i toppen af alle mine sider og skal afsluttes på alle siderne. Jeg havde derfor forstillet mig at jeg kunne lave 2 selvstændige sider (kode_top.php og kode_bund.php)som jeg så kunne require ind på alle mine underliggende sider. Men jeg kan ikke få det til at virke.
Er der nogen der kan hjælpe.

kode_top.php:
<?php
session_start();
if($_SESSION["login"] == ok) {
?>

kode_bund.php:
<?php
}
else{
    print "<script type=\"text/javascript\">alert(\"'Du er ikke logget på endnu!'\");</script>";
              print '<script>history.back(-1);</script>';
} ?>


på alle siderne henter jeg dem ind ved hjælp af:
<?php
require("session/session_start.php");
?>

jeg får følgende fejlmeldning: Parse error: syntax error, unexpected $end in /hsphere/local/home/lafodan/lafodan.dk/admin/session/kode_top.php on line 4
Avatar billede casualty Nybegynder
14. marts 2006 - 12:32 #1
Du bliver nødt til at have komplette statements/funktioner i hver fil, ellers kan PHP ikke fortolke dem.

Jeg kan godt se hvad det er du prøver, men jeg tror desværre ikke at det kan lade sig gøre. Dette skyldes nok at PHP ikke bliver fortolket som en helhed, men kun enkeltvis i de enkelte filer.

Mvh Casualty
Avatar billede casualty Nybegynder
14. marts 2006 - 12:34 #2
Du må hellere lave en fil hvor:

if($_SESSION["login"] == ok) {
  include("loggedin.php")
}
else{
  include("notloggedin.php");
}
Avatar billede krk Nybegynder
14. marts 2006 - 12:34 #3
okay, jeg tænkte nok det var noget i den retning der var galt.
Findes der en anden løsning på problemet, eller skal jeg virkelig til at rette i alle dokumenterne hvis noget skal ændres?
Avatar billede krk Nybegynder
14. marts 2006 - 12:39 #4
øh, ikke helt forstået
Hvad mener du med include("loggedin.php"), hvad indeholder den?
Det løser da ikke rigtig mit problem!!
Avatar billede casualty Nybegynder
14. marts 2006 - 12:40 #5
Du bliver i hvertfald nødt til at sørge for at alle dokumenter kan fortolkes "alene".

Det eksempel jeg viste:

if($_SESSION["login"] == ok) {
  include("loggedin.php")
}
else{
  include("notloggedin.php");
}

er en meget god måde at gøre det på. Der bruger du også individuelle filer.
Avatar billede krk Nybegynder
14. marts 2006 - 12:41 #6
jeg forstår ikke dit eksempel. Hvad er loggedin.php??
Avatar billede casualty Nybegynder
14. marts 2006 - 12:43 #7
Du har 3 php filer..
index.php
loggedin.php
notloggedin.php

index.php bliver kørt som hovedsiden.

Inden i den tjekkes med session, om man er logget ind.
Hvis man er så viser den indholdet af loggedin.php, hvis ikke, viser den indholdet af notloggedin.php.
Avatar billede krk Nybegynder
14. marts 2006 - 12:45 #8
okay, nu forstår jeg.
Det prøver jeg.
Tak for hjælpen
Avatar billede casualty Nybegynder
14. marts 2006 - 12:48 #9
lav 3 phpfiler

1 - index.php
2 - loggedin.php
3 - notloggedin.php

i loggedin.php skriver du: <?php echo "Du er logget ind"; ?>

i notloggedin.php skriver du: <?php echo "Du er ikke logget ind"; ?>

i index.php skriver du:
<?php
$login=0;
if($login){
    include("loggedin.php");
}
else{
    include("notloggedin.php");
}
?>

Prøv nu at ændre variablen $login, fra 0 til 1. Forestil dig at det er din session

Mvh Causalty
Avatar billede casualty Nybegynder
14. marts 2006 - 12:49 #10
Fint :)

BTW: Ovenstående kode er turbokodet, så hvis det ikke funger så er det grunden. Men logikken er i orden ;)
Avatar billede krk Nybegynder
14. marts 2006 - 12:52 #11
jeg har fået det til at virke tak for hjælpen :-)
Avatar billede krk Nybegynder
14. marts 2006 - 14:22 #12
har du mulighed for at kigge lidt på spørgsmål http://www.eksperten.dk/spm/695044 ?
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