NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 9 - Kontaktní e-mailový formulář v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Peter Kovač
Člen
Avatar
Peter Kovač:17.1.2018 16:25

Neviete kde môže byť problém keď mi neodosiela email?

 
Odpovědět
17.1.2018 16:25
Avatar
Hando
Člen
Avatar
Odpovídá na Peter Kovač
Hando:17.1.2018 23:43

Třeba ti nikdo nepíše. :) Teď vážně - příčin může být mnoho, pokud neposkytneš víc informací, tak ti nikdo nemá šanci konkrétněji poradit.
Zkoušíš to na localhostu? Máš správně kód - nějaké chyby nevypisuje? Hlavičky?

 
Odpovědět
17.1.2018 23:43
Avatar
Petr Polášek:12.2.2018 17:45

Nevím proč, ale pokaždé, co vyplním formulář, tak mi to napíše, že je špatně vyplněný. Úplně stejně jsem zkusil vyplnit ten, který je zde ke stažení a ten šel.
Nevíte kde je chyba?

<?php
mb_internal_encoding("UTF-8");

  $hlaska = '';
  if ($_POST)
  {
      if (isset($_POST['jmeno']) && $_POST['jmeno'] &&
        isset($_POST['email']) && $_POST['email'] &&
        isset($_POST['zprava']) && $_POST['zprava'] &&
        isset($_POST['rok']) && $_POST['rok'] == date('y'))
    {
      $hlavicka = 'From:' . $_POST['email'];
      $hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";
      $adresa = 'x@gmail.com';
      $predmet = 'dasdasdasdasd';
      $uspech = mb_send_mail($adresa, $predmet, $_POST['zprava'], $hlavicka);
      if ($uspech)
      {
        $hlaska = 'Email byl odeslan.';
      }
      else
        $hlaska = 'Email nebyl odeslan.';

    }
    else
        $hlaska = 'Formular neni spravne vyplneny!';
  }
?>


<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>mail</title>
    </head>
    <body>
        <?php
          if ($hlaska)
            echo('<p>' . $hlaska . '</p>');
         ?>
        <form method="post">
          <table>
            <tr>
              <td>Vaše jméno</td>
              <td><input name="jmeno" type="text" /></td>
            </tr>
            <tr>
              <td>Váš email</td>
              <td><input name="email" type="text" /></td>
            </tr>
            <tr>
              <td>Aktuální rok</td>
              <td><input name="rok" type="number" /></td>
            </tr>
          </table>
          <textarea name="zprava"></textarea><br />
        <input value="odeslat" type="submit" />
      </form>

    </body>
</html>
 
Odpovědět
12.2.2018 17:45
Avatar
Odpovídá na Petr Polášek
Michal Šmahel:12.2.2018 18:03

Ahoj, máš chybný parametr funkce date(). Více si můžeš přečíst třeba tady.

// Pozor na velikosti písmen
$short = date('y');
$long = date('Y');

Echo($short); // 18
Echo($long) // 2018
Odpovědět
+2
12.2.2018 18:03
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
 
Odpovědět
12.2.2018 18:59
Avatar
František Kreisinger:3.3.2018 18:45

Odkud se tam proboha vezme ta hláška "Je nutné zadat platnou e-mailovou adresu.", pokud jako "Váš email" zadám nějaký nesmysl a dám Odeslat?

Odpovědět
3.3.2018 18:45
Začátečník v PHP, HTML i webovém programování vůbec.
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na František Kreisinger
Jan Lupčík:3.3.2018 18:47

Myslíš takovou tu bublinu? To dělá prohlížeč, protože ten input je typu email. :)
Zde můžeš vidět všechny typy inputů: https://www.w3schools.com/…put_type.asp

Editováno 3.3.2018 18:48
Odpovědět
3.3.2018 18:47
TruckersMP vývojář
Avatar
Odpovídá na Jan Lupčík
František Kreisinger:3.3.2018 18:49

Ano, to jsem měl na mysli. Díky.

Odpovědět
3.3.2018 18:49
Začátečník v PHP, HTML i webovém programování vůbec.
Avatar

Člen
Avatar
:10.4.2018 19:53

Ahoj, potřebuji nutně pomoct. Spustil jsem mailform.php z balíčku pod článkem a nemůžu zprávu odeslat. Jediné co jsem změnil byla adresa, na kterou jsem chtěl email odeslat. Pokaždé mi to napíše:

Warning: mb_send_mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\email\index.php on line 35

Když jsem to ještě před několika týdny zkoušel, žádná chyba/varování se mi nezobrazilo a program fungoval. Co myslíte? Je to chyba programu nebo je to mnou?

 
Odpovědět
10.4.2018 19:53
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na
Jan Lupčík:10.4.2018 21:39

Ahoj,
nemáš nastavené odesílání E-mailů. Na to, jak se to nastavuje, se podívej na následující článek:
https://www.itnetwork.cz/…maily-limity

Odpovědět
10.4.2018 21:39
TruckersMP vývojář
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 289.