Jak zprovoznit kontaktní formulář?

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Michales1
Level 1.5
Level 1.5
Příspěvky: 117
Registrován: 03 říj 2010 15:57

Jak zprovoznit kontaktní formulář?

Příspěvek od Michales1 »

Hezký večer

Chtěl bych se zeptat jestli mi někdo poradí ohledně kontaktního formuláře.

Udělal jsem si tento formulář http://test.monter-michal.cz/contact-us.html ale vůbec nevím jak ho sprovoznit:-(
Poradí někdo
Uživatelský avatar
Unholy
Level 3.5
Level 3.5
Příspěvky: 675
Registrován: 23 zář 2006 22:51
Kontaktovat uživatele:

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Unholy »

Kód: Vybrat vše

<form id="contacts-form" action="" method="post">

V action musí být cesta ke skriptu, (já používám php) který nabere ty proměné z formuláře a pošlě je na-email skrz poštovní server. (z toho vyplývá že musí být na hostingu dostupný...) Ty to máš prázdné.

Nějak takto třeba:

Kód: Vybrat vše

<form id="contacts-form" action="send_mail.php" method="post">

Šablony na to phpčko se dají najít na netu, ale musíš se v tom trochu vyznat abys to zvládl upravit.

EDIT: inspiraci najdeš třeba tady
http://programujte.com/?akce=clanek&cl= ... i-formular
nebo
http://www.jakpsatweb.cz/formular-mail.html
Jsi-li bez miny, hoď kamenem...
V nebi je lepší vzduch, ale v pekle lepší společnost :twisted:
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Stene »

Unholy: Pokud je action prázdný, script se zpracovává na stránce, ze který je čtenej kód. Takže nevidím důvod proč by mu to nemělo fungovat.

Michales1: Máš už zpracovaný nějaký script, který by se staral o data z formuláře? Kdyžtak koukni po netu na funkci Mail()
Pokud nepochodíš tak se ještě ozvi a něco dáme do kupy ;)
Michales1
Level 1.5
Level 1.5
Příspěvky: 117
Registrován: 03 říj 2010 15:57

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Michales1 »

Ahoj a díky.

Použil jsem tento script:
<?php

$to = "michal@monter-michal.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Vzkaz od ".$jmeno."";
$mess = "Jméno: ".$jmeno."\nPrijmeni:".$prijmeni."\nEmail: ".$email." \n";

mail ($to, $subject, $mess, $extra);

?>
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://xxx.monter-michal.cz/contact-us.html">
</head></html>


Formulář funguje odesílá ale příde mi na mail jen prázdná zpráva ve které je jenom:
Jméno:
Prijmeni:
Email:

Takhle to přijde prázdný.
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Stene »

Já se ani nedivím, když nikde nenastavuješ tvé proměnné. Co ti vypíše $jmeno? Nic, že?
Nemělo by tam být spíš $_POST['jmeno'] nebo $_GET['jmeno'] ?
Michales1
Level 1.5
Level 1.5
Příspěvky: 117
Registrován: 03 říj 2010 15:57

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Michales1 »

Sry ale teď to nějak nechápu :D
Uživatelský avatar
Unholy
Level 3.5
Level 3.5
Příspěvky: 675
Registrován: 23 zář 2006 22:51
Kontaktovat uživatele:

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Unholy »

Stene píše:Unholy: Pokud je action prázdný, script se zpracovává na stránce, ze který je čtenej kód. Takže nevidím důvod proč by mu to nemělo fungovat.


Aha, moje chyba... V takových případech se vždycky odvolávám na externí scripty, a jak jsem viděl ten action prázdný tak jsem zbytek kódu neprocházel. Dík za opravu :)
Jsi-li bez miny, hoď kamenem...
V nebi je lepší vzduch, ale v pekle lepší společnost :twisted:
Michales1
Level 1.5
Level 1.5
Příspěvky: 117
Registrován: 03 říj 2010 15:57

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Michales1 »

Stene píše:Já se ani nedivím, když nikde nenastavuješ tvé proměnné. Co ti vypíše $jmeno? Nic, že?
Nemělo by tam být spíš $_POST['jmeno'] nebo $_GET['jmeno'] ?


Tak jsem udělal další script ale je to uplně stejné.Jak a co tam mám zadat pls poraď?
<?php
$jeho_jmeno = $_POST['jeho_jmeno'];
// if ($promenna =="") echo "$promenna autor je prazdna!<br>";

$jeho_mejl = $_POST['jeho_mejl'];
// if ($promenna =="") echo "$promenna autor je prazdna!<br>";

