phpFormGenerator: naklikejte si webové formuláře v PHP

Tvoříte webové stránky a nechce se vám zdržovat s tak nudnou záležitostí, jako je vytvoření webového formuláře? Není divu, koho by bavilo donekonečna vypisovat nebo kopírovat skoro stejné části kódu. Je tu však možnost celý formulář naklikat, a to včetně vzhledu.

Pokud tvoříte stránku s webovým formulářem, vřele doporučuji použít nějaký vizuální editor, například Microsoft Expression Web nebo Adobe Dreamweaver. Webové formuláře si však můžete nechat vytvořit i pomocí speciálních online aplikací. Přiznám se, že jich moc neznám. Před rokem jsem psal o pForm, jejíž nevýhodou byla nutnost zaplatit poplatek v případě, že jste k formuláři chtěli doplnit i funkcionalitu, jako je třeba odeslání dat na e-mailovou adresu.

Dnes vám představím phpFormGenerator. I tento online nástroj dovede vytvářet webové formuláře. Co je však příjemné, umí vygenerovat i potřebný programový kód, takže vám stačí jen formulář vzít a umístit jej někde na webu. Podle toho, jak si naklikáte jeho vlastnosti, mohou být data z formuláře ukládána někam do databáze nebo odesílána na vaši e-mailovou adresu.

Tvorba webového formuláře pomocí phpFormGenerator

Jak vytvořit webový formulář?

Na úvodní stránce nástroje phpFormGenerator klepněte na odkaz Create a form. Vyberte si z celé řady existujících předloh, nebo zadejte nový název formuláře do políčka Form name a klepněte na tlačítko Start.

Nyní se pusťte do úprav formuláře. Tlačítkem se zápisníkem si zobrazte editaci popisku formuláře, vyplňte text, klepněte na tlačítko Update a po informaci o tom, že byl formulář aktualizován, pokračujte tlačítkem Continue.

Předtím, než přidáte políčka do formuláře, klepněte na tlačítko Add a page a přidejte stránku. Teprve po klepnutí na ni se zobrazí samotný vzhled formuláře. V nabídce nalevo si vyberte jednotlivá formulářová políčka, klepnutím je vložte do formuláře a nastavte jejich vlastnosti. Úpravu potvrďte tlačítkem Click here when done.

Po dokončení úprav políček se vraťte na začátek odkazem Form home. V sekci Delivery settings vyberte způsob ukládání dat z formuláře. Stačí-li vám jejich odeslání na e-mail, pak jej vyberte z nabídky a vpravo zadejte adresu, kam bude obsah formuláře doručen.

Tvorba webového formuláře pomocí phpFormGenerator

Dále se rozhodněte, zda má formulář obsahovat captchu - ochranu proti spamu. Nastavte případné hlášení zobrazené po odeslání formuláře, a adresu, kam může být uživatel přesměrován. Poslední částí je úprava vzhledu formuláře - opět stačí naklikat pomocí barevné palety, pod kterou je náhled na ukázkový formulář.

Jakmile máte formulář dokončen, posuňte se úplně na konec stránky a stáhněte jej do počítače odkazem Zip file. Nyní už jen stačí, abyste si jej přizpůsobili pro svou aplikaci nebo jej tak, jak je, zkopírovali někam na web.

Povedená pomůcka pro tvorbu formulářů

Musím říct, že phpFormGenerator je v současné verzi (3.0 beta) velmi povedená pomůcka pro tvorbu webových formulářů obsluhovaných pomocí PHP. Ve staženém balíčku najdete kromě PHP a HTML souborů i kaskádové styly, obrázky s doplňující grafikou, JavaScriptové soubory pro případné kalendáříky ve formuláři a dokonce i TTF soubor s použitým písmem.

Plusem je samozřejmě i to, že phpFormGenerator je úplně zdarma. Využijete jej?

Líbí se vám článek? Dejte mu hlas:
Přidej odkaz na Bookmarky.cz

Dá se formulář použít v Drupalu?

