| Autor | Zpráva | ||
|---|---|---|---|
| sefikail Profil |
#1 · Zasláno: 4. 5. 2009, 19:06:16 · Upravil/a: sefikail
Dobrý den, chtěl bych aby když někomu naskočí stránka e404 se mi automaticky vložila nesprávná URL do textu zprávy.
Např. http://example.cz/petr e404 Dobrý den milý návštěvníku stránka kterou požadujete není k dispozici. Můžete nyní nahlásit nefunkční odkaz nebo se vrátit zpět Předmět: (přednastavený mnou) Text: PRAVE TEN NEFUNKCNI ODKAZ Odesílatel: (nepovinné) Nevíte si někdo rady? Díky |
||
| Senky Profil |
#2 · Zasláno: 4. 5. 2009, 19:20:29 · Upravil/a: Senky
V php existuje
$_SERVER['REQUEST_URI'] |
||
| bohyn Profil |
#3 · Zasláno: 4. 5. 2009, 19:52:27
sefikail
„Můžete nyní nahlásit nefunkční odkaz“ Neni lepsi to rovnou zalogovat to souboru nez "otravovat" navstevniky? Me se toto reseni celkem osvedcilo, velice rychle tim zjistis kde jsou nejake problemy. |
||
| sefikail Profil |
bohyn A nemáš řešení někde po ruce? :) Todle je dobrý nápad, ale nenapadá mě jak na to.
Senky Díky, pokud bohyn mi to dostatečně nevysvětlí, tak zkusím tvoje řešení. |
||
| Senky Profil |
#5 · Zasláno: 4. 5. 2009, 23:16:02 · Upravil/a: Senky
Ide o to, ze si vytvoris bud subor, alebo nejaku tabulku v databaze, kde budes ukladat na akej strake je chyba. A ak ti funguje v e404 $_SERVER['REQUEST_URI'], preco by nefungovali aj ine skripty. Proste napis do e404.php (alebo ako to mas) toto:
<html>
blablabla...pre uzivatelov
</html>
<?php
$date = date("r");
$page = $_SERVER['REQUEST_URI'];
$connection = mysql_connect('localhost', 'root', '123abc');
if (!$connection){
die('Nejaka sprava pre pouzivatela. Napr.: Chybu mame zapisanu, dakujem.');
}
mysql_select_db('database', $connection);
mysql_query("INSERT INTO Log (Page, Time) VALUES ('$page', '$date')");
mysql_close($conection);
?> |
||
| sefikail Profil |
#6 · Zasláno: 4. 5. 2009, 23:17:22
Senky, dobrý nápad ... děkuji
|
||
| bohyn Profil |
#7 · Zasláno: 5. 5. 2009, 00:45:41
sefikail
„A nemáš řešení někde po ruce? :) Todle je dobrý nápad, ale nenapadá mě jak na to. “ # .htaccess ErrorDocument 400 /error.php?err=400 ErrorDocument 403 /error.php?err=403 ErrorDocument 404 /error.php?err=404 ErrorDocument 503 /error.php?err=503 // PHP script
$error = isset($_GET['err']) ? $_GET['err'] : "unknown";
$f = @fopen("log/error_{$error}.log", "a");
if($f) {
$date = date("d.m.y H:i:s");
$uri = $_SERVER['REQUEST_URI'];
$ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($ip);
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "";
fwrite($f, "'{$date}'\t'{$uri}'\t'{$ua}'\t'{$ip}'\t'{$host}'\t'{$referer}'\n");
fclose($f);
} |
||
| sefikail Profil |
#8 · Zasláno: 5. 5. 2009, 15:01:49
Nevím proč ale pořád mě to hází:
Parse error: syntax error, unexpected T_STRING in /home/www/sefikail.cz/subdomeny/www/e404.php on line 12 <html>
blablabla...pre uzivatelov
</html>
<?php
$date = date("r");
$page = $_SERVER['REQUEST_URI'];
$connection = mysql_connect('mysql5-2', 'jmeno.uzivatele', 'heslo');
if (!$connection){
die('Nejaka sprava pre pouzivatela. Napr.: Chybu mame zapisanu, dakujem.');
}
mysql_select_db('jmeno_databaze', $connection);
mysql_query("INSERT INTO Log (Page, Time) VALUES ('$page', '$date')");
mysql_close($conection);
?> |
||
| Senky Profil |
#9 · Zasláno: 5. 5. 2009, 20:21:34
Asi je chyba v "Log" a "Time", kedze su podciarknute. Vyskusaj tam dat nieco ine:
mysql_query("INSERT INTO Error_Log (Page, Time_Error) VALUES ('$page', '$date')"); |
||
| blaaablaaa Profil |
#10 · Zasláno: 6. 5. 2009, 08:29:49
sefikail
1. mysql_query("INSERT INTO `Log `(`Page`, `Time`) VALUES ('".$page."', '".$date."')");2. jinak chyba bude jinde, co mas ve skutecnosti na 12.radku? |
||
| sefikail Profil |
#11 · Zasláno: 6. 5. 2009, 13:39:52 · Upravil/a: sefikail
Nevím, zkoušel jsem vše a nic nejde. Já bych ale spíše potřeboval, aby mi ty chyby posílalo na email, protože pořád kontrovat log je celkem obtěžující :)
|
||
|
Časová prodleva: 17 let
|
|||
0