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 – 9. diel - Vylepšenia kontaktného formulára 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
teofil
Člen
Avatar
Odpovedá 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 :-(

Avatar
Zdeněk Pavlátka:15.2.2014 8:33

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

Odpovedať
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá 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.

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

Editované
Avatar
MrPabloz
Člen
Avatar
Odpovedá 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? :)

Odpovedať
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
tomass
Člen
Avatar
Odpovedá 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.

Avatar
MrPabloz
Člen
Avatar
Odpovedá 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 :)

Odpovedať
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>
Avatar
MrPabloz
Člen
Avatar
Odpovedá na tomass
MrPabloz:11.4.2014 17:11

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

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

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

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 150.