Php mail formular – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Php mail formular – PHP – Fórum – Programujte.comPhp mail formular – PHP – Fórum – Programujte.com

 

Juraj
~ Anonymní uživatel
36 příspěvků
13. 12. 2015   #1
-
0
-

Ahoj mám taký problém ... mám takýto kód

<?php
 
if(isset($_POST['email'])) {
 
     
 
    
   function died($error) {
 
        echo "Ospravedlňujeme sa ale nastala chyba pri odoslaní formulára. <br />";
 
 
        echo $error."<br /><br />";
 
        echo "Prosím vráťte sa a opravte chyby.<br /><br />";
 
        die();
 
    }
 
   if(!isset($_POST['name']) ||
 
        !isset($_POST['email']) ||
 
        !isset($_POST['text1']) ||
 
        !isset($_POST['text'])) {
 
        died('Jedna z položiek nebola vyplnená.');       
 
    }
 
    
 
 
    $name = $_POST['name']; 
 
    $email = $_POST['email']; 
 
    $text1 = $_POST['text1']; 
 
    $text = $_POST['text'];
     
 


    $error_message = "";
 
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
 
  if(!preg_match($email_exp,$email)) {
 
    $error_message .= 'Emailová adresa nieje správna.<br />';
 
  }

 
    $string_exp = "/^[A-Za-z .'-]+$/";
 
  if(!preg_match($string_exp,$name)) {
 
    $error_message .= 'Vaše meno obsahuje neplatné znaky.<br />';
 
  }

  if(strlen($text1) < 5) {
 
    $error_message .= 'Text musí obsahovať minimálne 5 slov.<br />';
 
  }

 
  if(strlen($text) < 5) {
 
    $error_message .= 'Text musí obsahovať minimálne 5 slov.<br />';
 
  }
 
 
  if(strlen($error_message) > 0) {
 
    died($error_message);
 
  }
 
    $email_message = "Pomôžte nám<br><br>";

 
     function clean_string($string) {
 
      $bad = array("content-type","bcc:","to:","cc:","href");
 
      return str_replace($bad,"",$string);
 
    }
     
 
    $email_message .= "Meno: ".clean_string($name)."<br>";
 
    $email_message .= "Email: ".clean_string($email)."<br>";

    $email_message .= "__________________________________________________"."<br><br><br>";
 
    $email_message .= "Čo sa vám páči: ".clean_string($text)."<br><br><br><br>";

    $email_message .= "Čo sa vám nepáči: ".clean_string($text1)."<br>";
 

 
    

    $email_message = "Pomôžte nám<br><br>";

 
     function clean_string($string) {
 
      $bad = array("content-type","bcc:","to:","cc:","href");
 
      return str_replace($bad,"",$string);
 
    }
     
 
    $email_message .= "Meno: ".clean_string($name)."<br>";
 
    $email_message .= "Email: ".clean_string($email)."<br>";

    $email_message .= "__________________________________________________"."<br><br><br>";
 
    $email_message .= "Čo sa vám páči: ".clean_string($text)."<br><br><br><br>";

    $email_message .= "Čo sa vám nepáči: ".clean_string($text1)."<br>";
 

 
    
 
     
 


$headers =  'Content-type: text/html; charset=UTF-8'."\r\n";
$headers .= 'From: '.$email."\r\n".
            'Reply-To: '.$email."\r\n";
 
@mail('blalba@blabla.sk', 'Pomôžte nám', $email_message, $headers);  
 
?>
 
 
Váš formulár bol odoslaný.
<?php
}
?>

a problem je že po konci celeho mail scriptu  mám ešte html kod a tá funkcia "die" mi už zvyšok html kodu nenačíta ... viem že je to blbosť ale ešte sa len učím tak by som bol rád keby mi niekto pomohol s tým aby mi "die "len neodoslala mail ale aby sa kód čo nasleduje po php scripte ďalej načítal..

 vopred ďakujem

Nahlásit jako SPAM
IP: 178.41.225.–
Kit+15
Guru
13. 12. 2015   #2
-
0
-

#1 Juraj
Slovo "die" znamená "chcípni". A skutečně, skript po zavolání funkce die() chcípne a dál už nepokračuje. Pokud tedy chceš ve skriptu pokračovat, funkci die() prostě vyhoď. Osobně ji vůbec nepoužívám a považuji ji za přežitek z předchozích verzí PHP.

Proč ten zdroják píšeš ob řádek? Prázdné řádky se dělají pouze mezi funkčními bloky, např. funkcemi a metodami. 

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4014 příspěvků
14. 12. 2015   #3
-
0
-

Kit: Ob radek, to je jasne, odnekud to ma zkopirovane.

Juraj: Die() zastavi program. Cokoliv pak se uz nevykona. Tak to bylo puvodne mysleno v tom programu.
Jsou 2 moznosti: die zrusit nebo vse, co se ma vypsat, napsat pred die.
Osobne die pouzivam jen pri ladeni programu, aby mi od konkretniho mista uz nic nespoustel a nezdrzoval, kdyz mi nejede ta cast pred tim.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:cbe:470...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 68 hostů

Podobná vlákna

Mail formular — založil janik366

Formular s vysledky na mail — založil lalin

Php mail spam — založil Martin

PHP mail problém — založil Anonym

PHP mail - kodovani — založil matouch

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý