Jak má vypadat chyba 404 - nenalezeno (c) Oldřich Šálek
Přemýšlel jsem, jak by měla vypadat správná chyba. No, měla by se objevovat co nejméně, tak proč by na ní mělo záležet? Záleží na maličkostech.
Vložit do souboru, který se zobrazuje v případě chyby 404. Nutné ještě přiložit html výstup na oznámení chyby, jak má vypadat je popsáno výše
require "databaze.php"; // databáze
$kdy_prisel = time(); // čas v unixovém formátu
$prohlizec = $_SERVER['HTTP_USER_AGENT']; // jde o robota?
$ip_navstevnika = $_SERVER['REMOTE_ADDR']; // ip adresa
$odkud_prisel = $_SERVER['HTTP_REFERER']; // odkud chodí, kde je chyba?
$co_pozadoval = $_SERVER['REQUEST_URI']; // co chce zobrazit?
$vlozeni_dat = MySQL_Query(
"INSERT INTO 404 VALUES ('', '$co_pozadoval', '$odkud_prisel', '$ip_navstevnika',
'$kdy_prisel', '$prohlizec')")
or die (mysql_error());
Vytvoří se pomocí SQL dotazu v phpmyadminovi
CREATE TABLE `404` (
`id` int(3) NOT NULL auto_increment,
`co_pozadoval` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`odkud_prisel` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`ip` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`datum` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`prohlizec` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;
A pak stačí jenom kontrolovat logy a zkoumat, jestli není nějaká chyba na webu a tu opravit, např já tím zjištuji kde jsem zadal img src="neco" a zapomenul nahrál neco na ftp.
Oldřich Šálek |
13. února 07, 20:02