wo liegt der fehler?

Sovok

Erfahrenes Mitglied
Code:
<html><head><title>Write Data</title></head><body>
 <?php
   
   //Entfernen von überflüssigen Leerzeichen

   $array["name"]=trim($array["name"]);
   $array["email"]=trim($array["email"]);
   $array["spruch"]=trim($array["spruch"]);


   //Vorbereitung der Schreibfunktion, die von der HandledataFunktion aufgerufen wird

   function write($file,$link,$spruch)
    {
    $open=fopen($file,"a");
      if($open)
    {
      	fwrite($open,"$link\t$spruch\n");
      	fclose($open);
      	$funzt=true;
    }else{
    	$funzt=false;
        return $funzt;
    }
    }	//Funktion Ende


   //Überprüfung auf gültige Angaben und Weiterverarbeitung zu HTML

   function handledata()
   	{
   		$muster="^([0-9a-z]+)([0-9a-z\.-_]+)@([0-9]+)\.([0-9a-z]+)";
   	  if((eregi($muster,$array["email"]))and($array["name"])and($array["spruch"])and(($humor)or($dashuria))
    {
      $array["link"]="<a href=\"mailto:$array[email]\">$array[name]</a>";
   //Prüfung an welche Rubrik der Spruch geht und Aufruf der write Funktion
      if($humor)
    {
		$file="humor.txt";
        $callfunction=write($file,$array["link"],$array["spruch"]);
        print"Die Angaben wurden erfolgreich übertragen";
    }elseif($dashuria)
    	$file="dashuria.txt";
    	$callfunction=write($file,$array["link"],$array["spruch"]);
    	print"Die Angaben wurden erfolgreich übertragen";
    }else{
    	print"Gehen sie zurück und überprüfen sie ihre Angaben";
    }
    }  //Funktion Ende

    handledata();
  ?>
</body></html>
 
Ich bin mir nicht sicher, hab´s nur kurz überflogen, aber ist die Funktion write() nicht schon bei PHP integriert? Und soweit ich weiß, darf man ja Funktionen in PHP nicht überladen... Also gib der Funkt. mal einen anderen Namen und probier´s nochmal
 
ne hab write schon gestern in nem anderen script benutzt... das kanns ned sein

er bringt auch keinen error... er schreibt generell Gehen sie zurück und überprüfen sie ihre Angaben und speichert die daten nich in den txt files
 
Ah, jetzt seh ich´s: Dir ist schon klar, dass du die Variable $array nicht einfach so in der Funktion ansprechen kannst, ja? ;)
Du musst diese am Anfang der Funktion als globale Variable definieren:
PHP:
function handledata() 
{
  global $array;
  [...]
}
Außerdem fehlt doch da nach dem "elseif($dashuria)" ein '{', oder? Am Ende der Funktion dann natürlich noch ein '}'
 

Neue Beiträge

Zurück