Avatar billede webmus Nybegynder
02. februar 2007 - 22:02 Der er 5 kommentarer og
1 løsning

Lave fejlmeddelse ved header-Location

Hej alle, kunne godt tænke mig at lave en fejlmeddelse som bliver vist hvis siden den skal gå til ikke eksisterer.

Havde forestillet mig noget lign. :

<?php
if(!header("Location: enikkeeksisterendeurl.php")) {
echo "siden findes ikke";
} else {
header("Location: enikkeeksisterendeurl.php");
}
?>

Problemet med ovenstående kode er at den uanset hvad går til siden.

Nogle gode forslag?

Mvh webmus
Avatar billede showsource Seniormester
02. februar 2007 - 22:31 #1
Så skal du ha' muligheden for at selv at bestemme hvilken fil som er en 404 ( not found ) fil for den server, ( dit-domsin ), som din side ligger på.
Avatar billede webmus Nybegynder
02. februar 2007 - 22:33 #2
ahr okay, ved godt hvad du mener. Tak for hjælpen;)
Avatar billede webmus Nybegynder
02. februar 2007 - 23:52 #3
Lige opdaget et nyt problem:

Hvad nu hvis jeg vil gå til en ekstern side som ikke eksisterer? 404 dokumentet bliver jo kun vist på den lokale server/mappe ?
Avatar billede steven_ Nybegynder
04. februar 2007 - 13:21 #4
<?php
$filename = "url.php";
if( file_exists( $filename ) )
{
header( "Location: $filename" );
exit;
}
else
{
exit( "siden eksisterer ikke" );
}
Avatar billede webmus Nybegynder
04. februar 2007 - 15:44 #5
steven:

Problemet er bare at det ikke virker hvis jeg vil gå til en anden server fx: www.eksperten.dk
Avatar billede webmus Nybegynder
20. januar 2012 - 17:07 #6
Til dem der får et lignende problem kan løsningen være at ping'e serveren inden der redirectes.
Følgende er fra http://www.eksperten.dk/guide/443

<?php
$side ="www.eksperten.dk";

function hentmicrotime() {
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}

// Hent starttid
$start = hentmicrotime();

// Check om servicen svarer
if ($fp = @fsockopen("$side", 80, $errno, $errstr, 5)) {   
    $slut = hentmicrotime(); // Hent sluttid
    fclose($fp); // Luk forbindelse til service
    $tiden = $slut - $start; // Træk start og slut-tid fra hinanden
    $tiden = substr($tiden,0,6); // fjern de mange decimaler
    echo "$side fungerer og svarede efter $tiden sekunder"; // Udskriv til browseren
} else {
    // Hvis servicen ikke svarede
    echo "$side er nede";
}
?>
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