Autor Zpráva
Klainer
Profil *
Zdravim,
mám tu menší problémek s 404 stránkou.

Definoval jsem si script, který by měl následně poslat ( když se zobrazí na stránce error 404 ), email který mi řekne co se děje.
Script jsem uložil do souboru error404.php

A obsahuje:

<?php

$servername = $_SERVER['SERVER_NAME'];
$recipient = "klainer@seznam.cz";
$subject = "Došlo k chybě 404: ".
$_SERVER['PHP_SELF'];
$timestamp = date( "F d, Y G:i:s", time() );
$referrer = $_SERVER['HTTP_REFERER'];
$ip = $_SERVER['REMOTE_ADDR'];
$redirect = $_SERVER['REQUEST_URI'];
$body = <<< body
Čas: $timestamp. Došlo k chybě 404
Server: $servername
Chybějící stránka: $redirect
Odkazující dokument: $referrer
IP asresa uživatele: $ip
body;

mail ($recipient, $subject, $body, "From: administarator ");

?>

<h3>Soubor nenelezen</h3>
<p>
Promiňte prosím, naše webové stránky se momentálně aktualizují.
V důsledku tohoto mohou dučasně tu a tam vznikat jisté potíže při přístupu k dokumentům a (nebo) službám.
Administrátor webu dostal e-mailem podrobný protokol o této události.
</p>
Děkujeme Vám za pochopení.<br />
Srdečne zdraví prtovozovatel webu.


Poté co si nasimuluji 404 error mi to hodí tuhle chybku:

Parse error: syntax error, unexpected $end in /home/www/over.cz/subdomeny/precise/error404.php on line 31

Jelikož jsem v php začátečník nevim v čem může být chybka.
Díky za rady
DJ Miky
Profil
$body = <<< body


Místo toho druhého body zkus třeba body2, a pak i:

body;

nahraď za

body2;
Klainer
Profil *
Zkusil jsem a nešlape to
djlj
Profil
nešlape to
Možná budou rozbitá šlapátka.

Co takhle napsat, jestli něco vrátí nějakou chybu, co vrátí funkce mail atd. Samozřejmostí je zapnutý výpis chyb; co ti to vypisuje?

Pokud pořád platí ta první chyba, tak místo nějakého <<<body (nebo jak to je) použij normální uvozovky.
Klainer
Profil *
No tenhle script je z knihy.... vypís chyb bych mohl zapsat jak ?
Chybu to vždy odkazuje na prázdný řádek pod scriptem ... neočekávaný konec ...
arse error: syntax error, unexpected $end in /home/www/over.cz/subdomeny/precise/error404.php on line 31

Řádek 31 je:

.
.
25)
26)V důsledku tohoto mohou dučasně tu a tam vznikat jisté potíže při přístupu k dokumentům a (nebo) službám.
27)Administrátor webu dostal e-mailem podrobný protokol o této události.
28)</p>
29)Děkujeme Vám za pochopení.<br />
30)Srdečne zdraví prtovozovatel webu.
31)
djlj
Profil
Výpis chyb zapneš error_reporting(E_ALL);; ale to nebude v tomto případě potřeba.

Trochu jsem to upravil, a to i včetně proměnných, neboť zde nevidím jejiný důvod k jejich duplikaci. A jestli ten kód byl v té knížce, tak ji zahoď.
<?php

$recipient = "klainer@seznam.cz";
$subject = "Došlo k chybě 404: ".
$body = "Čas: ".date("F d, Y G:i:s").". Došlo k chybě 404
Server: ".$_SERVER['SERVER_NAME']."
Chybějící stránka: ".$_SERVER['REQUEST_URI']."
Odkazující dokument: ".$_SERVER['HTTP_REFERER']."
IP asresa uživatele: ".$_SERVER['REMOTE_ADDR'];

mail ($recipient, $subject, $body, "From: administarator ");

?>
Alphard
Profil
Odkazující dokument: $referrer
IP asresa uživatele: $ip
body;


tahle diskuze to zkresluje, body; mysí být na začátku řádku
Klainer
Profil *
djlj: Funguje to fak moc diky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: