Autor Zpráva
J
Profil *
Napadá někoho proč se formulář odešle i když nejsou splněné podmínky (vyplněná požadovaná pole a správně vyplněná položka spam). Vypíše se sice správná hláška: že e-mail nebyl odeslán, ale ve skutečnosti se formulář odešle nevyplněný.

Mám toto:

<?php
$mail = "mail@seznam.cz";
$predmet = "mail";
$identifikace = "formuláře na webu www.web.cz";
$email = $_POST['email'];
$spam = $_POST['spam'];
$datum = date( "d.M.Y v H:i:s");
$poznamka = 
$predmet." z ".$identifikace.
" \r\n---------- ".
" \r\nDatum a čas: ".$datum.
" \r\nJméno a příjmení: ".$_POST['jmeno']." ".$_POST['prijmeni'].
" \r\nTelefon: ".$_POST['telefon'].
" \r\nEmail: ".$_POST['email'].
" \r\nPoložka1: ".$_POST['polozka1'].
" \r\nPoznámka: ".$_POST['poznamka'].
" \r\nŽádost přišla z IP adresy: ".$REMOTE_ADDR;
$kon = cs_mail ($mail, $predmet, $poznamka, "From: $email\n");

if ($_POST['jmeno']!="" and $_POST['prijmeni']!="" and $_POST['telefon']!="" and $email!="" and $spam=="2" )
{
$kon = cs_mail ($mail, $predmet, $poznamka, "From: $email\n");
if ($kon)
  echo "E-mail byl úspěšně odeslán.<br>";
}  
 else
  echo "E-mail se bohužel nepodařilo odeslat.<br>";
?>

<?php

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

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

Moderátor Chamurappi: Vkládej prosím kód mezi značky [pre] a [/pre] (stačí kliknout na ).
Chamurappi
Profil
Reaguji na J:
PHP neumím, ale pokud jsem tvůj zdroják správně pochopil, tak odešleš mail (řádek 18), pak otestuješ vyplněnost polí (řádek 20) a pokud jsou vyplněná, odešleš mail znovu (řádek 22).
fuckin
Profil *
presne tak mas to tam 2x, tu podminku si radsi dej uplne nahoru...proc prirazovat do promennych hodnoty kdyz pak stejne budou prazdne?
J
Profil *
Jste HLAVIČKY! Díky. Koukal jsem do toho tak dlouho, až jsem přehlédl, že tam mám takový nesmysl.

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