NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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
Odpovídá na Patrik Dlouhý
Patrik Dlouhý:11.6.2021 17:36

Správně je to

<html lang="cs-CZ">

ale nejde mi to už opravit. :-(

 
Odpovědět
11.6.2021 17:36
Avatar
Josef Rajmon
Člen
Avatar
Odpovídá na Patrik Dlouhý
Josef Rajmon:11.6.2021 17:44

Dekuji vecer zkusim. Snad to bude fungovat :)

Odpovědět
11.6.2021 17:44
Existuje lepší moznost, najdi ji!
Avatar
Josef Rajmon
Člen
Avatar
Odpovídá na Patrik Dlouhý
Josef Rajmon:11.6.2021 22:57

Super uz to jde! Dekuji moc

Odpovědět
11.6.2021 22:57
Existuje lepší moznost, najdi ji!
Avatar
Dušan Kovářík:27.6.2021 14:04

Wow, funguje mi to :) Musel jsem si celý článek dnes přečíst podruhé, abych pochopil některé věci, které mi napoprvé přišly složité, a už se mi to zdá mnohem jednodušší. Díky za článek!

 
Odpovědět
27.6.2021 14:04
Avatar
Martin Libich:10.9.2021 15:53

Ahoj, vše dobře vysvětleno, jen by mě zajímal první "příkaz":

$hlaska = '';

Tím je myšleno co přesně? Deklaruje se nějaká zatím prázdná proměnná? A je to nutné? Díky.

Odpovědět
10.9.2021 15:53
Pokud se ráno probudím, je vše v pořádku
Avatar
Václav Franz
Tvůrce
Avatar
Václav Franz:19.12.2021 22:15

Po odeslání formuláře na "localhost" mi to vyhodilo hlášku "Uncaught Error: Call to undefined function mb_send_mail()". Pomohlo změnit mb_send_email() na mail(). Stejně tak u mb_internal_en­coding. Ale po nahrání na server vše fungovalo. (Kdyby měl někdo čas a chuť, může vysvětlit, proč tomu tak je.)

 
Odpovědět
19.12.2021 22:15
Avatar
Haloun Jiří:6.1.2022 15:13

Ať dělám co dělám, stejně mi chodí do mejlu hloupost, takto Nová zpráva z mailformu
aGdmZHNkZmc=

 
Odpovědět
6.1.2022 15:13
Avatar
Radek Drlík
Člen
Avatar
Radek Drlík:30.6.2022 8:38

sendmail se mi nepovedlo rozchodit, místo toho jsem použil PHPMailer, je ale nutno pres composer nainstalovat

<?php
mb_internal_encoding("UTF-8");
//Load Composer's autoloader
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

if ($_POST){

  $mail = new PHPMailer(true);
  if (isset($_POST['jmeno']) && $_POST['jmeno'] &&
      isset($_POST['email']) && $_POST['email'] &&
      isset($_POST['zprava']) && $_POST['zprava'] &&
      isset($_POST['rok']) && $_POST['rok'] == date('Y'))
      {
        try{
          $mail->isSMTP();
          $mail->Host       = 'smtp.seznam.cz';
          $mail->SMTPAuth   = true;
          $mail->Username   = '[email protected]';
          $mail->Password   = 'password';
          $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
          $mail->Port       = 465;
          $mail->isHTML(true);                                  //Set email format to HTML
          $mail->Subject = 'Here is the subject';
          $mail->Body    = $_POST['zprava'];
          $mail->setFrom('[email protected]', 'Rada');
          $mail->addAddress($_POST['email'], $_POST['jmeno']);
          $mail->send();
          $hlaska = 'Email byl úspěšně odeslán, brzy vám odpovíme.';
        } catch (Exception $e) {
            echo "Email se nepodařilo odeslat. Mailer Error: {$mail->ErrorInfo}";
        }
      } else {
        $hlaska = 'Formulář není správně vyplněný!';
      }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Kontaktní formulář</title>
    </head>
    <body>
        <p>Můžete mě kontaktovat pomocí formuláře níže.</p>
        <?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="email" /></td>
                </tr>
        <tr>
                    <td>Aktuální rok</td>
                    <td><input name="rok" type="number" /></td>
                </tr>
            </table>
            <textarea name="zprava"></textarea><br />

            <input type="submit" value="Odeslat" />
        </form>

    </body>
</html>
 
Odpovědět
30.6.2022 8:38
Avatar
Radek Drlík
Člen
Avatar
Odpovídá na Radek Drlík
Radek Drlík:30.6.2022 8:44

nejspis kvuli tomu ze mam v heslu mezeru a sendmail nepodporuje mezery

 
Odpovědět
30.6.2022 8:44
Avatar
Lukáš Hrabovský:22.9.2022 19:55

Pokud nemám žádný on-line webhosting, tak si to neotestuju. Možná bych uvítal základní informace pro nastavení v XAMPPu.

 
Odpovědět
22.9.2022 19:55
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.