Autor | Zpráva | ||
---|---|---|---|
Jan22 Profil |
Dobrý den, prosím o radu.
Mám kontaktní formulář od Bootstrap a nevím jak a jaký tam přidat PHP kód, tak aby byl formulář plně funkční. Zde je kód formuláře: <form action="druhy.php" role="form" id="feedbackForm" class="text-center"> <div class="form-group"> <label for="name" input name="name" >Jméno</label> <input type="text" class="form-control" id="name" name="name" placeholder="Vaše celé jméno"> <span class="help-block" style="display: none;">Please enter your name.</span></div> <div class="form-group"> <label for="subject" input name="subject" >Předmět</label> <input type="text" class="form-control" id="name" name="name" placeholder="Předmět"> <span class="help-block" style="display: none;">Přeedmět</span></div> <div class="form-group"> <label for="byt" input name="byt">Počet bytových jednotek ve Vašem domě</label> <input type="text" class="form-control" id="byt" name="byt" placeholder="Kolik je u Vás bytových jednotek?"> <span class="help-block" style="display: none;">Please enter your name.</span></div> <div class="form-group"> <label for="email" input name="email">Kontaktní email</label> <input type="email" class="form-control" id="email" name="email" placeholder="moje@adresa.cz"> <span class="help-block" style="display: none;">Prosím, vložte Vaši emailovou adresu</span></div> <div class="form-group"> <label for="message" input name="message">Zpráva</label> <textarea rows="10" cols="100" class="form-control" id="message" name="message" placeholder="O co žádáte, ...prosím, popište zde."></textarea> <span class="help-block" style="display: none;">Prosím, zde napište Váš dotaz</span></div> <button type="submit" id="feedbackSubmit" class="btn btn-primary btn-lg" style=" margin-top: 10px;"> Odeslat</button></br> </form> Předem děkuji za pomoc. |
||
Martin Joneš Profil |
Jan22:
A kam chceš data z formuláře zapsat? Máš nějakou databázi, nebo je chceš zapisovat do souboru? Zároveň: Bootstrap s funkčností nesouvisí. Bootstrap je jen framework (zda se to tak vůbec nazývá), na kterém styluješ HTML. Aby jsi nemusel psát sám CSS, tak si jen linkneš Bootstrap knihovnu v hlavičce a tabulce dáš class dle dokumentace Bootstrapu. Nemusíš pak umět CSS, ale jen si stačí pamatovat ty třídy. To stejný má třeba W3.css Take máš chyby v samotném HTML. Nemůžeš mít 2 kolonky (jméno a předmět) pojmenované name="name" případný PHP script nebude vědět, které z těchto dvou má tedy vypsat do souboru, nebo tabulky. Až napíšeš přesněji tvou představu, pokusím se ti poskládat kód.
|
||
Keeehi Profil |
#3 · Zasláno: 29. 12. 2016, 13:49:43
Martin Joneš:
No jelikož se to jmenuje kontaktní formulář, tak můžeš předpokládat, že hi chce poslat na email. |
||
Martin Joneš Profil |
Keeehi:
Kontaktní formulář může být cokoli. Já si pod tím představují subscriptivni formulář, kde budu osobu, která vyplnila formulář spammovat novinkama. |
||
Jan22 Profil |
Jedná se vlastně o poptávkový formulář, kde klient vyplní všechna pole a ta se odešlou na email.
Nejedná se o žádné spamování. |
||
Martin Joneš Profil |
#6 · Zasláno: 29. 12. 2016, 19:34:14
Tady je podobná diskuse. Možná, že základní PHP by jsi mohl zkopírovat a dle sebe upravit. Klikni zde
|
||
Keeehi Profil |
#7 · Zasláno: 29. 12. 2016, 21:26:00
Martin Joneš:
„Kontaktní formulář může být cokoli. Já si pod tím představují subscriptivni formulář, kde budu osobu, která vyplnila formulář spammovat novinkama.“ Ano, ale když se podíváš na pole formuláře a co se do nich má zadávat, tak ti snad bude jasné že o takový formulář se jednat nebude. Podle úrovně znalostí tazatele se dá s klidným svědomím předpokládat, že mu půjde o řešení, které chce většina tazatelů s touto úrovní a tedy o odeslání formuláře na mail. Což se i nakonec ukázalo jako platný předpoklad. |
||
Jan22 Profil |
#8 · Zasláno: 30. 12. 2016, 16:45:43
Martin Joneš:
Děkuji za odlaz, ale popravdě jsem ten kód moc nepochopil. <?php session_cache_limiter('nocache'); header('Expires: ' . gmdate('r', 0)); header('Content-type: application/json'); require_once('php-mailer/PHPMailerAutoload.php'); // Step 1 - Enter your email address below. $email = 'janule***@seznam.cz'; // If the e-mail is not working, change the debug option to 2 | $debug = 2; $debug = 0; $subject = $_POST['subject']; $fields = array( 0 => array( 'text' => 'Name', 'val' => $_POST['name'] ), 1 => array( 'text' => 'Email address', 'val' => $_POST['email'] ), 2 => array( 'text' => 'Phone', 'val' => $_POST['phone'] ), 3 => array( 'text' => 'Message', 'val' => $_POST['message'] ) ); $message = ''; foreach($fields as $field) { $message .= $field['text'].": " . htmlspecialchars($field['val'], ENT_QUOTES) . "<br>\n"; } $mail = new PHPMailer(true); try { $mail->SMTPDebug = $debug; // Debug Mode // Step 2 (Optional) - If you don't receive the email, try to configure the parameters below: //$mail->IsSMTP(); // Set mailer to use SMTP //$mail->Host = 'mail.yourserver.com'; // Specify main and backup server //$mail->SMTPAuth = true; // Enable SMTP authentication //$mail->Username = 'user@example.com'; // SMTP username //$mail->Password = 'secret'; // SMTP password //$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted //$mail->Port = 587; // TCP port to connect to $mail->AddAddress($email); // Add another recipient //$mail->AddAddress('person2@domain.com', 'Person 2'); // Add a secondary recipient //$mail->AddCC('person3@domain.com', 'Person 3'); // Add a "Cc" address. //$mail->AddBCC('person4@domain.com', 'Person 4'); // Add a "Bcc" address. $mail->SetFrom($email, $_POST['name']); $mail->AddReplyTo($_POST['email'], $_POST['name']); $mail->IsHTML(true); // Set email format to HTML $mail->CharSet = 'UTF-8'; $mail->Subject = $subject; $mail->Body = $message ; $mail->Send(); $arrResult = array ('response'=>'success'); } catch (phpmailerException $e) { $arrResult = array ('response'=>'error','errorMessage'=>$e->errorMessage()); } catch (Exception $e) { $arrResult = array ('response'=>'error','errorMessage'=>$e->getMessage()); } V php se vůbec nevyznám, můžu Vás poprosit o pomoc s jeho úpravou (aspoň navedením jak postupovat), děkuji. |
||
Časová prodleva: 8 dní
|
|||
Martin Joneš Profil |
#9 · Zasláno: 7. 1. 2017, 12:17:41
Jan22:
Snad nepíšu pozdě. Kouknul jsem se chvilku na to a něco napsal. Nezkoušel jsem to, ale doufám, že to bude fungovat. Tedy, mělo by. Nezapoměň si přepsat jméno, heslo a Předmět emailu. Stáhni zde |
||
Jan22 Profil |
#10 · Zasláno: 7. 1. 2017, 22:07:00
Martin Joneš:
Ano, je to stále aktuální. ...Děkuji, podívám se na to. |
||
Martin Joneš Profil |
Jan22:
Upravuj pouze index.php, který obsahuje ty údaje! Máš tam nadepsano "předmět, tvůj email..." Nic jiného neměň! Složka PHPmailer musí být v rootové složce! Kdyby byl problém, stačí napsat. Jak psát web ti pomůže. |
||
Martin Joneš Profil |
#12 · Zasláno: 10. 1. 2017, 15:16:34
Jan22:
ASI jsem tam našel chybičku.. pokud to nefunguje, tak stačí k submit buttonu přidat name="submit" a množinovou závorku odstranit za tím $message=... a DAT jí úplně na konec PHP scriptu, před ukončující tag ?>
|
||
_es Profil |
Martin Joneš:
„tak stačí k submit buttonu přidat name="submit" “
To nie je dobrý nápad, taký formulár nepôjde odoslať cez JS. Ak to zdanlivo niečo „opravilo“, tak tým, že to znefunkčnilo odoslanie cez JS - v chybovej konzole možno o tom bude nejaká správa. |
||
Martin Joneš Profil |
#14 · Zasláno: 10. 1. 2017, 17:20:08
_es:
Kdo mluví o JS? Je tam PHPMailer. Nic s javascriptem tam není. |
||
Keeehi Profil |
Martin Joneš:
_es psal o odeslání formuláře ne o odeslání emailu. Na druhou stranu, pokud ty bootstrap nebo jiná knihovna nepotřebuje k odeslání formuláře javascript, pak to může být skoro jedno. |
||
_es Profil |
Keeehi:
„Na druhou stranu, pokud ty bootstrap nebo jiná knihovna nepotřebuje k odeslání formuláře javascript, pak to může být skoro jedno.“ Obávam sa skôr toho, že tam nejaký JS odosielajúci formulár je. Ak aj nie je, je dosť pravdepodobné, že tam nejaký JS, napríklad na kontrolu obsahu formulára, neskôr pribudne a Jan22 sa bude čudovať, prečo mu to nefunguje. Martin Joneš: Ak dáš namiesto na name="submit" trebárs name="tlacitko1" zmení sa nejako funkčnosť?
Z podobných príčin nie je dobrý nápad dávať prvkom formulára id="name" (dokonca viacerým elementom) či name="name" (ako je v [#9]).
|
||
Martin Joneš Profil |
_es:
No.. to smysl dává. Já mám ale pocit, že Bootstrap má js knihovnu jen pro responsivní uspořádání a nějaké další vychytávky. To bychom si museli přečíst dokumentaci. Každopádně ano, pokud by to nešlo, mohl by Jan22 zkusit třeba změnit hodnoty name="" na něco méně používaného, aby se to nehádalo. Jinak díky za ten příspěvek. Tohle mě ani nenapadlo..
|
||
Časová prodleva: 8 let
|
0