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 michal Čepelák
Michal Šmahel:16.8.2017 12:53

Ahoj, obsah pole (uložený v $_POST['jmeno']) nikde nepoužíváš. Kde chceš mít jméno vypsané??

Odpovedať
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Ernest Kuki
Člen
Avatar
Ernest Kuki:17.10.2017 14:36

Ahoj, co může způsobovat chybu v tomhle?

<?php
if ($hlaska)
echo('<p>' . $hlaska . '</p>');
?>

Mám to vložené přesně podle instrukcí těsně nad form .. ale hlásí mi to chybu na řádku s ECHO.

Odpovedať
Najdi co tě baví a nech ať tě to zabije..
Avatar
Ernest Kuki
Člen
Avatar
Odpovedá na Ernest Kuki
Ernest Kuki:17.10.2017 14:42

Problém vyřešen.. Kdyby někdo řešil to samé .. mrkněte jestli máte soubor uložen jako .php

Odpovedať
Najdi co tě baví a nech ať tě to zabije..
Avatar
Miroslav Mucha:2.11.2017 14:08

Ahoj, při testování kontaktních údajů zadaných do jednotlivých polí jsem zjistil, že formulář se odešle i když např. do pole "jmeno" nebo "zprava" klepnu jenom mezeru. Stejně tak to projde, když se tam zadá například hodnota NULL. Tak jsem to zkusil ošetřit a už to mezery atd. nezpracuje a vyhodí chybu. Chci se zeptat, zda jsem se touto úpravou nedopustil něčeho nekorektního

<?php
if($_POST)  // konrola, zda byl formulář odeslán
{
    if(isset($_POST['jmeno']) && !empty($_POST['jmeno']) && !ctype_space($_POST['jmeno']) &&
       isset($_POST['email']) && !empty($_POST['email']) &&
       isset($_POST['zprava']) && !empty($_POST['zprava']) && !ctype_space($_POST['zprava']) &&
       isset($_POST['rok']) && !empty($_POST['rok'] == date('Y')))
    {
         //Sem přijde odeslání emailu
    }
    else
    {
        $hlaska =  "Formulář není správně vyplněný!";
    }
}

?>
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Miroslav Mucha
David Hartinger:2.11.2017 15:05

empty() funguje i když tam klíč není, nevyhodí chybu. Nemusíš tam tedy používat isset(), když jsi tam dal empty(). Jinak to vypadá ok. Zvalidovat formulář dobře je samozřejmě dost práce, proto se to řeší až dále v kurzech, konkrétně se na to implementuje framework v kurzu Knihovny pro PHP

Odpovedať
New kid back on the block with a R.I.P
Avatar
Odpovedá na David Hartinger
Miroslav Mucha:2.11.2017 17:21

Děkuju za odpověď :-)

Avatar
wartkor
Člen
Avatar
wartkor:22.12.2017 22:32

Ahoj můj kód mi nefunguje pošlete mi prosím celý správný kód. Můj kód: <?php
mb_internal_en­coding("UTF-8");
$hlaska = '';
if ($_POST) // V poli _POST něco je, odeslal se formulář
{
if (isset($_POST['jme­no']) && $_POST['jmeno'] &&
isset($_POST['e­mail']) && $_POST['email'] &&
isset($_POST['zpra­va']) && $_POST['zprava'] &&
isset($_POST['rok']) && $_POST['rok'] == date('Y'))
{
// Sem přijde odeslání emailu
}
else
$hlaska = 'Formulář není správně vyplněný!';
}
$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($a­dresa, $predmet, $_POST['zprava'], $hlavicka);
if ($uspech)
{
$hlaska = 'Email byl úspěšně odeslán, brzy vám odpovíme.';
}
else
$hlaska = 'Email se nepodařilo odeslat. Zkontrolujte adresu.';

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

<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"></tex­tarea><br />

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

</body>
</html>

Odpovedať
Káždý jednou začal a neuspěl hned na poprvé
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovedá na wartkor
Jan Lupčík:23.12.2017 8:06
  1. Házej kód do tagu [ code ], tohle se nedá číst.
  2. Pokud máš nějaký problém, napiš jaký. Co nefunguje, co to hází za error, co by mělo fungovat a co něco dělat atd.
  3. Pod článkem máš ke stažení zdrojové kódy.
Odpovedať
TruckersMP vývojář
Avatar
wartkor
Člen
Avatar
Odpovedá na Jan Lupčík
wartkor:23.12.2017 10:10

No jo ale tam není kód ale jen jak to má vypadat :/

Odpovedať
Káždý jednou začal a neuspěl hned na poprvé
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na wartkor
David Hartinger:23.12.2017 11:29

A to tlačítko "Stáhnout" je co? :-` Určitě bys ho našel, kdyby jsi se trochu snažil.

Odpovedať
New kid back on the block with a R.I.P
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.