Autor Zpráva
janomajka
Profil
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 *
http://www.zive.cz/clanky/php---13-dil--kouzla-s-funkci-header/sc-3-a-117244/default.aspx
scheras
Profil *
Povolte hlášení chyb a potom budeme vědět více.
janomajka
Profil
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 *
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
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
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
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
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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