Autor Zpráva
kozzyCZech
Profil
ahoj lidi.. jsem zacatecnik v html a delam stranky pro znameho na adrese mnk.mzf.cz a na strance kontakt sem si udelal formular na odesilani mailu vse funguje tak jak ma kdyz je vse vyplnene tak v odesli.php mam nastavene presmerovani na stranku kde je napsano ze vse probehlo v pohode a presmeruje to za 10 vterin na domovskou stranku... ale muj dotaz spociva v tom ze kdyz odeslu formular bez nejakoho vyplneneho policka tak me to presmeruje z5 na formular s hlaskou ze neni vyplnene vse ale chtel bych docilit toho aby se prohlizec vratil o stranku z5 kde by byla zas hlaska ze neco neni vyplnene s tim ze by ve formularich zustalo to co uz tam bylo napsano aby to doticny clovek nemusel vypisovat znovu :) po pravde koho by to nestvalo kdyby neco psal dlouho pak neco nevyplnil a musel by to psat znova :) predem dekuji za odpoved :)


zde zasilam php kod
   <?php
function autoUTF($s)
{
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) // detect UTF-8
    {
        return $s;
    }
    elseif (preg_match('#[\x7F-\x9F\xBC]#', $s)) // detect WINDOWS-1250
    {
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    }
    else // assume ISO-8859-2
    {
        return iconv('ISO-8859-2', 'UTF-8', $s);
    }
}

function cs_mail($to, $predmet, $zprava, $head = "")
{
    $predmet = "=?utf-8?B?".base64_encode(autoUTF($predmet))."?=";
    $head .= "\nMIME-Version: 1.0\r\n";
    $head .= "Content-Type: text/html; charset=\"utf-8\"\r\n";
    $head .= "Content-Transfer-Encoding: base64\r\n";
    $zprava = base64_encode(autoUTF($zprava));
    return mail($to, $predmet, $zprava, $head);
}

$jmeno = $_POST['jmeno'];
$od = $_POST['od'];
$predmet = $_POST['predmet'];
$zprava = $_POST['zprava'];

if ($jmeno!="" and $od!="" and $predmet!="" and $zprava!="")
{
cs_mail("koksitekk@gmail.com", "predmet emailu", "$jmeno $od $predmet\n$zprava", "From: " . $od);
echo "<p>odesláno<p>";
header("Location: odeslano.html");
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje</p>";
header("Location: kontakt-chyba.html");
} 

?>
email sem si smazal a nezaleknete se toho kodu kdyby se nekomu nelibil :D okopiroval sem ho z nejake diskuze a drobet upravil.

snad ste me dobre pochopili a dekuji za nejake dobre duse ktery mi poradi :)
o_O
Profil
Možná je to mimo téma, ale:
if ($jmeno!="" and $od!="" and $predmet!="" and $zprava!="")

co když vyplním mezery? :-) Nebo pevné mezery (ALT+0160)? Trim().

Osobně bych to řešil (a také řeším) přes $_SESSION:
$_SESSION['chyba']['form']['od']=$od;

a tu pak vypisoval v případě existence:
if(isset($_SESSION['chyba']['form']['od']))echo ' value="'.htmlspecialchars($_SESSION['chyba']['form']['od']).'"';


Nezapomeňte na začátek stránky dát
session_start();
kozzyCZech
Profil
o_O
díky moc, zítra se na to podívám sice php moc neholduju chtěl sem se mu vyhnout obloukem ale jinak sem tohle nemohl řešit a na externí aplikace jako blueboard nemám :D nechci je na stránkách :D dnes už na to něják nemám náladu čumím do toho už snad celej den ale díky moc :)

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:

0