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
Petr Čech
Tvůrce
Avatar
Odpovedá na wartkor
Petr Čech:23.12.2017 22:50

Ano, je, vždyť je to předmětem toho komentáře :P . To, že neumíš PHP znamená, že se ho máš sakra naučit, jestli to myslíš vážně, nebo se připrav na to, že budeš platit, protože jen z tutoriálů se vážně vlastní web poskládat nedá (možná dá, ale určitě to není dobrý nápad).
A nebo jestli se ti nechce učit PHP, můžeš použít nějakou předpřipravenou blbost jako Wordpress a pod., těch služeb jsou hromady.

Odpovedať
the cake is a lie
Avatar
Jiřina Trojánková:2.1.2018 9:53

Ahoj, potřebovala bych poradit, chybu mám zřejmě tady, i když se to zdá být napsané správně:
<code>
$hlaska = 'Email byl úspěšně odeslán, brzy Vám odpovím. Jiřina.';
header('Location: kontakt.php?us­pech=ano');
exit;
</code>
Nicméně místo aby to provedlo to co má, hodí mě to na neexistující stránku:
http://jirina.wz.cz/kontakt.php?…

Avatar
Hando
Člen
Avatar
Odpovedá na Jiřina Trojánková
Hando:2.1.2018 13:02

Ahoj.
A co by se mělo dít jinak? Stránka kontakt.php evidentně na serveru neexistuje, tvůj kontaktní formulář je na
'http://jirina­.wz.cz/index.php?stran­ka=kontakt',
takže bys to musela předávat nějak jinak =>
index.php?stran­ka=kontakt&us­pech=ano.

Jinak tedy $hlaska před header('Locati­on...) nemá úplně smysl, jelikož po přesměrování o tu proměnnou stejně přijdeš. Tutoriál jsem nečetl, ale tutově je to tam zmíněno, co s tím.. :)

Avatar
Odpovedá na Hando
Jiřina Trojánková:2.1.2018 14:34

Super, takhle to funguje. Nenapadlo mě, že tam má být: kontakt&uspech. Hodí mě to zpátky na stránku kontakt a vypíše hlášku o odeslání, přesně jak to má být:)
Ta $hlaska před header tam asi fakt být nemusí, už je nahoře na začátku stránky, takže tu mažu.
Díky.

Avatar
Ján Štucka
Člen
Avatar
Ján Štucka:17.1.2018 13:58

Čau pri odoslaní formuláru mi ostanú všetky vyplnené polia tak ako boli vyplnené, až na tú správu ktorú chcem poslať tá mi zmizne aj keď to mám rovnako ako vy ... Pomohli by ste mi prosím ?
<?php
/**
* Created by PhpStorm.
* User: Jano
* Date: 16.1.2018
* Time: 13:11
*/

mb_internal_en­coding("UTF-8");

$erorr='';
if ($_POST){
/**
* tato prva podmienka kontroluje ci vo formulari je vobec nieco a ci bol odoslany
*/
if (isset($_POST['na­me'])&&$_POST['na­me']&&isset($_POS­T['email'])&&$_POS­T['email']&&is­set($_POST['mes­sage'])&&$_POS­T['message']&&is­set($_POST['y­ear'])&&$_POS­T['year']==da­te('Y')){
$header='From: '.$_POST['email'];
$header.="\nMIME-Version: 1.0\n";
$header.="Content-Type: text/html; charset=\"utf-8\"\n";
$addressOfOurE­mail='stuckaja­[email protected]';
$subject='Skusam ci to fakt pojde.';
$success=mb_sen­d_mail($addres­sOfOurEmail,$sub­ject,$message,$he­ader);
if ($success)
$erorr="The email was sent successfully, we answer about it in near feature";
else $erorr="The email can't be sended. Please control you're email address";
}
/**
* isset zistuju ci existuju vobec premenne ako name message atd. druha podmienka kontroluje ci v danych premennych nieco je
*/
else{
$erorr='Formular is not complete correctly';
}
}
/**
* mb_send_mail() sluzi na odoslanie mailu, pricom musime pri pouziti tejto funkcie na zaciatku nastavit kodovanie
*/

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Kontaktny formular</title>
</head>
<body>
<p>You can contact me by form placed lower</p>

<?php

if ($erorr)
echo('<p>' . htmlspecialchar­s($erorr) . '</p>');

$name=(isset($_POS­T['name']) ? $_POST['name'] : '');
$message=(isset($_POS­T['message']) ? $_POST['message'] : '');
$email=(isset($_POS­T['email']) ? $_POST['email'] : '');

?>

<form method="post"> <!--Vsimnime si, zetu nemame parameter action data sa odoslu na ten isty subor, kde je formular-->
<table>
<tr>
<td>You're name</td>
<td><input name="name" type="text" value="<?= htmlspecialchar­s($name)?>"/></td> <!--htmlspecialchars() je ochranna funkcia aby niekto nevlozil do komentarov html kod ktory vytvori nejaky formular ktory bude napr odosielat hesla nejakemu hajzlovy-->
</tr>
<tr>
<td>You're e-mail</td>
<td><input name="email" type="email" value="<?=htmlsp­ecialchars($e­mail)?>"></td> <!--mozme dosiahnut vyplnenie pola pri pomyleni aj takto-->
</tr>
<tr>
<td>Actually year</td>
<td><input name="year" type="number"></td>
</tr>
</table>
<textarea name="message" value="<?=htmlsp­ecialchars($mes­sage)?>"></tex­tarea>
<br/>
<input type="submit" value="Send" />
</form>
</body>
</html>

Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovedá na Ján Štucka
Jan Lupčík:17.1.2018 15:45

<textarea> nepoužívá attribut value, ale její obsah píšeš rovnou mezi ty dva tagy. A stejně to nemáš, v tom článku je to takto:

<textarea name="zprava"><?= htmlspecialchars($zprava) ?></textarea>
Odpovedať
TruckersMP vývojář
Avatar
Jan Švanda
Člen
Avatar
Jan Švanda:1.2.2018 12:24

Dobrý den, jak bych mohl předvyplnit (znovu zvolit) stejný option u selected ? Předem děkuji za odpověď.

Avatar
Moss
Člen
Avatar
Moss:28.2.2018 23:43

Inak, nedala by sa podmienka, kde sa cita z $_GET nahradit ternarnym vyrazom?

Avatar
František Kreisinger:9.3.2018 10:49

Chtěl jsem si tuto úlohu vylepšit tak, aby se v hlavičce emailu odesílala nejen adresa odesilatele ale i jeho jméno a pak případně to samé udělat i pro jméno odesilatele. Když se mi konečně podařilo překonat to, že mi SMTP server nevrací chybu v hlavičce, takže vše se tváří, jako by zpráva byla odeslána, stejně žádná nedojde. Nemáte někdo funkční řešení?

Odpovedať
Začátečník v PHP, HTML i webovém programování vůbec.
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.