Autor | Zpráva | ||
---|---|---|---|
Dranel Profil |
#1 · Zasláno: 29. 8. 2010, 13:11:17
Zdravím, mám následující kód pro zpracování dat z formuláře:
<?php if(empty($_POST)) { $_POST["formular_predmet"] = "Zpráva z kontaktního formuláře Grandera"; } else { if(empty($_POST["formular_jmeno"]) or empty($_POST["formular_prijmeni"])) { $chyba = 1; echo "<p><strong class='cervena'>Vyplňte prosím své jméno i příjmení, abychom věděli, jak Vás oslovit.</strong></p>"; } if(empty($_POST["formular_email"])) { $chyba = 1; echo "<p><strong class='cervena'>Uveďte prosím svůj e-mail, abychom Vám mohli odpovědět.</strong></p>"; } if(empty($_POST["formular_zprava"])) { $chyba = 1; echo "<p><strong class='cervena'>Před odesláním formuláře napište prosím text zprávy.</strong></p>"; } if($chyba != 1) { $muj_email = "info@grandera.cz"; if(!empty($_POST["formular_telefon"])) { $_POST['formular_zprava'] = "Jméno: {$_POST['formular_jmeno']} {$_POST['formular_prijmeni']}\nTelefon: {$_POST['formular_telefon']}\n\n{$_POST['formular_zprava']}"; } else { $_POST['formular_zprava'] = "Jméno: {$_POST['formular_jmeno']} {$_POST['formular_prijmeni']}\n\n{$_POST['formular_zprava']}"; } $odeslat = cs_mail($muj_email, $_POST['formular_predmet'], $_POST['formular_zprava'], "From: {$_POST['formular_jmeno']} {$_POST['formular_prijmeni']} <{$_POST['formular_email']}>\n"); if($odeslat) { echo "<p><strong class='zelena'>E-mail byl úspěšně odeslán.</strong></p>"; } else { echo "<p><strong class='cervena'>E-mail se bohužel nepodařilo odeslat.</strong></p>"; } } } ?> Na mém hostingu vše funguje tak, jak má, přesvědčte se sami: http://45-grandera.lenard.cz/kontaktujte-nas Ovšem když jsme web nasadili na ostrou doménu, stalo se něco, co jsem ještě neviděl: http://www.grandera.cz/alfa/kontaktujte-nas Může mi někdo vysvětlit, čím to? Zdá se mi to, jako by server nebral v potaz ukončení funkce echo, ovšem tomu se mi nechce věřit. Nasvědčuje tomu ovšem fakt, že úplně na začátku dokumentu mám script pro odesílání e-mailu - ten v sobě echo neobsahuje a nic z tohoto scriptu se na obrazovce nezobrazuje... |
||
mckay Profil |
#2 · Zasláno: 29. 8. 2010, 13:13:03
Dranel:
Server nezpracovává soubor jako php script, podívej se do zdrojáku. |
||
joe Profil |
#3 · Zasláno: 29. 8. 2010, 13:17:52
Nedochází ke zpracování PHP. Máte hosting s PHP? :)
|
||
Keeehi Profil |
#4 · Zasláno: 29. 8. 2010, 14:40:36
mckay, joe:
K zpracování musí docházet, jinak by se ve zdroji zobrazil celý PHP kód. Na stránce se však zobrazuje jen část kódu. Dranel: V dodaném kódu nevidím chybu. Je možné, že se chyba vyskytuje někde dříve. |
||
johnl Profil |
#5 · Zasláno: 29. 8. 2010, 14:55:02 · Upravil/a: johnl
Dranel:
Zkus se zeptat přímo podpory webhostingu kde to máš.. Jinak já bych taky řekl že je to tím že na serveru není zaplé php, navíc Keeehi vždyť ve zdroji stránky je celý ten php kód ne.? |
||
joe Profil |
#6 · Zasláno: 29. 8. 2010, 16:10:56
Keeehi:
Ve zdrojovém kódu ale celé PHP je... nevykresluje ho prohlížeč, protože v něm zřejmě hledá HTML tagy. |
||
BuGeR Profil |
#7 · Zasláno: 29. 8. 2010, 16:41:46
zkus nad 6 řádek přidat
$chyba = 0; |
||
Keeehi Profil |
#8 · Zasláno: 29. 8. 2010, 18:44:09 · Upravil/a: Keeehi
johnl, joe:
Je tam jenom část. Kdyby se kód vůbec neinterpretoval, byla by ve zdrojovém kódu stránky vidět řádek 2 if(empty($_POST)) { před . Ten však ve zdrojovém kódu stránky vidět není -> část kódu interpretována byla, část ne. Dranel: Nemohlo by to třeba náhodou být tím, že jste použil short open tags? Hodil by se kompletní zdrojový kód. |
||
DJ Miky Profil |
#9 · Zasláno: 29. 8. 2010, 18:57:02 · Upravil/a: DJ Miky
Keeehi:
„if(empty($_POST)) { před . Ten však ve zdrojovém kódu stránky vidět není“ Ten však ve zdrojovém kódu stránky vidět je, konkrétně řádek 77. A v kódu má <?php, takže short_open_tags to nebude. |
||
Dranel Profil |
#10 · Zasláno: 29. 8. 2010, 19:04:12
Keeehi:
Chyba se dříve vyskytovat nemůže, to, co je ve zdrojáku je opravdu celý kód (část kódu úplně nahoře nad DOCTYPE, část kódu nad formulářem a hodnoty formulářových polí v nich). BuGeR: Vyzkouším, ovšem nemyslím si, že by to mělo na problém vliv. Spíše bych to opravdu tipoval na vyplé PHP. Poradím se s poskytovatelem hostingu. |
||
Davex Profil |
#11 · Zasláno: 29. 8. 2010, 19:46:35 · Upravil/a: Davex
Dranel:
Vypadá to na špatně nakonfigurovaný akcelerátor/reverse proxy/loadbalancer nebo hosting bez podpory PHP - stále se vrací statická stránka z Thu, 26 Aug 2010 08:46:57 GMT bez interpretovaného PHP. Myslím, že kdyby adresa končila na .php, tak by se to dít nemělo. |
||
Dranel Profil |
#12 · Zasláno: 29. 8. 2010, 20:15:27
Davex:
V .htaccess se akorát podstrukuje: http://www.grandera.cz/alfa/kontaktujte-nas.php |
||
Keeehi Profil |
#13 · Zasláno: 29. 8. 2010, 22:58:14 · Upravil/a: Keeehi
Všem se omlouvám, ale já jsem doopravdy celý PHP kód neviděl.
Ve zdrojovém kódu se mi na řádku 53 začíná zobrazovat část PHP kódu. Tato část začíná 8.řádkem zde nakopírovaného a je z něj vynecháno echo "<p><strong class='cervena'> takže 53.řádek vypadá takto: Vyplňte prosím své jméno i př…
Jak jsem právě zjistil toto způsobil google chrom. Když jsem se na zdroják podíval v opeře, tak byl neinterpretovaný celý. |
||
AM_ Profil |
#14 · Zasláno: 29. 8. 2010, 23:09:16 · Upravil/a: AM_
Na serveru téměř jednoznačně není podpora PHP.
Davex: „Myslím, že kdyby adresa končila na .php, tak by se to dít nemělo.“ záleží na tom, jak je pojmenovaný soubor, nikoli co je v URI. PHP přeci normálně funguje i přes mod_rewrite. Předpokládám, že to běží na Apache. nebo ne? „Vypadá to na špatně nakonfigurovaný akcelerátor/reverse proxy/loadbalancer“ neřekl bych, to by sice mohlo způsobit, že by se načítala stále stejná stránka, ale PHP by se zpracovalo už při prvním načtení a nedostalo by se takto "holé" do cache vůbec. |
||
mckay Profil |
#15 · Zasláno: 29. 8. 2010, 23:10:14 · Upravil/a: mckay
Keeehi:
Nevím jak ty, ale já tam ten zdroják vidím celý. //Aha, sorry, nečtu do konce, už jsi to řekl. |
||
djlj Profil |
#16 · Zasláno: 30. 8. 2010, 02:11:31
AM:
„Předpokládám, že to běží na Apache. nebo ne?“ nginx, mrkni na hlavičky. |
||
Davex Profil |
#17 · Zasláno: 30. 8. 2010, 20:28:26
AM:
Vycházel jsem z toho, že je tam nginx, který se často používá jako reverse proxy a pro statické soubory si může sáhnout přímo, přičemž obejde Apache. Ten skript kontaktujte-nas.php se také neinterpretuje, takže na serveru není zapnuté PHP. |
||
Časová prodleva: 14 let
|
0