NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: GoTo URL

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

Aktivity
Avatar
Luke Trucino
Člen
Avatar
Luke Trucino:19.10.2016 7:56

Ahoj, omlouvám se předem, že zakládám něco, co tu už dávno může být. Jen se bojím, že né přesně v té kombinaci co trápí mě.

Tady je ukázka webu kde je ten formulář www.luke.g6.cz. Je to na tetovací doméně s reklamou.

Dělám formuláře, po kliknutí na submit se mi místo ze stránky index.html přesune stránka na phpko
'send.php', které je prázdné.

<?php
$to = "luketrucino@gma­il.com";
$subject = "Nový_klient_LTsi­te";

$email = $_POST['email'];
$telefon = $_POST['telefon'];
$zprava = $_POST['zprava'];

$body = "
E-mail klienta: $email
Telefon klienta: $telefon
Zpráva klienta: $zprava";

$header = "From: $email";

mail ($to,$subject,$bo­dy,$header);
?>

Mám představu, že by to minimálně zůstalo na tom indexu, ale ještě lépe, kdyby to vyvolalo nějaký element, s textem ,,Zpráva byla úspěšně odeslána.''

První krok tedy bude nejspíš redirekt, chápu logiku, ale v php neumím ani prd. Kód nahoře jsem okoukal na youtube.

Možná ale redirekt nebude to nejlepší, protože to největší přání by bylo, aby se to vlastně po kliknutí na sumbit nepohlo vůbec a jediné co se změní bude, že vyskočí ta hláška. Pokud to ovšem nepůjde jinak než redirektem, tak by bylo dobré vědět, že používám kotvy, a zrovna ta kotva, kde je kontaktní formulář je id="section9"

Děkuji předem za pomoc.

 
Odpovědět
19.10.2016 7:56
Avatar
Odpovídá na Luke Trucino
Neaktivní uživatel:19.10.2016 8:16

Pokud je nejlepší verze ta, že to po odeslání nikam nepřejde, tak to tak udělej, použij JavaScript - konkrétně AJAX. V sekci JavaScript je tu kratkej seriálek na tohle téma.

Pokud si na jsko nevěříš, budeš to muset řešit jinak, ale právě JS by přesně splnilo co požaduješ.

Odchytit klik na submit, vyčíst data z formuláře přes getElementById()­.value poslat data postem nebo getem na server, zpátky poslat potvrzení. Na potvrzení jskem nastavit nějakému elementu (tomu potvrzení) show.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
19.10.2016 8:16
Neaktivní uživatelský účet
Avatar
Luke Trucino
Člen
Avatar
Odpovídá na Neaktivní uživatel
Luke Trucino:19.10.2016 9:10

Au... s javascriptem jsem na tom o trochu lépe než s PHP, čili vlastně taky vím hov... :D Udělám to prasácky, v tom php kódu udělám html část, která bude vypadat stjeně jako formuláře na indexu a přes ty formuláře hodím fakovou element vrstvu jako že popup okno, ve kterém bude odkaz zpátky na index.

Tahle varianta by mi vlastně vůbec nevadila, kdybych se dokázal vrátit k těm formulářům na indexu.

Čili prosím o radu, jak udělat dvojitý odkaz. Přesněji myslím to, že prvotně to přesměruje na index.html a poté do ,,#section9'' Ovšem to už nepatří do php, to je javascript. Kdy to vyvolá na jedno kliknutí

  1. href="index.html" a hned za tím 2) href="#section9"
 
Nahoru Odpovědět
19.10.2016 9:10
Avatar
Odpovídá na Luke Trucino
Michal Šmahel:19.10.2016 18:33

PHP sice z ID (#...) neumí v URL číst, ale přesměrovat na něho může. Takže to můžeš v klidu udělat celé v PHP na jednom řádku přes header().

Nahoru Odpovědět
19.10.2016 18:33
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Luke Trucino
Neaktivní uživatel:19.10.2016 23:33

Kotva - normálně se to dá dát do odkazu, tzn. nejakaURL#idCko
Ukázka z v3 schools:

<a href="html_tips.html#tips">Visit the Useful Tips Section</a>
Nahoru Odpovědět
19.10.2016 23:33
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.