Diskuze: Oznámení
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 17 zpráv z 17.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


máš dvě možnosti,
jednoduchou a složitou
U té jednoduché to uděláš falešným oznámením, tedy nasadíš metodu na formulář onsubmit="alert('Formulář odeslán')" a teprve potom to odešleš... je to trochu falešné, ale z 99.9% se to co odešleš skutečně odešle.
U té složitější, se zapojí ajax. Formulář se odešle, ale stránka se
nepřesměruje.
Při odeslání opět použiješ onsubmit, spustíš funkci s obsahem toho co je
dole a přidáš return false, aby se fyzicky formulář neodeslal. Přes
Javascript pak můžeš třeba formulář schovat, nebo vymazat...
Třeba takto:
data = "polozka1="+form.polozka1+"&polozka2="+form.polozka2; // atd...
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
alert("Formulař odeslán.");
}
}
xhttp.open("POST", "system.php", true);
xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=utf-8");
xhttp.setRequestHeader("Content-length", data.length);
xhttp.setRequestHeader("Connection", "close");
xhttp.send(data);
Prosím, jsem začátečník, jak se ta metoda nasazuje ?
Kód máš výše. Protože jsi začátečník, přečti si nejprve něco o AJAXu. Potom se můžeme bavit dál.
Já potřebuji jen tohle rychle. A já se neptám na kód, já se ptám jak ho nasadit? Kam ho napsat ?
to je takhle blbě píše. Část je v HTML stránce, část Javascriptovém
souboru... část v PHP programu, který to zpracovává. Když to nasadíš
blbě, tak odpálíš server s hostingem. Když správně nezpracuješ
posílaná data, před a po odeslání, nemusí se ti poslat celá.
Jestli se s tím chceš jako začátečník vypořádat trochu kultivovaněji.
Vytvoř si stránku, kde bude informace o uložení formuláře a pak v PHP
scriptu po zpracování formuláře odkaž na tuto stránku.
Ale AJAX není zas tak složitý, v podstatě ti stačí to co jsem ti napsal, vše ostatní se řeší přes JavaScript, jako načtení hodnoty, úprava vzhledu a pod.
Stejně Vám pořád moc nerozumím. Mohl bych poprosit o Skype ?
skype nepoužívám... dej nějak odkaz na formulář a zkusím pomoci...
spíš napíšu kód na index.php, na kterým je form a kontakt.php se
scriptem.
Index:
<form method="post" action="kontakt.php">
<p>Typ zprávy: </p><br />
<select name="typ">
<option value="mail">Klasická zpráva</option>
<option value="reklamace">Reklamace</option>
<option value="napady">Nápady a vylepšení stránky</option>
<option value="stiznosti">Stížnosti</option>
<option value="dotazy">Dotazy k objednávce</option>
</select>
<p>Jméno a přijmení: </p>
<input name="jmeno-prijmeni" type="text" required>
<p>Email: </p>
<input name="email" type="text" required>
<p>Zpráva: </p>
<textarea name="text" required></textarea>
<br />
<input type="submit" value="Odeslat!">
</form>
Kontakt:
<?php
mb_internal_encoding('UTF-8');
if ($_POST)
{
$hlavicka = 'From ' . $_POST['email'];
$hlavicka = "Content: text/html, charset=utf-8";
$adresa = '[email protected]';
$predmet = $_POST['typ'];
$zprava = 'Jméno a přijmení: ' . $_POST['jmeno-prijmeni'] . 'Zpráva: ' . $_POST['text'];
$odeslano = mb_send_mail($adresa, $predmet, $zprava, $hlavicka);
}
?>
máš to v mailu...
Nebylo by lepší zde zanechat i řešení? Tohle potřebuje pořád někdo.
o.k. ale je potřeba to ošetřit z bezpečnostního hlediska.
<div id="formular">
<form method="post" name="formular" onsubmit="odeslat(); return false">
<p>Typ zprávy: </p><br />
<select name="typ" id="typ">
<option value="mail">Klasická zpráva</option>
<option value="reklamace">Reklamace</option>
<option value="napady">Nápady a vylepšení stránky</option>
<option value="stiznosti">Stížnosti</option>
<option value="dotazy">Dotazy k objednávce</option>
</select>
<p>Jméno a přijmení: </p>
<input name="jmeno_prijmeni" id="jmeno" type="text" required />
<p>Email: </p>
<input name="email" id="email" type="text" required />
<p>Zpráva: </p>
<textarea name="text" id="text" required></textarea>
<br />
<input type="submit" value="Odeslat!" />
</form>
</div>
<script>
function odeslat()
{
data= "typ="+escape(encodeURIComponent(document.getElementById("typ").value));
data += "&jmeno-prijmeni="+escape(encodeURIComponent(document.getElementById("jmeno").value));
data += "&email="+escape(encodeURIComponent(document.getElementById("email").value));
data += "&text="+escape(encodeURIComponent(document.getElementById("text").value));
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("formular").innerHTML = xhttp.responseText;
alert("Formulář byl odeslán!")
}
}
xhttp.open("POST", "script.php", true);
xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=utf-8");
xhttp.setRequestHeader("Content-length", data.length);
xhttp.setRequestHeader("Connection", "close");
xhttp.send(data);
}
</script>
Zobrazeno 17 zpráv z 17.