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
Jak zprovoznit kontaktní formulář?
Re: Jak zprovoznit kontaktní formulář?
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
V nebi je lepší vzduch, ale v pekle lepší společnost
- Stene
- Level 6
- Příspěvky: 3124
- Registrován: únor 09
- Bydliště: Jihlava
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Jak zprovoznit kontaktní formulář?
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: 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
Re: Jak zprovoznit kontaktní formulář?
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ý.
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ý.
- Stene
- Level 6
- Příspěvky: 3124
- Registrován: únor 09
- Bydliště: Jihlava
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Jak zprovoznit kontaktní formulář?
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'] ?
Nemělo by tam být spíš $_POST['jmeno'] nebo $_GET['jmeno'] ?
Re: Jak zprovoznit kontaktní formulář?
Sry ale teď to nějak nechápu
Re: Jak zprovoznit kontaktní formulář?
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
V nebi je lepší vzduch, ale v pekle lepší společnost
Re: Jak zprovoznit kontaktní formulář?
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> </p>
<p> </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>
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Jak zprovoznit kontaktní formulář?
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
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
- Stene
- Level 6
- Příspěvky: 3124
- Registrován: únor 09
- Bydliště: Jihlava
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Jak zprovoznit kontaktní formulář?
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í.
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.
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.
Re: Jak zprovoznit kontaktní formulář?
Díky už mi to funguje,Jste chlapáci
- Stene
- Level 6
- Příspěvky: 3124
- Registrován: únor 09
- Bydliště: Jihlava
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Jak zprovoznit kontaktní formulář?
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.
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Jak na joystitku předefinovat tlačítka a jak ho zprovoznit v různých hrách
od Speed_dead » 24 bře 2024 11:25 » v Vše ostatní (hw) - 3
- 1284
-
od meda2016
Zobrazit poslední příspěvek
25 bře 2024 07:15
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti