Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 8. diel - Kontaktný emailový formulár v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Odpovedá na Patrik Dlouhý
Patrik Dlouhý:11.6.2021 17:36

Správně je to

<html lang="cs-CZ">

ale nejde mi to už opravit. :-(

Avatar
Josef Rajmon
Člen
Avatar
Odpovedá na Patrik Dlouhý
Josef Rajmon:11.6.2021 17:44

Dekuji vecer zkusim. Snad to bude fungovat :)

Odpovedať
Existuje lepší moznost, najdi ji!
Avatar
Josef Rajmon
Člen
Avatar
Odpovedá na Patrik Dlouhý
Josef Rajmon:11.6.2021 22:57

Super uz to jde! Dekuji moc

Odpovedať
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!

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.

Odpovedať
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.)

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=

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>
Avatar
Radek Drlík
Člen
Avatar
Odpovedá na Radek Drlík
Radek Drlík:30.6.2022 8:44

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

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.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 289.