Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Data Model Questions /

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba

formular , array


Go to End
Reply


2 Posts   1114 Views

Avatar
snaip

Community Member, 180 Posts

19 May 2010 at 8:32pm

Edited: 19/05/2010 8:54pm

hi

i have one formular for 8 languages

here is the fragment

	function formularz($x) {
	
		$form_pl = array(
			'tytul' => 'Formularz rezerwacji:',
			'data_przyjazdu' => 'Data przyjazdu',
			'data_wyjazdu' => 'Data wyjazdu',
			'osoby' => 'Ilo?? osób',
			'imie' => 'Imi? i nazwisko',
			'email' => 'Email',
			'email_powtorz' => 'Powtórz e-mail',
			'telefon' => 'Tel.',
			'uwagi' => 'Uwagi'		
		);
		
		$form_en = array(
			'tytul' => 'Application form:',
			'data_przyjazdu' => 'Arrival date',
			'data_wyjazdu' => 'Departure date',
			'osoby' => 'Number of participants',
			'imie' => 'Name and surname',
			'email' => 'Email',
			'email_powtorz' => 'Repeat your e-mail',
			'telefon' => 'Tel.',
			'uwagi' => 'Request'		
		);	


		if($x == "pl") { $array = $form_pl; }
		if($x == "en") { $array = $form_en; }

		$title = new HeaderField (
			$title = $array['tytul'] . ' ' . $this->Title,
			$title = $this->Title,
			$headingLevel = "2"
		);
		$tytul->addExtraClass('naglowek');


                $fields = new FieldSet(
                .....
                }


		$actions = new FieldSet(
			new FormAction('wycieczka_wyslij', 'Send')         
		);
   
		return new Form($this, 'formularz', $fields, $actions);
	} 


	function wycieczka_wyslij($data) {

		$imie = $data['imie'];
		$email = $data['email'];
		$email_copy = $data['email_copy'];
		$uwagi = $data['uwagi'];

             ....
                mail($to, $subject, $message, $header);
       }

in template i put the variable for x
formularz(pl) / formularz(en) / formularz(it) etc.

everything works good, i get correct array in template but when i try to send the form a get an error

[Notice] Undefined variable: array

329 		$title = new HeaderField (
330 			$title = $array['tytul'] . ' ' . $this->Title,
331 			$title = $this->Title,
332 			$headingLevel = "2"
333 		);

EDIT:

trying

$array = array();

now have notice

[Notice] Undefined index: tytul

$title = $array['tytul'] . ' ' . $this->Title,

print_r($array); // FR formular

Array ( [tytul] => Formulaire du contact: [data_przyjazdu] => Arrivée [data_wyjazdu] => Départ [osoby] => Le nombre de personnes [imie] => Nom et prénom => Email [email_powtorz] => Répétez votre e-mail [telefon] => Téléphone [uwagi] => Commentaires )

Avatar
snaip

Community Member, 180 Posts

19 May 2010 at 9:55pm

Edited: 19/05/2010 9:58pm

there is something wrong with this formular or maby i do not know everything, mail dosen't send

function wycieczka_wyslij() seems not to be executing

