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: říjen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Jak zprovoznit kontaktní formulář?

Příspěvekod Michales1 » 01 úno 2011 20:21

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

Reklama
Uživatelský avatar
Unholy
Level 3.5
Level 3.5
Příspěvky: 675
Registrován: září 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Unholy » 01 úno 2011 20:33

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: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Stene » 01 úno 2011 23:10

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: říjen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Michales1 » 02 úno 2011 11:33

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: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Stene » 02 úno 2011 11:58

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: říjen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Michales1 » 02 úno 2011 12:32

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: září 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Unholy » 02 úno 2011 16:06

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: říjen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Michales1 » 02 úno 2011 16:34

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: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod CZechBoY » 02 úno 2011 21:13

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: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Stene » 02 úno 2011 23:39

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: říjen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Michales1 » 03 úno 2011 10:13

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: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak zprovoznit kontaktní formulář?

Příspěvekod Stene » 03 úno 2011 10:38

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