• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kann in einer Mtehode nicht auf die Variable zugreifen

Status
Für weitere Antworten geschlossen.

RaZ0oR

Neues Mitglied
Hey,

also ich habe mich nun ein bisschen mehr mit OOP beschäftigt und stoße auf ein Fehler.

In der Methode mailen kann ich nicht auf die Variable mailto zugreifen. Was muss ich den ändern, dass dies klappt?

PHP:
<?php

	class kontaktformular
	{
		
		private $mailto;
		private $form = array("<form action=\"kontakt.class.php\" method=\"post\">", "Name <input type=\"text\" name=\"name\" />", "Text <input type=\"text\" name=\"text\" />", "<input type=\"submit\" />", "</form>");
		
		public function __construct()
		{
			if($_POST)
			{
				$this -> checkPost(	);
			}
			else
			{
				$this -> outputForm();
			}
		}
		
		public function mailto($var)
		{
			$this -> mailto = $var;
		}
		
		private function checkPost()
		{
			//hier kommen später noch checks rein
			$this -> mailen();
		}
		
		private function mailen()
		{
			mail($this -> mailto, "betreff", $_POST['name']."sagt".$_POST['text'],"From:");
		}
		
		private function outputForm()
		{		
			foreach($this -> form as $value)
			{
				echo $value." ";
			}
		}
	}
	
$form1 = new kontaktformular();
$form1 -> mailto("[email protected]");

?>

lg

//Edit

habs so geändert
PHP:
<?php

	class kontaktformular
	{
		
		private $mailto = "[email protected]";
		private $form = array("<form action=\"kontakt.class.php\" method=\"post\">", "Name <input type=\"text\" name=\"name\" />", "Text <input type=\"text\" name=\"text\" />", "<input type=\"submit\" />", "</form>");
		
		public function __construct($mailto)
		{
			$this->mailto = $mailto;
			if($_POST)
			{
				$this -> checkPost();
			}
			else
			{
				$this -> outputForm($mailto);
			}
		}
		
		public function mailto($var)
		{
			$this -> mailto = $var;
		}
		
		private function checkPost()
		{
			//hier kommen später noch checks rein
			$this -> mailen();
		}
		
		private function mailen()
		{
			mail($this -> mailto, "betreff", $_POST['name']."sagt".$_POST['text'],"From:");
		}
		
		private function outputForm($mailto)
		{		
			foreach($this -> form as $value)
			{
				echo $value." ";
			}
		}
	}

new kontaktformular("[email protected]");
?>
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.

Neueste Beiträge

Zurück
Oben