Autor | Zpráva | ||
---|---|---|---|
janomajka Profil |
#1 · Zasláno: 16. 2. 2013, 15:58:44
Ahoj,
zkráceně - mám formulář který se po vyplnění a zpracování automaticky přesměruje na jiný soubor pomocí header. http://automatickeprevodovky.cz/objednavka/ Tady vše funguje jak má, na webzdarma také ale na serveru firmy pro kterou ten formulář tvořím to nejde. http://ridepal.ridera.eu/objednavka/ Došel jsem k názoru že na tom serveru není povolena funkce header (podle jakpsatweb.cz musí být povolena). Nemá někdo tušení jak se tohle dá povolit, jestli stačí přenastavit nějaký konfigurák na serveru, nebo jestli mám kontaktovat poskytovatele domeny ať s tim něco udělá ? Díky za jakýkoliv nápad Honza if ($_POST['jmeno_a_prijmeni']!="" and $_POST['pin']!="" and $_POST['cena']!="0" and $_POST['spam']=="1000" and $_POST['firma']!="" and $_POST['mail_odesilatele']!="" and $_POST['telefon']!="" and $_POST['mesto']!="" and $_POST['Ulice']!="" and $_POST['cp']!="" and $_POST['psc']!="") { Mail($to, $subject, $mess, $extra); Mail($_POST['mail_odesilatele'], $subject, $mess, $extra); echo "<p>Vaše objednávka byla <strong> odeslána</strong>, děkujeme."; header("HTTP/1.1 301 Moved Permanently"); header("Location:odeslana.php"); header("Connection: close"); } else { echo "<p>Vaši objednávku se <strong>nepodařilo odeslat.</strong> pravděpodobně jste nevyplnil všechny údaje, nebo jste špatně opsal kontrolní kód.</p>"; } |
||
margin Profil * |
#2 · Zasláno: 16. 2. 2013, 16:14:08
|
||
scheras Profil * |
#3 · Zasláno: 16. 2. 2013, 16:20:48
Povolte hlášení chyb a potom budeme vědět více.
|
||
janomajka Profil |
#4 · Zasláno: 16. 2. 2013, 16:22:26 · Upravil/a: janomajka
margin:
Díky, myslim že už to mám pročtené, ale myslim že se tam neřeší můj problém. scheras: Omlouvám se, ale, jak to mám udělat ? V nastavení prohlížeče ? Já myslel že když mám ve kódu nějakou chybu že ji to bude hlásit automaticky, a dělá mi to tak. |
||
margin Profil * |
#5 · Zasláno: 16. 2. 2013, 16:43:16
janomajka:
„myslim že se tam neřeší můj problém“ Neřeší, ale je tam napsáno, co je třeba splnit, aby odesílání hlaviček fungovalo. |
||
janomajka Profil |
#6 · Zasláno: 16. 2. 2013, 17:20:19
margin:
Já myslim že jsem je snad splnil, když jsem to prověřil na jiných serverech kde to funguje jak má. Vím že by před header neměl být žádný výstup a já tam mám echo, ale zkoušel sem to echo smazat a výsledek byl stejný, přesměrování nefungovalo. Myslím si že to vážně nebude na straně serveru povolené, otázka je, jestli někdo neví jak se to dá povolit. Ale stejně se mi to nezdá, že tak důležitá a často používaná funkce na placeném hostingu nefunguje. |
||
Mike8748 Profil |
#7 · Zasláno: 16. 2. 2013, 17:52:22
janomajka:
když odešlu formulář na tvé stránce, tak dostanu <head> <title>Objednávka</title> <meta HTTP-AQUIV="Content-Type" CONTENT="text/html; charset=windows-1250"> </head> <html><head> <title>Přesměrování...</title> </head><body> </body></html> takže nějaký výstup tam máš, proto nedojde k přesměrování. na hostingu jako je WebZdarma ti to fungovalo proto že tam je zapnuté buferování výstupu, což na tvém cílovém hostingu nebude. takže buď předěláš kód tak aby se hlavičky posílaly před obsahem, nebo si zapni buffer výstupních dat (funkce ob_start() ) |
||
janomajka Profil |
#8 · Zasláno: 16. 2. 2013, 18:15:36
Mike8748:
Díky moc, jestli je to tak, tak to řeší můj problém. Jen bych se chtěl zeptat jak to mám zapnout ? V .htaccess , nebo to (funkce ob_start() ) vložím do zdrojového kódu ? |
||
Davex Profil |
janomajka:
„V .htaccess , nebo to (funkce ob_start() ) vložím do zdrojového kódu ?“ Je to jedno, ale nastavení bufferování v .htaccess bude fungovat pouze tehdy, když PHP poběží jako modul v Apache. V jiných případech je nutné porozhlédnout se v administraci webhostingu, zda tam jde bufferování zapnout nebo použít funkci ob_start() na začátku skriptu.
|
||
janomajka Profil |
#10 · Zasláno: 17. 2. 2013, 19:58:06
Díky moc, pomohlo přidání řádku - php_flag output_buffering On - do .htaccess . A vše funguje jak má.
Ještě jednou děkuji. |
||
Časová prodleva: 11 let
|
0