Zdravím, docela by mne zajímalo, jestli se formulář generovaný tímto programem dá použít v Drupalu. Nejsem zkušená a zatím jsem ještě v Drupalu formulář nevytvářela a popravdě to ani neumím. Proto mne zaujala tato forma. Zkusmo jsem si vyrobila formulář a teď nevím jak ho mám dát do Drupalu. Má to na mne až moc všelijakých složek a stránek a hlavně samej javascript. Nemohl byste prosím Vás napsat návod pro ty lamy jako jsem já? Děkuji. :) l.lenek

Re: Dá se formulář použít v Drupalu?

Blbost, proč bych to dělala tak složitě. Zkusila jsem webform a mám formulář hotový. Omlouvám se za tak hloupý dotaz. :)
l.lenek

Obrázek uživatele maxiorel

Re: Dá se formulář použít v Drupalu?

Jasně, modul Webform to řeší :) Asi k němu připravím příští video.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: Dá se formulář použít v Drupalu?

To je dobrý nápad, určitě byste potěšil mnoho lidí. A mne taky protože je tam pár podivností které nechápu. Ale jak jsem Vás měla možnost poznat budete určitě používat i modul Wiews a to je mi teď momentálně k ničemu. Pokud můžu poprosit, kdybyste mohl udělat video i jen na samotný modul webform. :) Děkuji. l.lenek

Obrázek uživatele maxiorel

Re: Dá se formulář použít v Drupalu?

U návodu na Webform bych Views nezmiňoval To jste mě špatně odhadla ;-)

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: Dá se formulář použít v Drupalu?

Promiňte, už mlčím... :) l.lenek

jak je to s češtinou v

jak je to s češtinou v příchozím emailu ???
pomůcka je o dobrá, avšak nevím si rady s češtinou

Obrázek uživatele maxiorel

Čeština ve formuláři na e-mail

Zkoušel jsem to, e-mail s češtinou dorazí nepoškozený. Ale můžete jej zkusit přinutit, aby byl odeslán v UTF-8.

Najděte si soubor processor.php, kde by měla být funkce pro zpracování formuláře pro odeslání do e-mailu. Čili funkce mail(), její konec je:

 powered by phpFormGenerator.
");

Před začátek funkce doplňte:

$headers = "Content-type: text/plain; charset=utf-8\n";
$headers .= 'From:nejakyodesilatel@email.cz'; //toto není nutné

A na konec funkce mail(), tj. mezi závorku a uvozovky, doplňte toto:

$headers

Čili výsledek v souboru processor.php bude například takovýto:

<?php

$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));

$headers = "Content-type: text/plain; charset=utf-8\n";

mail("jan.polzer@maxiorel.cz","phpFormGenerator - Form submission","Form data:

         username: " . $_POST['field_1'] . "

 powered by phpFormGenerator.
", $headers);

include("confirm.html");

?>

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: Čeština ve formuláři na e-mail

Super - tak to je přesně to co jsem potřeboval.
Už to fungje jak má ;)
Mnohokráte děkuji za rychlou a dobrou pomoc.
Vítek

Obrázek uživatele maxiorel

Re: Čeština ve formuláři na e-mail

Rádo se stalo :)

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: Čeština ve formuláři na e-mail

Dobrý den, mam podobný problém: V první fázi bylo v příchozím mailu místo diakritiky jen spousta otazníků. Po doplnění $headers = "Content-type: text/plain; charset=utf-8\n"; do proccesor.php již zmizeli otazníky ale stále se špatně zobrazují vybrané položky z formuláře.

Příklad v první fázi:
Barevnost dokumentu a zp?sob tisku : plnobarevn?? oboustrann?? tisk (4/4)

Příklad aktuálně: Barevnost dokumentu a způsob tisku : Ä�ernobĂ­lĂ˝ jednostrannĂ˝ tisk (1/0)

Nevím jak ještě doplnit proccesor.php aby se vše zobrazovalo opravdu dobře.

Děkuji za rady jak na to.

Obrázek uživatele maxiorel

Re: Čeština ve formuláři na e-mail

Já bych zkusil ověřit, že všechny soubory (tedy formuláře i to php) jsou také v kódování UTF-8. Případně bych je přes PSPad přeuložil v tomto kódování.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: Čeština ve formuláři na e-mail

dobrý večer,
řeším podobný problém s češtinou

