Greven22 Skrevet 18. mars 2005 Del Skrevet 18. mars 2005 (endret) Heisann jeg har et par hjemmesider hos hostean, og nå har plutselig include scripet mitt sluttet og fungere. Med sluttet og funkere så mener jeg at sidene ikke lenger reagerer når jeg trykker på de forskjellige linkene, men forsiden vises riktig. Har 2 sider, så det er nok noe min host har gjort, dessverre er de litt vanskelige og få tak i så jeg prøver dere først:) <?php $sjekk = isset($side); if ($sjekk == 1) { if (@fopen("include/$side.php", "r")) { include ("include/$side.php"); } if (!(@fopen("include/$side.php", "r"))) { include("404.php"); } } if ($sjekk <> 1) { include("include/forside.php"); } ?> Slik ser det ut idag, jeg har lest litt og funnet ut at man kan bytte ut fopen med noe annet. Men hva? Get ? Tror det er noe med fopen som er feilen Er dessverre ikke så kyndig i php, har dere noen forslag? EDIT: Begynner og bli sent, skrivefeil osv. Endret 18. mars 2005 av DiaVoLo Lenke til kommentar
kakkle Skrevet 18. mars 2005 Del Skrevet 18. mars 2005 Et lite hint: Register globals Ta et søk og se om du finner noe Lenke til kommentar
Ueland Skrevet 19. mars 2005 Del Skrevet 19. mars 2005 Du kan jo og starte med å fjerne @ fra alle includene, da det hindrer feilmeldingene å vises.. Lenke til kommentar
Greven22 Skrevet 19. mars 2005 Forfatter Del Skrevet 19. mars 2005 Hmm, jeg slo av register globals for en stund siden for og få til en mod på mitt phpbb forum.. Kan det være dette som er feil? Kan muligens være rundt den tiden det sluttet og funke .. Lenke til kommentar
pederan Skrevet 19. mars 2005 Del Skrevet 19. mars 2005 Hvorfor gjøre det så vanskelig? Trenger ikke fopen. Hvis du vil inkludere en side utifra verdien av en variabel kan du gjøre sånn: <? $sjekk = isset($side); if($sjekk) include "include/".$side.".php"; else include "include/forside.php"; ?> $sjekk vil ha en verdi lik true (1) eller false (0). D.v.s. at dersom ikke $side har en verdi, så inkluderer scriptet forsiden, ellers den aktuelle siden. Trenger ikke noe 404 side. Lenke til kommentar
kakkle Skrevet 19. mars 2005 Del Skrevet 19. mars 2005 Hvorfor gjøre det så vanskelig? Trenger ikke fopen. Hvis du vil inkludere en side utifra verdien av en variabel kan du gjøre sånn: <? $sjekk = isset($side); if($sjekk) include "include/".$side.".php"; else include "include/forside.php"; ?> $sjekk vil ha en verdi lik true (1) eller false (0). D.v.s. at dersom ikke $side har en verdi, så inkluderer scriptet forsiden, ellers den aktuelle siden. Trenger ikke noe 404 side. Hmmm... Med den koden, vil det komme frem feilmelding dersom noen prøver å vise en side som ikke finnes... Men det er unødvendig med en if setning for å sjekke om den kan leses, og en if setning som sjekker om den ikke kan leses... Bruk heller else istedetfor den siste if setningen... Og ja, det er garantert det at du har slått av register globals som gjør at det blir feil... Det vil si at $side ikke er definert. $sjekk blir derfor false, og forsiden blir inkludert... Bør nok også sjekke hvilken fil som blir inkludert... Om det er en lovlig fil, liksom.. Eksempel på å få verdier fra Url med register globals avskrudd: url: www.domain.com/?foo=bar i koden: $foo = $_GET["foo"] // $foo blir nå bar /Kakkle Lenke til kommentar
Gilbert Skrevet 19. mars 2005 Del Skrevet 19. mars 2005 $side = $_GET['side]; $include = "include/$side.php"; if (file_exists($include) && !empty($side)) { include $include; } elseif (!file_exists($include) && !empty($side) { include "404.php"; } else { include "index.php"; } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå