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

Člen
Avatar
Odpovedá na Jan Lupčík
:13.4.2018 11:37

OK, díky moc za pomoc :-)

Avatar
Jan Jedlička:24.5.2018 19:05

ahoj možná se budu ptát na otázku co tu už byla. Jak se píše 2x $_POST['jmeno'] v isset($_POST['jme­no']) && $_POST['jmeno'] je z důvodu, že potom se mi ověří zda je zadaný údaj je položce "jmeno" výsledný TRUE ? Nevim jestli to dobře popisuji. Takže jako bych ověřoval zda $x a $x je pravda? děkuji za jakékoliv vysvětlení.

Avatar
Odpovedá na Jan Jedlička
Jaroslav Patrný:15.7.2018 23:49

Ahoj,
ano, ale musí zároveň(&&) platit i další podmínky, email, zprava, rok. Pokud se ptáš proč to je 2krát, tak např. v

if (isset($_POST['jmeno']) && $_POST['jmeno']

(isset($_POST['jme­no']) kontroluje, jestli je odesláno dané pole a $_POST['jmeno'] jestli v tom poli něco je. Analogicky to je u dalších polí.

Avatar
Odpovedá na Jaroslav Patrný
Jan Jedlička:15.7.2018 23:55

Aha, uz to chapu. Diky

Avatar
Alegorius
Člen
Avatar
Alegorius:3.9.2018 12:18

Funguje odesílání fake mailů přes localhost i pro 64Windows? Mám stejný problém jako výše Vojtěch Vích , postupoval jsem přesně podle návodu na https://www.itnetwork.cz/…aily-limity/ i podle dalších tutoriálů na webu a nic nefunguje.Nevíte v čem by mohl být problém?Mám email s smtp doménou @email.cz ,ale předpokládám že taky patří pod smtp.seznam.cz

Děkuji za případnou radu

Avatar
jenda
Člen
Avatar
jenda:23.12.2018 16:15

Díky za článek, moc mi pomohl.

Avatar
David Javůrek:21.1.2019 7:02

Největší boj byl s emailem na localhost, ale nakonec se zadařilo po doplnění záznamu v php.ini. Děkuji za poučný tutoriál.

Odpovedať
Život by byl mnohem snazší, kdybychom k němu měli zdrojové kódy.
Avatar
Stanislav Dittert:24.1.2019 19:47

Mě se na stránce hned pod textem Můžete mě kontaktovat pomocí formuláře níže. zobrazí chyba php: Notice: Undefined variable: hlaska in C:\xampp\htdoc­s\kontaktni_for­mular\index.php on line 15. Zkoušel jsem i odebrat tento script ale pak mi nefungoval formulář vůbec.

Pak nefunguje odeslání emailu z localhost i když sem upravil soubor php.ini viz navod v lekci, chyba scriptu Warning: mb_send_mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdoc­s\kontaktni_for­mular\index.php on line 52.

Nevíte prosím kde mám chybu/y? Děkuji moc.

Avatar
Walter
Člen
Avatar
Walter:26.1.2019 20:41

Ahoj, nevím proč se mi pořád ukazuje problém ?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
if($oznameni)
echo('<p>' . $oznameni . '</p>');

?>
<form method="post">
<fieldset>
<legend><h3>Při­pomínka</h3></le­gend>
<table>
<tr>
<td><label for="jmeno1">Vaše jméno: </label></td>
<td><input name="jmeno" type="text" placeholder="Ne­povinné"></td>
</tr>
<tr>
<td><label for="email1">Váš email: </label> </td>
<td><input name="email" type="email" placeholder="Po­vinné*" required></td>
</tr>
<tr>
<td><label for="rok1">Aktuální rok: </label> </td>
<td><input name="rok" type="number" placeholder="Po­vinné*" required></td>
</tr>
</table>
<textarea name="zprava" required placeholder="Po­vinné*"></tex­tarea>
<input type="button" value="submit">
</fieldset>
</form>
<?php
mb_internal_en­coding("UTF-8");
$oznameni='';
if ($_POST)
{
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'))
{
$hlavicka ='from:' .$_POST['email'];
$hlavicka .= "\nMIME-Version: 1.0\n";
$hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";
$adresa = 'vasikzika@sez­nam.cz';
$predmet = 'Zpráva z phpProjektu';
$uspech = mb_send_mail($a­dresa, $predmet, $_POST['zprava'], $hlavicka);
if ($uspech)
{
$oznameni = 'Email byl úspěšně odeslán.';
}
else
$oznameni = 'Email se nepodařilo odeslat. Zkuste to znovu.';
}
else
$oznameni='Formulář není správně zadaný.';
}
?>
</body>
</html>
Ukazuje mi to:Notice: Undefined variable: oznameni in C:\xampp\htdoc­s\phpprojekt\in­dex.php on line 9

Avatar
Walter
Člen
Avatar
Walter:27.1.2019 15:16

Dobrý den můžete mi vysvětlit proč mi nefunguje mb_send_mail()
<?php
mb_internal_en­coding("UTF-8");

$hlaska = '';
if ($_POST)
{
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'))
{
$hlavicka = 'From:' . $_POST['email'];
$hlavicka .= "\nMIME-Version: 1.0\n";
$hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";
$adresa = 'vasikzika@sez­nam.cz';
$predmet = 'phpzprava';
$uspech = mb_send_mail($a­dresa, $predmet, $_POST['zprava'], $hlavicka);
if ($uspech)
{
$hlaska = 'YOP';
}
else
$hlaska = 'NOPE1';
}
else
$hlaska = 'NOPE';
}

?>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formulář</ti­tle>
</head>
<body>

<?php
if ($hlaska)
echo('<p>' . $hlaska . '</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>Aktualni 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>

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.