hází mi to následující patvary:
JmĂŠno:: s
Příjmení:: s
Ulice::
Město/PSČ::
Telefon (nutnĂŠ):: s
Doba, kdy jste na telefonu k zastiĹženĂ­::
Email::
Field question 1: 20
Věk::
Výťka::

zkusila jsem dle vašich rad přidat do php příslušné úpravy, ale problem jsem neodstranila

mohu poslat soubor php k nahlednuti, kde delam chybu?
dekuji
M.Jiruskova

zpětný email

lze k tomuto formuláři dodělat funkci zpětného emailu
myslím, aby se formulář odeslal i tomu kdo ho vyplnil (na základě vložení jeho adresy do formu)

Obrázek uživatele maxiorel

Re: zpětný email

Jasně. Stačí vzít tu funkci mail, zkopírovat ji tam, aby byla dvakrát. Jednu necháte v původní podobě, ve druhé upravíte adresáta. Takže pro příklad, který jsem uvedl výše, by zduplikovaná funkce vypadala nějak takto:

mail($_POST['field_2'],"Potvrzení formuláře","Form data:

         username: " . $_POST['field_1'] . "

 powered by phpFormGenerator.
", $headers);

Předpokládá to, že e-mail člověka je vyplněn ve druhém políčku formuláře.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: zpětný email

Děkuji

Re: zpětný email

Dobrý den, zkusil jsem funkci: mail($_POST['field_2'], vložit do processor.php a funguje.Samostatná pevně nastavená email adresa funguje také (např.mujemail@seznam.cz). Bohužel, ale funkce: mail($_POST['field_2'], nefunguje v kombinaci s pevně nastavenou email adresou k zasílání viz.níže např:

<?php
$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));
$headers = "Content-type: text/plain; charset=utf-8\n";
mail("vinyl2006@seznam.cz",mail($_POST['field_2'],"Potvrzení formuláře","poptavkovy formular - vinyly.ic.cz","Form data:
username: " . $_POST['field_1'] . " Email: " . $_POST['field_2'] . " Telefon: " . $_POST['field_3'] . " Země: " . $_POST['field_4'] . " Zpráva: " . $_POST['field_5'] . " Jaký je rok?

(Pište číslo): " . $_POST['field_6'] . "mail($_POST['field_2'],"Potvrzení formuláře","Form data: username: " . $_POST['field_1'] . "
powered by phpFormGenerator.
", $headers);
include("confirm.html");
?>

Zkoušel jsem kombinace se středníkem, uvozovkami,měnit pořadí apod., ale bohužel nepomohlo. Díky za reakci předem.

Obrázek uživatele maxiorel

Re: zpětný email

Dobrý den. To je překlep nebo úmysl? Máte funkci mail() zanořenou v jiné mail(). To nemůže fungovat.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: zpětný email

Dobrý den pane Polzer,

díky za odpověd.Zkoušel jsem viz.níže a nefunguje:
Navíc ještě spoustu dalších kombinací, ale nic.

mail("mujemail@seznam.cz","poptavkovy formular - neco.ic.cz");
mail($_POST['field_2'],"poptavkovy formular - neco.ic.cz");"Form data:

Můžu požádat o celý funkční processor.php kód generující zasílání na pevnou i proměnnou adresu současně?Díky předem.

-----------
Níže uvedený je 100 % funkční!!
Zasílá jen bud na pevnou adresu nebo proměnnou-pokud zadám. Nezasílá na obě současně.Uvádím protože v předchozích příspěvcích byly v kodu chyby.

<?php
$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));
$headers = "Content-type: text/plain; charset=utf-8\n";
mail("mujemail@seznam.cz","poptavkovy formular - zaslano z neco.ic.cz","Form data:
username: " . $_POST['field_1'] . " Email: " . $_POST['field_2'] . " Telefon: " . $_POST['field_3'] . " Země: " . $_POST['field_4'] . " Zpráva: " . $_POST['field_5'] . " Jaký je rok? (Pište číslo): " . $_POST['field_6'] . "
powered by phpFormGenerator.
", $headers);
include("confirm.html");
?>

Obrázek uživatele maxiorel

Re: zpětný email

Dejte mi se prosím celý vygenerovaný formulář i s těmtio úpravami. Nechce se mi to celé naklikávat. Stáhnu si to, testuju, vyzkouším, odpovím.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: zpětný email

Odesláno na Váš email.Díky.

Email nedoručen

Dobrý den, nevím co dělám špatně, ale vytvořený formulář mi na email nedorazí. Zkoušel jsem seznam a gmail. Ani na jeden nic nepřišlo. Vše vyplním správně, po kliknutí na "Submit" se mi zobrazí potvrzující stránka, ale v emailu nic. Tak nevím. S php začínám, tak se omlouvám jestli to bude nějaká banalita.
Předem děkuji za odpověď.

Obrázek uživatele maxiorel

Re: Email nedoručen

Je mi líto, ale z takového popisu nikdo nepozná, co děláte špatně :-(

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: Email nedoručen

Děkuji mnohokrát za Vaši bleskovou odpověď. Již jsem to vyřešil, bylo to v poskytovateli hostingu. Používal jsem PHP5.cz a odtud se mi to nedařilo. Teď už je vše OK.

Propojené (kaskádové) rozevírací nabídky s různými daty

Prosím o radu
Chtěl bych udělat formulář který bude mít cca 3 rozbalovací nabídky, které spolu budou propojené.
Jako výchozí je možno vybírat z první nabídky a další dvě jsou zašedlé.
Až vyberu první, načtou se mi v závislosti na výběru v první nabídce data do druhé nabídky a po výběru druhé se mi načte poslední rozbalovací nabídka.
Data se budou v následující nabídce vždy měnit v závislosti na té předchozí.
Je na to nějaký lehký fígl, či je potřeba do skriptu hodně zasahovat.
Popř. Nebyl by někde příklad ke stažení.
Děkuji

Obrázek uživatele maxiorel

Re: Propojené (kaskádové) rozevírací nabídky s různými daty

Asi bych to řešil JavaScriptem, ale zda to jde naklikat, netuším a bohužel ani nemám čas to více zkoumat.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Mohu vkládat názvy polí v češtině?

Dobrý den, díky za supertip na tvorbu formulářů. Chci se zeptat, zda je možné názvy polí vkládat i s diakritikou. Když jsem to udělal, tak mi FormGenerator české znaky zmršil ..... Díky za odpověd.

Re: Mohu vkládat názvy polí v češtině?

Tak tento problém vyřešen. Měl jsem na stránce špatné kódování. Je tu ještě jeno ale ......Vyplněná pole formuláře mi do mailu příjdou se správnou diakritikou, ale názvy polí se mi v emailu zobrazují s paznaky ....
Příklad:
Form data:

Jm??no a p????jmen??: Pepa Nováček
Datum narozen??: 15.08.2008

nevíte kde bych mohl mít chybu?
Díky

Obrázek uživatele maxiorel

Re: Mohu vkládat názvy polí v češtině?

Otevřete všechny soubory v PSPadu a uložte je s kódováním UTF-8. Pak do souboru pro odesílání dat z formuláře doplňte hlavičku mailu pro zpracování znaků do kódování UTF-8. Viz můj komentář z června o něco výše.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

wz.cz

lidi prosim vas kdyz mam hotovej dormular a stahnu si ho a mam tam asi 11 souvoru vc. slozek tak jak to dam pres ftp na wz.cz??? nevim co mam naopsat do index.html :D:D aby mi to oteviralo ty slozky soubory....

Obrázek uživatele maxiorel

Re: wz.cz

Ale to jsou úplné základy. Doporučuji tomu chvíli věnovat na www.jakpsatweb.cz.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Dobrý den, můžete mi poradit

Dobrý den, můžete mi poradit jak upravit php kód, aby příjemci se zobrazoval v kolonce "od" email odesílatele - aby bylo možné hned odpověďět, děkuji.

Obrázek uživatele maxiorel

Re: Dobrý den, můžete mi poradit

Dobrý den. Ve formuláři vytvořte políčko, do kterého dotyčný uvede svůj e-mail. Dejme tomu, že se políčko bude jmenovat "odesilatel". Pak si kód upravte tak, aby tam bylo

$headers .= 'From:'.$_POST['odesilatel'];

Viz výše.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: Dobrý den, můžete mi poradit

Ano, to je ono, děkuji za Váš čas.

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Dobrý den, mám dotaz formulář už mám vytvořený i vložený do svých stránek. Po nahrání na web mi formulář dojde na email vpohodě, ale problém nastává v odeslaní se mi objeví okno že formulář byl odeslán a pro návrat klikni na odkaz.Bohužel se mi nedaří odkázat se zpět na stránky.Můžete mi prosím poradit co s tím.Díky

Obrázek uživatele maxiorel

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

No a co je v tom vygenerovaném kódu? Už se mi to nechce znova vyklikávat.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Myslíte toto?

  • Zakázkový formulář byl odeslán.Klikni pro návrat

Nejsem si jistý zda máte na mysli toto.Dál bych měl ještě jeden dotaz. Při vytváření formuláře sem si zadal že chci aby před odesláním formuláře musel dotyčný zadat bezpečnostní kod proti spamu.Při nahrání na web se mi nezobrazí obrázek s kodem. Měl jsem je na webu webzdarma a tam to funguje, ale když jsem je nahrál na ic.cz kod se nezobrazí.Díky za rady

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

  • Zakázkový formulář byl odeslán.Klikni pro návrat

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Snad už se to zobrazí správně

  • Zakázkový formulář byl odeslán.Klikni pro návrat

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Omlovám swe ale nedaří se mi to sem vložit.

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Tak problém už je vyřešen zadával jsem tam jen špatně adresu do htm formuláře..Měl bych ještě jeden dotaz. Při vytváření formuláře sem si zadal že chci aby před odesláním formuláře musel dotyčný zadat bezpečnostní kod proti spamu.Při nahrání na web se mi nezobrazí obrázek s kodem. Měl jsem je na webu webzdarma a tam to funguje, ale když jsem je nahrál na ic.cz kod se nezobrazí.Nevím čím to.Díky za radu

Obrázek uživatele maxiorel

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Možná problém s nějakým oprávněním zápisu do složek.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Dobrý den prosím o radu, po odkliknutí tl. Submit se mi zobrazí info, že stránku nelze zobrazit. Je potřeba nastavovat nějaké servry smptp hesla apod?

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Sorry, mám naprd. hosting který nepodporuje php :-( Mě nenapadlo že u placeného hostingu nebude podpora php

Obrázek uživatele maxiorel

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Hmmmm. Co je to za hosting?

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Zdravím, chtěl jsem se zeptat. Vytvořil jsem si pomocí toho generátoru formulář, který má více stránek a potřeboval bych do něj umístit zpětné tlačítko. Je to možné? Díky za odpověď.

Obrázek uživatele maxiorel

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Proč ne. Tam kde chcete tlačítko mít, muséíte ale ručně vložit do kódu toto: http://javascript.internet.com/navigation/back-button.html

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Obrázek uživatele l.lenek

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Dobré odpoledne, pane Polzere, prosim vás, bude fungovat generovaný formulář na serveru s windows?

Dostala jsem od serveru tuto odpověď:

 

The page cannot be displayed

The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.

Please try the following:

  • Contact the Web site administrator if you believe that this request should be allowed.
  • Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.

HTTP Error 405 - The HTTP verb used to access this page is not allowed.Internet Information Services (IIS)

Technical Information (for support personnel)

  • Go to Microsoft Product Support Services and perform a title search for the words HTTP and 405.
  • Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled Setting Application Mappings, Securing Your Site with Web Site Permissions, and About Custom Error Messages.

 

 

Děkuji za případnou pomoc.

www.babylonie.cz
Obrázek uživatele maxiorel

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Měl by bez problémů. Popsaná chyba vypadá na nějaký problém s nastavením IIS.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Obrázek uživatele l.lenek

Re: phpFormGenerator: naklikejte si webové formuláře v PHP

Děkuji, dodělám web a dám vědět správci.

www.babylonie.cz

Volby prohlížení komentářů

Vyberte si, jak chcete zobrazovat komentáře a klikněte na „Uložit změny“.