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.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Data Model Questions /

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

formular , array


Go to End


2 Posts   1309 Views

Avatar
snaip

Community Member, 181 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, 181 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);



	}