Dryper Skrevet 8. juni 2008 Del Skrevet 8. juni 2008 Jeg bruker dette "Get" systemet på index sida mi, som da henter alle sidene hved hjelp av ID osv (ex: index.php?page=julenissen) Men når siden ikke eksisterer så kommer det jo opp Warning: include(julenissen.php) [function.include]: failed to open stream: No such file or directory in C:\Server\www\www\projects\julenissen\index.php on line 86 Warning: include() [function.include]: Failed opening 'julenissen.php' for inclusion (include_path='.;C:\Server\xampp\php\pear\') in C:\Server\www\www\projects\julenissen\index.php on line 86 Noe som ikke er noe spessielt uventet men det jeg da lurte på var om at isteden for at den genererer denne feilmedlingen om den feks kunne komt opp med "Page not found" istedenfor. Takker for svar Lenke til kommentar
Jonas Skrevet 8. juni 2008 Del Skrevet 8. juni 2008 (endret) Bare prøv å søk litt .. Første treff. http://www.google.no/search?hl=no&sa=X...nce&spell=1 Endret 8. juni 2008 av Jonas Lenke til kommentar
Dryper Skrevet 8. juni 2008 Forfatter Del Skrevet 8. juni 2008 (endret) Bare prøv å søk litt .. Første treff. http://www.google.no/search?hl=no&sa=X...nce&spell=1 Jeg gjor det og fant ut av det men det var litt lettere å søke på "exists php" Min løsning: if (file_exists($id. ".php")) {} else { echo "Page not found, it may be deactivated by administrator or simply dont exists"; die; } Edit: noen som har en bedre måte å gjøre det på ? bare å slenge inn noe / modde på den Endret 8. juni 2008 av Dryper Lenke til kommentar
Garanti Skrevet 8. juni 2008 Del Skrevet 8. juni 2008 (endret) Like greit å bruke switch/case her, så lenge det ikke er snakk om en stor mengde filer: if(isset($_GET['act'])){ switch ($_GET['act']){ case 'entry': include("act/entry.php"); break; case 'users': include("act/users.php"); break; case 'stat': include("act/stat.php"); break; default: header($_SERVER['PHP_SELF']); } Endret 8. juni 2008 av Garanti Lenke til kommentar
Jonas Skrevet 8. juni 2008 Del Skrevet 8. juni 2008 Du fant det med andre ord ut selv, seks minutter etter du opprettet en ny tråd? Tror det er en ny rekord. Lenke til kommentar
Dryper Skrevet 8. juni 2008 Forfatter Del Skrevet 8. juni 2008 Du fant det med andre ord ut selv, seks minutter etter du opprettet en ny tråd? Tror det er en ny rekord. Da er jeg vertfall en stolt rekordholder Lenke til kommentar
Dryper Skrevet 8. juni 2008 Forfatter Del Skrevet 8. juni 2008 Like greit å bruke switch/case her, så lenge det ikke er snakk om en stor mengde filer: if(isset($_GET['act'])){ switch ($_GET['act']){ case 'entry': include("act/entry.php"); break; case 'users': include("act/users.php"); break; case 'stat': include("act/stat.php"); break; default: header($_SERVER['PHP_SELF']); } Nå vet jeg ikke helt hva antallet på et "Stort" prosjekt er men mitt inneholder vel nå godt over 150 filer . og nei jeg har ikke alt i egen fil .. her holder jeg meg til 1 fil per funksjon. Så hvert av skriptene er vel 5-6kb gjennomsnitt Lenke til kommentar
Wackamole Skrevet 8. juni 2008 Del Skrevet 8. juni 2008 <?php $side = (isset($_GET['side']) && $_GET['side'] != '') ? $_GET['side'] : 'hovedside'; if (file_exists("sider/$side.php")) { include_once("sider/$side.php"); } else { echo "<h2>Error: 404</h2>Siden finnes ikke.<title>ERROR: 404 - Siden finnes ikke</title>"; } echo "<title>".$title."</title>"; ?> Den jeg bruker, en hel haug med sikkerhetsfeil, men du ser i det minste hvordan jeg får "Custom" 404 side. Lenke til kommentar
itsmebth Skrevet 9. juni 2008 Del Skrevet 9. juni 2008 header('HTTP/1.1 404 Not Found'); Lenke til kommentar
Runar Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 header('HTTP/1.1 404 Not Found'); Det hjelper vel ærlig talt ikke mye å legge til det til den originale koden? Den vil jo ikke gjøre annet en å sette riktig header. Feilmeldingen (ikke den riktige) vil fortsatt vises. Lenke til kommentar
Jonas Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 header('HTTP/1.1 404 Not Found'); Det hjelper vel ærlig talt ikke mye å legge til det til den originale koden? Den vil jo ikke gjøre annet en å sette riktig header. Feilmeldingen (ikke den riktige) vil fortsatt vises. Nja, enkelte nettlesere viser faktisk sin egen 404-melding dersom den mottar en 404-header, uavhengig av hva annet som blir sent. Det beste vil nok være en kombinasjon av en modifisert header og egen feilmelding. Da har du ikke de samme ulempene som med soft 404. Lenke til kommentar
Stian Jacobsen Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 (endret) <?php $path = "path/to/pages/"; $page = addslashes(trim($_GET['side'])); $ftype = ".php"; if(!file_exists($path.$page.$ftype)) { $file = "custom_404"; } else { $file = $page; } include_once($path.$file.$ftype); ?> Endret 10. juni 2008 av Stian Jacobsen Lenke til kommentar
Runar Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 Hva skal den koden der være godt for, Stian Jacobsen? Har du i det hele tatt lest tråden? 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å