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
teofil
Člen
Avatar
Odpovídá na teofil
teofil:11.2.2014 22:39

Tak teď jsem ještě stáhl originál bez mého zásahu a také se zpráva na centrum.cz neodešle :-(

 
Odpovědět
11.2.2014 22:39
Avatar
Zdeněk Pavlátka:15.2.2014 8:33

Na centrum.cz email nedorazí, i když stránka tvrdí, že byl odeslán.

Odpovědět
15.2.2014 8:33
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na teofil
David Hartinger:21.3.2014 17:02

Na centrum.cz to mají nějak blbě nastavené, již jsem to jednou řešil. Zkus změnit \n za \r\n v hlavičce. Jinak to chce zkoušet blbnout s tou hlavičkou a zjistit, co rozhází ten jejich server. Napiš jak to dopadlo.

Odpovědět
21.3.2014 17:02
New kid back on the block with a R.I.P
Avatar
tomass
Člen
Avatar
tomass:11.4.2014 16:41

Zdravím, nevíte čím by to mohlo být, že při načtení formuláře se mi ve všech polích načtou předvyplněné hodnoty nastavené ve value?, V kolonce pro jméno se mi tam při načtení formuláře vypíše<?=htmlspe­cialchars($jme­no) ?>, t samé i v emailu a zprávě. Pro jistotu sem si stáhl i hotový kód tady z devbooku a stejně se mi to tam vypisuje, zkoušel sem to ve FireFoxu i Chromu, ale v obou mi to dělá, díky za rady.

Editováno 11.4.2014 16:46
 
Odpovědět
11.4.2014 16:41
Avatar
MrPabloz
Člen
Avatar
Odpovídá na tomass
MrPabloz:11.4.2014 16:47

a kde to spouštíš? na svem pc? nebo na servru nějakém? a když na svem PC? máš zaputý apache? :)

Odpovědět
11.4.2014 16:47
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
tomass
Člen
Avatar
Odpovídá na MrPabloz
tomass:11.4.2014 16:51

Je to na mém PC,Apache mám zaplý, zkoušel sem si i jen vypsat text přes echo a ten mi to vypsalo v tom souboru.

 
Odpovědět
11.4.2014 16:51
Avatar
MrPabloz
Člen
Avatar
Odpovídá na tomass
MrPabloz:11.4.2014 16:56

tak potom nejlepší by bylo hodit sem kod formuláře :) Tak ti mohu poradit líp :) takhle můžem jen tipovat co s tím je :)

Odpovědět
11.4.2014 16:56
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
tomass
Člen
Avatar
tomass:11.4.2014 17:06

No jak sem psal, zkoušel sem si i zdrojový soubor, co tu je ke stažení a u něho mi to dělá taky:

<?php


    mb_internal_encoding("UTF-8");

    $hlaska = '';
    if (isset($_GET['uspech']))
        $hlaska = 'Email byl úspěšně odeslán, brzy vám odpovíme.';
    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'))
        {
            $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, brzy vám odpovíme.';
                header('Location: mailform.php?uspech=ano');
                exit;
            }
            else
                $hlaska = 'Email se nepodařilo odeslat. Zkontrolujte adresu.';
        }
        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>' . htmlspecialchars($hlaska) . '</p>');

            $jmeno = (isset($_POST['jmeno'])) ? $_POST['jmeno'] : '';
            $email = (isset($_POST['email'])) ? $_POST['email'] : '';
            $zprava = (isset($_POST['zprava'])) ? $_POST['zprava'] : '';
        ?>

        <form method="POST">
            <table>
                <tr>
                    <td>Vaše jméno</td>
                    <td><input name="jmeno" type="text" value="<?= htmlspecialchars($jmeno) ?>"/></td>
                </tr>
                <tr>
                    <td>Váš email</td>
                    <td><input name="email" type="email" value="<?= htmlspecialchars($email) ?>"/></td>
                </tr>
                <tr>
                    <td>Aktuální rok</td>
                    <td><input name="rok" type="number" /></td>
                </tr>
            </table>
            <textarea name="zprava"><?= htmlspecialchars($zprava) ?></textarea>
            <br />

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

    </body>
</html>
 
Odpovědět
11.4.2014 17:06
Avatar
MrPabloz
Člen
Avatar
Odpovídá na tomass
MrPabloz:11.4.2014 17:11

A když zkoušíš mimo formulář <?= htmlspecialchar­s($zprava) ?> tohle, tak ti to noormálně vypíše?

Odpovědět
11.4.2014 17:11
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
tomass
Člen
Avatar
Odpovídá na MrPabloz
tomass:11.4.2014 17:15

Když to dám mimo formulář, tak to nepíše nic.

 
Odpovědět
11.4.2014 17:15
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.