$jeho_predmet = $_POST['jeho_predmet'];
// if ($promenna =="") echo "$promenna autor je prazdna!<br>";

$jeho_text = $_POST['jeho_text'];
// if ($promenna =="") echo "$promenna autor je prazdna!<br>";
$jeho_text = Str_Replace("\n","<br>",$jeho_text);

?>


<?
$ref = $REMOTE_ADDR;
?>
<?
$datum = date ("j. m. Y G:i");
?>
<?
$hlavicka="From:$jeho_mejl\n";
$hlavicka.="Content-Type: text/html; charset=windows-1250\n";



$emailadr = "michal@monter-michal.cz"; //Vaše e-mailová adresa
$predmet = "ze_stranky_Montér-Michal"; //Předmět zprávy
$zprava = "<html>
<head>
<title>HTML MAIL</title>
</head>
<body bgcolor=#ffffff text=black>";
$zprava .= "\r\n<br>;".$datum.";\r\n<br>";
$zprava .= "<font color=maroon><b>IP </b></font>;".$ref.";\r\n<br>\r\n<br>\r\n<br>";
$zprava .= "<font size=+1 color=maroon><b>Zpráva ze stránky</b></font>\r\n<br>\r\n<br>";
$zprava .= "<font color=maroon><b>Jméno:</b> </font>\r\n<br>".$jeho_jmeno."\r\n<br>\r\n<br>";
$zprava .= "<font color=maroon><b>e-mail:</b> </font>\r\n<br>".$jeho_mejl."\r\n<br>\r\n<br>";
$zprava .= "<font color=maroon><b>Předmět:</b> </font>\r\n<br>".$jeho_predmet."\r\n<br>\r\n<br>";
$zprava .= "<font color=maroon><b>Text:</b> </font>\r\n<br>".$jeho_text."\r\n<br>\r\n<br>";
?>



<? if (Mail("$emailadr", "$predmet", "$zprava", $hlavicka)) { ?>


<?//== Zde si můžete napsat text, který se zobrazí pro potvrzení odeslání ==?>


<center>
<p>&nbsp;</p>
<p>&nbsp;</p>
<font color="maroon">
<h3>Zpráva byla úspěšně odeslána</h3>





</center>


<?//==================== Zde končí potvrzení odeslání ================?>
<? }
else
{
echo "Zprávu se nepodařilo odeslat";
}
?>
</font>
</body>
</html>
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od CZechBoY »

formulář má jaký inputboxy? musíš mít stejný názvy těch políček (name="nazev" v případě metody POST nalezneš při odeslání formuláře v PHP: $_POST['nazev']
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Stene »

Nesháněl bych pořád jiné kódy. Všechny jsou stejně funkční, ale je potřeba si tam dodělat vždy pár úprav. Dejme tomu, že budeme mít tohle html

Všimni si, že action je prázdný. Proto musí být html formulář i php script na jedné a té samé stránce!
<form action="" method="post">
<input name="email" size="25" value="Váš@mail"><br>
<input name="predmet" size="25" value="Předmět"><br>
<input name="spam" size="25"> <strong>= 1 + 1</strong><br>
<textarea name="zprava" rows="6" cols="55">Zpráva...</textarea><br>
<input type="submit" value="Odeslat">
</form>


a tohle php
<?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2") // Pokud není políčko předmět, mail, zprava prázné a spam se rovná (==) 2, pokračuj v kódu
{
Mail("vase@adresa.com", $predmet, $zprava, "From: " . $email);
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>";
}
?>



Je už všechno jasný? Nevím sice, jestli to bude fungovat, protože jsem to nezkoušel, ale mělo by. Je sice už pozdě, ale snad tam chyba není.






Unholy píše:
Stene píše:Unholy: Pokud je action prázdný, script se zpracovává na stránce, ze který je čtenej kód. Takže nevidím důvod proč by mu to nemělo fungovat.


AV takových případech se vždycky odvolávám na externí scripty


Jojo, já jsem zase zvyklej si to zpracovávat v jednom souboru. Až zjistím, že je to nepřehledný tak to hodím do jinýho souboru.
Michales1
Level 1.5
Level 1.5
Příspěvky: 117
Registrován: 03 říj 2010 15:57

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Michales1 »

Díky už mi to funguje,Jste chlapáci :D :D
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Jak zprovoznit kontaktní formulář?

Příspěvek od Stene »

Jde o to, co jsi zprovoznil. Pokud si to dělal poprvé, chtělo by to chvilku brouzdat po internetu a něco si přečíst o tom, jak to všechno funguje.
Odpovědět

Zpět na „Programování a tvorba webu“