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 10 - Vylepšení kontaktního formuláře 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
lukasmiksik
Člen
Avatar
lukasmiksik:13.4.2014 14:04

Ahoj, skoro všechno funguje, až na to, že když se mi formulář úspěšně odešle, tak to nevypíše hlášku o tom, že byl úspěšně odeslán...

<?php
        mb_internal_encoding("UTF-8");
        $hlaska = '';
        if (isset($_GET['hlaska'])) $hlaska = 'Email byl úspěšně odeslán';
        if ($_POST) //v poli _POST něco je, odeslal se formulář
        {
                if (isset($_POST['jmeno']) && $_POST['jmeno'] &&
                        isset($_POST['email']) && $_POST['email'] &&
                        isset($_POST['zprava']) && $_POST['zprava'] &&
                        isset($_POST['rok']) && $_POST['rok'] == date('Y')
                        )
                {
                    //odeslání mailu
                    $hlavicka = 'From:' . $_POST['email'];
                    $hlavicka .= "\nMIME-Version: 1.0\n";
                    $hlavicka .= "Content-Type: text/html; charset=\"UTF-8\"\n";
                    $adresa = '[email protected]';
                    $predmet = 'Nová zpráva z mailformu!';
                    $uspech = mb_send_mail($adresa, $predmet, $_POST['zprava'], $hlavicka);
                    if ($uspech)
                    {
                        $hlaska = 'Email byl úspěšně odeslán!';
                        header('Location: contactni2.php?uspech=ano');
                        exit;
                    }
                    else {
                        $hlaska = 'Email se nepodařilo odeslat, zkontrolujte údaje!';
                    }

                }

                else {$hlaska = 'Formulář není správně vyplněný';}
        }
        ?>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Kontaktní formulář</title>

    </head>
    <body>
        <h1>Kontaktní formulář</h1>
        <?php
            if ($hlaska)
            {
                echo('<p>' . htmlspecialchars($hlaska) . '</p>');
            }
            $jmeno = (isset($_POST['jmeno'])) ? $_POST['jmeno'] : '';
            $email = (isset($_POST['email'])) ? $_POST['email'] : '';
            $zprava = (isset($_POST['zprava'])) ? $_POST['zprava'] : '';

        ?>

        <form method="POST">
            <p>Jméno: <input type="text" name="jmeno" value="<?= htmlspecialchars($jmeno) ?>"/></p>
            <p>Email: <input type="email" name="email" value="<?= htmlspecialchars($email) ?>"/></p>
            <p>Antispam(akutální rok) <input type="number" name="rok" /></p>
            <p><textarea name="zprava" ><?= htmlspecialchars($zprava) ?></textarea></p>

            <p><input type="submit" value="Odeslat" /></p>
        </form>
    </body>
</html>
 
Odpovědět
13.4.2014 14:04
Avatar
prema.mlynek
Člen
Avatar
prema.mlynek:2.7.2014 14:09

ahoj :) potřeboval bych aby hláška se zobrazí(email byl úspěšně odeslán) třeba za 5 sekund zmizela šlo by to nějak?

 
Odpovědět
2.7.2014 14:09
Avatar
Odpovídá na prema.mlynek
Martin Konečný (pavelco1998):2.7.2014 14:17

Ahoj,

to můžeš udělat snad jedině přes javascript (přes PHP určitě ne).

Odpovědět
2.7.2014 14:17
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Branislav Ház:30.10.2014 15:40

Mám problém, nech skúšam ako skúšam mail mi nepríde.

Skúšal som gmail.com, azet.sk, skusal som localhost, skúšal som endoru, aj webzdarma.cz...

Skúšal som nahrať aj originál súbor, ktorý som si stiahol odtiaľto a nič.

Prosím vie mi niekto poradiť???

 
Odpovědět
30.10.2014 15:40
Avatar
Odpovídá na Branislav Ház
Neaktivní uživatel:30.10.2014 15:51

Většina webhostingů má u free variant funkci mail zakázanou :)

Odpovědět
30.10.2014 15:51
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Branislav Ház:30.10.2014 15:55

Ďakujem ti, ale v tom prípade ako to, že mi nefunguje ani local?

smtp a port som nastavil podľa návodu providera, tzn. smtp.email.swan.sk a zabezpečený port 465, ale aj tak to nefácha..

 
Odpovědět
30.10.2014 15:55
Avatar
Odpovídá na Branislav Ház
Neaktivní uživatel:30.10.2014 16:55

To opravdu nevím.

Odpovědět
30.10.2014 16:55
Neaktivní uživatelský účet
Avatar
danhill
Člen
Avatar
Odpovídá na Neaktivní uživatel
danhill:8.11.2014 13:34

V obou uvedených odpovědích jak do mailu vložit i jméno odesílatele se jméno spojí s zprávou. Což nevypadá dobře. Nemohu přijít na to,jak to naformátovat.
Když zkusím třeba:
$zprava = 'Uživatel: <b>'. $_POST['jmeno'] . '</b></br>Nap­sal:</br>' . $_POST['zprava'];

Tak příjde:
Uživatel: testNapsal:Proc to nejde?

Děkuji moc.

Odpovědět
8.11.2014 13:34
Nikdy není tak zle, aby nemohlo být ještě hůře.
Avatar
danhill
Člen
Avatar
danhill:8.11.2014 13:47

Omlovám se, chtěl jsem napsat:

$zprava = 'Uživatel: <b>'. $_POST['jmeno'] . '</b></br>Napsal:</br>' . $_POST['zprava'];
Odpovědět
8.11.2014 13:47
Nikdy není tak zle, aby nemohlo být ještě hůře.
Avatar
debeneesse
Člen
Avatar
Odpovídá na mapak
debeneesse:3.3.2015 14:47

Už jste někdo zmínil, že použití PHP zkrácených tagů je něčím podmíněno. Celé je to popsané na adrese http://php.net/….phpmode.php a pokud to někdo s PHP myslí vážně, tak by si to měl přečíst, protože cituji:
zatímco pro některé lidi je používání zkrácených tagů vyhovující, jsou méně přenositelné a obvykle nedoporučeny
Jsou zde popsány čtyři možnosti, jak naznačit parseru, který kód je určený k interpretaci.
Pokud se prostě chcete jen vyhnout problémům, použijte jen <?php ?> a budete mít klid.

Editováno 3.3.2015 14:47
 
Odpovědět
3.3.2015 14:47
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 149.