i'm using SS 2.4


	function formularz($x) {
	
		$form_pl = array(
			'tytul' => 'Formularz rezerwacji:',
			'data_przyjazdu' => 'Data przyjazdu',
			'data_wyjazdu' => 'Data wyjazdu',
			'osoby' => 'Ilo?? osób',
			'imie' => 'Imi? i nazwisko',
			'email' => 'Email',
			'email_powtorz' => 'Powtórz e-mail',
			'telefon' => 'Tel.',
			'uwagi' => 'Uwagi'		
		);

		$tablica = array(
			'tytul' => '',
			'data_przyjazdu' => '',
			'data_wyjazdu' => '',
			'osoby' => '',
			'imie' => '',
			'email' => '',
			'email_powtorz' => '',
			'telefon' => '',
			'uwagi' => ''		
		);	

      		if($x == "pl") { $tablica = $form_pl; }

$tytul = new HeaderField (
			$title = $tablica['tytul'] . ' ' . $this->Title,
			$title = $this->Title,
			$headingLevel = "2"
		);
		$tytul->addExtraClass('naglowek');

		$podroz = new HiddenField(
			$name = "podroz",
			$title = "Rodzaj podró?y",
			$value = $this->Title
		);
      
		$data_przyjazdu = new DateField(
			$name = "data_przyjazdu",
			$title = $tablica['data_przyjazdu'],
			$value = "DD/MM/YYYY"
		);
		$data_przyjazdu->addExtraClass('calendar');
		$data_przyjazdu->addExtraClass('require');
		$data_przyjazdu->addExtraClass('start-date');
		$data_przyjazdu->addExtraClass('input_short');
		$data_przyjazdu->addExtraClass('label');

		$data_wyjazdu = new DateField(
			$name = "data_wyjazdu",
			$title = $tablica['data_wyjazdu'],
			$value = "DD/MM/YYYY"
		);
		$data_wyjazdu->addExtraClass('calendar');
		$data_wyjazdu->addExtraClass('require');
		$data_wyjazdu->addExtraClass('end-date');
		$data_wyjazdu->addExtraClass('input_short');
		$data_wyjazdu->addExtraClass('label');
		
		$osoby = new NumericField(
			$name = "osoby",
			$title = $tablica['osoby'],
			$value = "1"      
		);
		$osoby->addExtraClass('require');
		$osoby->addExtraClass('input_short');		
		$osoby->addExtraClass('label');

		$imie = new TextField(
			$name = "imie",
			$title = $tablica['imie'],
			$value = ""
		);
		$imie->addExtraClass('require');
		$imie->addExtraClass('input_long');		
		$imie->addExtraClass('label');		

		$email = new EmailField(
			$name = "email",
			$title = $tablica['email'],
			$value = ""
		);
		$email->addExtraClass('require');
		$email->addExtraClass('input_long');	
		$email->addExtraClass('label');

		$email_copy = new EmailField(
			$name = "powtorz_email",
			$title = $tablica['email_powtorz'],
			$value = ""
		);
		$email_copy->addExtraClass('require');	
		$email_copy->addExtraClass('input_long');	
		$email_copy->addExtraClass('label');	

		$tel = new TextField(
			$name = "tel",
			$title = $tablica['telefon'],
			$value = ""
		); 
		$tel->addExtraClass('input_long');	
		$tel->addExtraClass('label');	

		$uwagi = new TextareaField(
			$name = "uwagi",
			$title = $tablica['uwagi'],
			$rows = 3,
			$cols = 28
		);
		$uwagi->addExtraClass('label');

		$fields = new FieldSet(
			$tytul,
			$podroz,
			$data_przyjazdu,
			$data_wyjazdu,
			$osoby,
			$imie,        
			$email,
			$email_copy,
			$tel,
			$uwagi
		);

		$actions = new FieldSet(
			new FormAction('wycieczka_wyslij', 'Send')         
		);
   
   
		return new Form($this, 'formularz', $fields, $actions);
	}    


	function wycieczka_wyslij($data, $form) {


		$imie = $data['imie'];
		$email = $data['email'];
		$email_copy = $data['email_copy'];
		$uwagi = $data['uwagi'];
		$ip = $data['ip'];

		$imie = strtolower($imie);
		$email = strtolower($email);
		$email_copy = strtolower($email_copy);
		$uwagi = strtolower($uwagi);


			$to = 'myemail@gmail.com';
			
			
			$subject = "\"" . $this->Title . "\" " . $data['imie'];

		 	$message = "Data przyjazdu: " . $data['data_przyjazdu'] . "\n";
 			$message .= "Data wyjazdu: " . $data['data_wyjazdu'] . "\n";
		 	$message .= "Ilo?? osób: " . $data['osoby'] . "\n";
		 	$message .= "Imi? i nazwisko: " . $data['imie'] . "\n"; 
			$message .= "Telefon: " . $data['tel'] . "\n";	 
		 	$message .= "Email: " . $data['email'] . "\n";
		 	$message .= "Uwagi: " . $data['uwagi'] . "\n";	
	 		$message = eregi_replace("[\]",'',$message);


			$header = 'From: '.$data['imie']. '<'.$data['email'].'>'."\n";
			$header .= 'Content-Type: text/plain; charset=utf-8'."\n";
			$header .= 'Content-Transfer-Encoding: 8bit'."\n";
			$header .= "MIME-Version: 1.0";


			mail($to, $subject, $message, $header);



	}