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
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>
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?

Avatar
Odpovedá 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).

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

Avatar
Odpovedá na Branislav Ház
Neaktivní uživatel:30.10.2014 15:51

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

Odpovedať
Neaktivní uživatelský účet
Avatar
Odpovedá 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..

Avatar
Odpovedá na Branislav Ház
Neaktivní uživatel:30.10.2014 16:55

To opravdu nevím.

Odpovedať
Neaktivní uživatelský účet
Avatar
danhill
Člen
Avatar
Odpovedá 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.

Odpovedať
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'];
Odpovedať
Nikdy není tak zle, aby nemohlo být ještě hůře.
Avatar
debeneesse
Člen
Avatar
Odpovedá 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.

Editované
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.