Autor Zpráva
bar
Profil
Ahoj
mám celkem jednoduchý skript na odesílání mailů, všude funguje bez problémů, ale zkusila jsem nový hosting onebit a přišel problém. Mail se odešle, ale přesměrování pomocí Header("Location:http:.. nefunguje.
Skript:

<?php
function JeEmail ($cislo)
{
return ereg("^.+@.+\..+$",$cislo);
}
if (!empty($_POST)) // kontolovat
{
if (!JeEmail($_POST["email"])) // neprošli
Header("Location:http://www.diego-zlin.com/kontakt.php?a=neuvedli jste správný e-mail");
else
{ $email=$_POST["email"];
$predmet=$_POST["predmet"];
$zprava=$_POST["zprava"];
$predmet = iconv("CP1250","ISO-8859-2",$predmet);
$zprava = iconv("CP1250","ISO-8859-2",$zprava); $headers = "From:".$email."\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-2\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Return-Path:".$email."\n";
if(Mail("lb@seznam.cz","dotaz z www","odesilatel: $email\npredmet: $predmet\n\ndotaz: $zprava",$headers));
{
Header("Location:http://www.diego-zlin.com/kontakt.php?a=děkujeme za Váš e-mail") }
}
}
?>

Podotýkám, že nemám před skriptem žádné výstupy jako echo nebo print nebo cokoliv jiného. Řešení jsem se snažila najít ale nenašla, takže budu vděčná ža každou pomoc
Casero
Profil
a když neprošli tak to faká??
bar
Profil
No právě, funguje všechno, až na ty Header. Zkoušela jsem i to, že jsem dala na stránku jenom skript

<?php
Header("Location:http://www.diego-zlin.com/kontakt.php");
?>

Na tuto stránku jsem odkazovala z jiné a stejně to nejelo, zasekne se to na té volané stránce, chybová hláška se nevypíše žádná a nic se nepřesměruje
krteczek
Profil

<?php
function JeEmail ($cislo)
{
return ereg("^.+@.+\..+$",$cislo);
}
if (!empty($_POST)) // kontolovat
{
if (!JeEmail($_POST["email"]))
{
// neprošli
$adresa="http://www.diego-zlin.com/kontakt.php?a=".rawurlencode("n euvedli jste správný e-mail");
Header("Location: ".$adresa);
exit;
}
else
{
$email=$_POST["email"];
$predmet=$_POST["predmet"];
$zprava=$_POST["zprava"];
$predmet = iconv("CP1250","ISO-8859-2",$predmet);
$zprava = iconv("CP1250","ISO-8859-2",$zprava); $headers = "From:".$email."\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-2\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Return-Path:".$email."\n";
if(Mail("lb@seznam.cz","dotaz z www","odesilatel: $email\npredmet: $predmet\n\ndotaz: $zprava",$headers));
{
$adresa="http://www.diego-zlin.com/kontakt.php?a=".rawurlencode( "děkujeme za Váš e-mail");
Header("Location: ".$adresa) ;
exit;
}
}
}
?>

chyběl tam exit; za header, a převedl jsem parametry na "bezpečné znaky"
krteczek
Profil
bar ještě jedna věc: na začátek scriptu napiš
error_reporting(E_ALL);
bude vypisovat chybové hlášky, (po odstranění problému zakomentovat)
bar
Profil
krteczek
Díky moc, už to funguje bez problémů.
Toto téma je uzamčeno. Odpověď nelze zaslat.