Autor Zpráva
Pavel Dumbrovský
Profil
Dobrý den,
prosím Vás, tentokrát asi půjde o nějaké nastavení na serveru, protože mám skript pro odeslání formuláře, přesněji tento: http://www.chapadlo.cz/weblog/clanek/ochrana-formularu-proti-spamu-reseni-kontaktniho-formulare
a na jednom hostingu šlape, jinde zase ne. Zkoumal jsem proč a zřejmě půjde o nějakou krpu s odesílanými daty, protože
$_POST
je prázdné, nebo se tak alespoň tváří a proto se nevykoná co by mělo..
Díky za radu!
Pavel Dumbrovský
Profil
Tak jsem na tom druhém serveru dal pryč .htaccess s mod_rewritem a zkusil ten skrip samostatně nenaicludovanej a běží, achjo..

.htaccesem to není, prostě jakmile to naincluduju, tak to nevalí, zřejmě index.php v kterým to je přepisuje nebo jinak mrví společný proměnný, jinak nevím..
Pavel Dumbrovský
Profil
Tak příčinou je tenhle kus kódu na doplnění lomítek:
 # automatické doplneni koncoveho lomitka
    if ( !ereg("/$", $_SERVER['REQUEST_URI']) && !strpos($_SERVER['REQUEST_URI'], "?") && !strpos($_SERVER['REQUEST_URI'], ".") ) {
        header("Location: ".$_SERVER['REQUEST_URI']."/", 301);
        return true;
    }	

Zatím nechápu proč, ale asi bude muset pryč..
Kajman_
Profil *
Pokud je posílaná data přes post, budou při přesměrování ztracena. Proto testujte, zda je o post před každým přesměrováním.
Majkl578
Profil
A co se kódu týče, ereg* funkce jsou od verze 5.3 deprecated.
Nešlo by to nahradit za toto?
if (!preg_match('~(/$|[\?\.])~', $_SERVER['REQUEST_URI'])) {
	header('Location: ' . $_SERVER['REQUEST_URI'] . '/', 301);
	exit;
}
Pavel Dumbrovský
Profil
Děkuju pánové.
Ještě Vás prosím, jestli byste se nemrkli na jednu věc. Jde o ten výše zmíněný skript na formulář, konkrétné tato pasáž:
    public function sendMail( ) {
        $obsah = iconv( "utf-8", "iso-8859-2", $this->text );

        if ( mail( "info@domena.cz", "E-mail z webu", $obsah, "From: ".
                $this->mail."\nContent-Type: text/plain; charset=iso-8859-2\n" ) ) {
            echo "E-mail byl odeslán.";
        }
        else {
            echo "E-mail se nepodařilo odeslat !";
        }
    }

Stále mi to háže "E-mail se nepodařilo odeslat!" - přitom pole vyplněna, jinak bych se ani do tohoto podcyklu nedostal.. Selhává fce mail? Verze php by měla být 5+ , fce mail zapnutá, tak nevím..
Pavel Dumbrovský
Profil
Tak ještě jinak:
<?php
if ( mail ("info@domena.cz" , "test" , "test" ) ) {echo "Odeslano";}
else {echo "Chyba";}
?>

Na jednom serveru se odešle, na jednom chyba. Kde mám hledat krpu? Kdyby byla zakázaná fce mail, tak mi to hodí php chybu ne?
fuckin
Profil
Pavel Dumbrovský:
Zkus phpmailer.

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: