Hledat:
Obsah fora > Visual PHP™ > Tvorba prezentací > Modul forms
Registrovat | Přihlásit
 

Modul forms

od (September 1, 2009 9:12:22 PM)

Dobrý den, forms je opravdová vychytávka :-D  Tak jak je mezi řádky uvedeno v textu k dané videoukázce.

Vytvořil jsem něco na způsob kontaktního formuláře. Vše funguje skvěle. Akorát bych chtěl nějak upravit zasílaný eml. a nevím kde? Nikde jsem na to nenarazil. 

od: (Enterprise)

   
 

Modul forms

od (September 2, 2009 7:03:46 PM)

Děkujem, ano lze to pomocí podmínek.

Před odesláním emailu je HTML formuláře zpracováno tak, že jsou nahrazeny formulářové elementy jejich hodnotami a tady lze použít proměnné $mailOutput, která má hodnotu true v případě, že jde o odeslání emailu a ne o zobrazení na www.

Tedy řešením je vypodmínkovat si obsah s pomocí hodnoty této proměnné.
$mailOutput == true

od: (Technická podpora)

   
 

Modul forms

od (September 2, 2009 7:33:47 PM)

Nějak se v tom ztrácím :-(

Možná jsem to asi špatně popsal. Jedná se mi o nasměrování na nějakou šablonu, kterou bych si přetvořil k obrazu svému.

od: (Enterprise)

   
 

Modul forms

od (December 17, 2009 11:01:45 PM)

Tak už jsem se tím prokousal :-)

Když je podmínka na
$mailOutput == false

tak je to vidět na webu, ale nepošle se to do mailu, a když je to na

$mailOutput == true
tak je to naopak....

Ještě bych potřeboval poradit jak nejlépe udělat potvrzení vyplněného formuláře na zadaný e-mail získaný z formuláře z $email (myslím tím aby se poslal stejný obsah jako na e-mail vyplněný v "Doručit na e-maily"). Možná, že by bylo dobré mít možnost přidat do kolonky "Doručit na e-maily" proměnnou např. $email. To by pro nás vižláky bylo super a velice jednoduché ;-)
Viz. příloha $email.

Jestli tato věc jde řešit pouze přes events-afterSubmit přes getObject("Mail") , tak bych potřeboval poradit jak tam dostat stejný obsah, který se odesílá na e-mail který je vyplněný v "Doručit na e-maily".

$Mail = getObject("Mail");
	$recipientEmail = $email;
	$recipientName = "Recipient name";
	$Mail->setSender("zc.ocen@oceni", "Něco");
	$Mail->setRecipient($recipientEmail, $recipientName);
	$Mail->setSubject("Pokus");
	$Mail->setHtmlBody("Jak sem dostat obsah posílaného emailu?");
$Mail->send();

Děkuji za nakopnutí a objasnění.

Přílohy:

$email

od: (Enterprise)

   
 

Modul forms

od (January 13, 2010 1:37:12 AM)

Řešit to "ručně" přes onSubmit() nebo afterSubmit() by to samozřejmě taky šlo, ale bylo by to rozhodně pracnější (a otravnější :)

Následující řešení Vám ukáže, jak poslat výsledek formuláře na email, který se zadává do textového pole formuláře.

Máte-li do formuláře vložené textové pole s názvem mail, lze použít hodnotu tohoto pole i ve vlastnosti Doručit na e-maily, kam běžně zadáváte příjemce. Stačí přidat záznam a místo přímého emailu vložte {php: $mail} - viz obr. 1

Pokud využíváte češtinu v názvu textového pole (aby se např. při nevyplnění tohoto pole přes komponentu Form Error Message ukázalo Vyplňte prosím Váš e-mail namísto Vyplňte prosím email), vložte do příjemců {php: $_REQUEST["Váš e-mail"]}. Jazyk PHP totiž neumožňuje diakritiku ani mezezy v názvu proměnných. - viz obr. 2 a 3

Přílohy:

Příjemce zadaný přes pole formuláře

Nastavení názvu pole formuláře s češtinou

Příjemce zadaný přes pole formuláře s češtinou

od: (Technická podpora)

   
 

Modul forms

od (February 10, 2010 10:55:09 PM)

Dobrý den, potřeboval bych help ohledně formErrorMessage v modulu forms.

Načítám do formuláře TC, který má v šabloně

<input value="{php: $pocet[position]}"
id="pocet[position]" name="pocet[position]"
type="text" />


 na ověření jestli je zadán počet kusů, alespoň u jednoho textboxu mám takový to kousek kódu

if ($formSent == "true") {

  $pocetZadan = false;
  foreach ($_POST as $klic => $polozka) {
    $klicZacatek = "pocet";
    $minDelkaKlic = strlen($klicZacatek);
    if (strlen($klic) > $minDelkaKlic && substr_compare($klic, $klicZacatek, 0, $minDelkaKlic) == 0) {
      if (is_numeric($polozka) && $polozka > 0) {
        $pocetZadan = true;
        break;
      }
    }
  }

  if ($pocetZadan == false) {
    $errorMessage .= "
Není zadán žádný kus pro objednání!";
  }
  }

který mi vypíše do

{php: $errorMessage}

zprávu o nezadání žádného počtu.


Má otázka zní jestli se to dá propojit s výchozím formErrorMessage, aby se zpráva vypsala přes formErrorMessage?
A jestli by to i vyřešilo můj problém s neodesíláním formuláře pro nevyplněném žádném počtu kusů? V současné době mi to sice vypíše hlášku do {php: $errorMessage}, ale i přesto se mi to odešle, nepřišel jsem na způsob jak to vyřešit...

Děkuji za help JP 
   
od: (Enterprise)

   
 

Modul forms

od (March 2, 2010 12:31:22 AM)

Dobrý den

aby výpis chybových hlášek pracovalo nad komponentou Form Error Message, je potřeba Váš kód pro kontrolu přesunout do události onCheckValues. Modul forms, pokud tato událost vrátí pole s chybami, nedovolí další zpracování formuláře a vloží chyby vrácené z této události do komponenty Form Error Message.

Váš kód tedy stačí přizpůsobit takto:
$errors = array();

$pocetZadan = false;
foreach ($_POST as $klic => $polozka)
{
    $klicZacatek = "pocet";
    $minDelkaKlic = strlen($klicZacatek);
    if (strlen($klic) > $minDelkaKlic && substr_compare($klic, $klicZacatek, 0, $minDelkaKlic) == 0)
    {
        if (is_numeric($polozka) && $polozka > 0)
        {
            $pocetZadan = true;
            break;
        }
    }
}

if ($pocetZadan == false)
{
    $errors[] = "Není zadán žádný kus pro objednání!";
}

return($errors);

od: (Technická podpora)

   
 

Modul forms

od (March 2, 2010 8:42:31 AM)

Dobrý den, děkuji...je to funkční, ale ještě to není ono ;-)

Budu potřebovat ještě nakopnout.

Když dám tento kód do události onCheckValues tak mi přestane fungovat vypsání zbylých nezadaných polí jako jméno, adresa a ostatní povinné položky a vypíše se pouze hláška o tom, že nebyl zadán počet.

Pak jsem přišel ještě na to, když si dám do if  $mailOutput == false položky formu (když nemám kód pro ověření zadání počtu v události onCheckValues) tak se mi ve výpise Form Error Message ukáže pouze nezadání spam kontroly. Ostatní povinná pole ne. :-(

Děkuji za help. JP

od: (Enterprise)

   
 

Modul forms

od (March 2, 2010 9:59:13 AM)

Dobré ráno,

omlouvám se za svou velkou noční dezinformaci, první řádek
$errors = array();
musí jít pryč.

Události onCheckValues je předáván právě tento parametr $errors (obsahující chyby ohledně nevyplněných polí, špatně zadaného kódu obrázku, atd.. ), který chceme pouze doplnit o další vlastní chybové hlášky.

Vynulování pole použijeme pouze v případě, že chybové hlášky chceme mít plně ve své režii.
od: (Technická podpora)

   
 

Modul forms

od (March 11, 2010 5:29:38 PM)

Děkuji, takto to funguje :-)

Ale kauza forms pokračuje ;-) Potřeboval bych poradit jak se vypořádat s textovým popisem hodnoty  comboboxu.

Jedná se mi o to, že mám ve formuláři přes events onSubmit načítání přes $record['status_rozvoz'] pole a combobox mi tam dává hodnotu, ale potřeboval bych tam textový popis hodnoty.

Nevíte jak na to? Nebo případně kde najdu uložený textový popis hodnoty? V příslušné tabulce je pouze hodnota.

Děkuji za help JP 


Přílohy:

výpis hodnoty

tento textový popis potřebuji

takto to mám v nastavení tabulky

od: (Enterprise)

   
Pages: 1 2 Next Last
 

Zpět na stránky Visual PHP™ | Product | Technical support | Version | Video exhibits | Manuals | Contact
Powered by: Visual PHP™ Forum
* Tato technická podpora není jen otázkou klienta a odpovědí tvůrce software. Slouží i jako fórum mezi Vámi, našimi klienty samotnými. Nebojte se reagovat na příspěvek, když znáte odpovědi. Vyměňujte si zkušenosti s produktem Visual PHP™. Systém Visual PHP™ je jedinečný a lze v něm provádět jednu operaci více způsoby. Pochlubte se ostatním, pokud naleznete nový a jednodušší způsob, jak určitou součást řešit. Pomáháte tím sami sobě a zároveň se spolupodílíte na rozvoji celého systému.