logo
02.11.2019 20:47
1
Zdravím,

potřeboval bych, aby po vyplnění formuláře se formulář zobrazilo na stejné stránce "děkujeme za odeslání poptávky".

Nevíte prosím někdo, jak to udělat?

Nyní je to ve stavu, kdy je to graficky nepoužitelné.

Moc děkuji.

Zde zasílám kód:

<?php
header('Content-type: application/json');
$status = array(
'E-mail byl uspesne odeslan'
);


$name = $_POST['name'];
$email = $_POST['email'];
$contact = $_POST['contact'];
$subject ='VR Event contact form';
$message = $_POST['message'];

$email_from = $email;
$email_to = 'info@vrevent.cz';

$body = 'Name: ' . $name . "
" . 'Contact: ' . $contact . "
" . 'Message: ' . $message;

$success = mail($email_to, $subject, $body, 'From: <'.$email_from.'>');


echo json_encode($status);
die;

Co se právě děje na Webtrhu?

02.11.2019 22:51
2
Tohle je jen cast kodu, co nam nic nerekne. Je to jen nejjednodusi odeslani. Nezname kontext teto stranky, styl zobrazeni, apod.
03.11.2019 10:13
3
Zasílám odkaz na stránku, kde formulář je: https://vrevent.cz/

Nachází se dole na stránce, po kliknutí na odleslat se zobrazí bílá stránka a až tam je napsáno "E-mail byl uspesne odeslan"

Potřeboval bych, aby se to zobrazilo hned pod formulářem.

Moc děkuji!
03.11.2019 10:27
4
Použij nějaký framework k němu jdou pak návody jak toto dobře, bezpečné, pohodlně a jednoduše řešit....
03.11.2019 10:29
5
Původně odeslal josef.jebavy
Použij nějaký framework k němu jdou pak návody jak toto dobře, bezpečné, pohodlně a jednoduše řešit....
Měl bys prosím nějaký nápad, který framwork použít? Nemáš s nějakým zkušenosti, který je dobrý na formuláře?
03.11.2019 10:39
6
Formuláře jsou základ, takže každý framework to resi. Já používám nette a symfony. A právě to co popisuje je přesně v navodech text/video u nette. Když vyhledáš v youtube, tak ti tam přesně řeknou jak na to...
03.11.2019 10:46
7
hm, doporucit nekomu kdo ocividne netusi ktera bije rovnou framework, to je jina liga... Ser an framework, zalpat tady nekomu petistovku, at ti to zprovozni, na tyhle veci fakt nema smysl se srat s celym frameworkem, co to tady zase vymyslite...
03.11.2019 10:51
8
Původně odeslal Aleš Jiříček
hm, doporucit nekomu kdo ocividne netusi ktera bije rovnou framework, to je jina liga... Ser an framework, zalpat tady nekomu tisicovku at ti to zprovozni, na tyhle veci fakt nema smysl se srat s celym frameworkem, co to tady zase vymyslite...
Díky za odpověď. Mohl bys mi prosím někoho doporučit? Kdo se tomu věnuje tady na webtrhu?
03.11.2019 15:24
9
Na tohle doporučovat FW je fakt vražda.

Tohle konkrétně ? Formulář na web a k tomu napojený jquery, které mail pošle a vrátí to nějaký výsledek a podle toho už může zobrazit co chce.
03.11.2019 16:32
10
Pokud je zájem, tak za 500 a referenci zhotovím:) Více PM
04.11.2019 19:07
11
Původně odeslal Spouter
Pokud je zájem, tak za 500 a referenci zhotovím:) Více PM
Asi jsem te predbehl :)
04.11.2019 20:10
12
Původně odeslal musil.david
Asi jsem te predbehl :)
No to mě fakt netrápí :) Ode mě by to ale bylo i s recaptchou...
05.11.2019 10:14
13
Z toho vám chodí nějaké maily? Se to posílá z mailu, který přijde z $_POST :-)))
05.11.2019 10:25
14
Pokud nekdo chce, tady davam jednoduchy script na odesilani emailu pomoci phpMailer, vcetne Google reCaptcha. Tento formular mam primarne v popupu, ale funguje i bez nej samozrejme.

HTML kod formulare:
Kód:
				<form id="contactformPOP" class="contact-form" name="contactform" method="post" novalidate>
					<div id="successpop" class="successform">
						<p>Váš dotaz byl úspěšně odeslán, děkujeme!</p>
					</div>
					<div id="errorpop" class="errorform">
						<p>Něco se pokazilo. Dotaz nebylo možné odeslát :(</p>
					</div>
					<div class="row">
						<div class="col-sm-6">
							<div class="input-wrapper">
								<input type="text" class="input-custom input-full" id="namepop" name="name" placeholder="Jméno" required>
							</div>
							<div class="input-wrapper">
								<input type="text" class="input-custom input-full" id="phonepop" name="phone" placeholder="Telefon" required>
							</div>
							<div class="input-wrapper">
								<input type="email" class="input-custom input-full" id="emailpop" name="email" placeholder="E-mail" required>
							</div>
						</div>
						<div class="col-sm-6">
							<textarea class="textarea-custom input-full" name="message" id="messagepop" placeholder="Dotaz..." required></textarea>
						</div>
					</div>
					<div class="divider-sm"></div>
					<div id="RecaptchaField2"></div>
					<button type="submit" id="submit-contact-popup" class="btn"><span>Odeslat dotaz</span></button>
				</form>
Vytvorte PHP soubor a pojmenujte ho treba checkForm.php, doplnte reCaptcha klice a nahrajte ho tam kde je HTML soubor s <form>:
Kód:
<?php
require 'phpmailer/PHPMailerAutoload.php';

$name = $_POST["name"];
$phone = $_POST["phone"];
$email = $_POST["email"];
$message = $_POST["message"];

$response=$_POST["captcha"];
if($_POST["type"] == "normal"){
	$secretKey = "";

}else{
	$secretKey = "";
}

$verify=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret={$secretKey}&response={$response}");
			        
$captcha_success=json_decode($verify);

if($captcha_success->success==false) {
  echo 'Prosím ověřte, že nejste robot.';
}else{
	$mail = new PHPMailer;	
	$mail->setFrom($email, $name);
	$mail->addAddress('neco@neco.cz');
	
	$mail->CharSet="utf-8";
	$mail->IsHTML(true);
	
	$mail->Subject  = 'Dotaz z webu';
	$mail->Body     = 'Jméno: '. $name.'<br> Telefon: '.$phone.'<br> E-mail: '.$email.'<br><br>'.$message;
	if(!$mail->send()) {
	  echo 'E-mail nebylo možné odeslat.';
	  echo 'Mailer error: ' . $mail->ErrorInfo;
	} else {
	  echo 'ok';
	}
}       
?>
Samozrejme je treba nahrat phpmailer, tam kde se bude nachazet HTML soubor s formularem. Libovolne inputy si muzete doplnit sami, jak v HTML tak i PHP. Po odeslani bez realod stranky se zobrazi hlaska o uspechu odeslani nebo chybe.