Funktionen -> Übergabe-Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Funktionen -> Übergabe-Problem

    Hallo,

    ich hab ein kleines Problem, und weiß nicht weiter.
    Ich will eine Variable in einen Klasse "einschleusen". Das klappt auch schon ganz gut, nur in eine weiterführende Klasse schaffe ich es nicht.

    Hier mal ein Ausschnitt des Codes:

    Die Variable $mail_sender enthält den gewünschten Wert und wird auch mit in die Funktion get_parsed_message übertragen und mit dem return auch ausgegeben...
    PHP-Code:
    function get_parsed_message($mail_sender)
            {
                
    $object=$this->decode($mail_sender);
                
    /*$msg.="<b>To : </b>".$object->headers[to]."<br>";
                $msg.="<b>From : </b>".$object->headers[from]."<br>";
                $msg.="<b>Subject : </b>".$object->headers[subject]."<br>";
                $msg.="<b>Date : </b>".$object->headers[date]."<br><br>";*/
                
    $main_content_type=trim($object->ctype_primary)."/".trim($object->ctype_secondary);
                
    //trim(strtok($object->headers['content-type'],";"));
                
    $mailsender_2 "testing_now";
                
    $new_mailsender $testit;
                
    $msg.=$this->walk(&$object""$main_content_type$mail_sender);
                return 
    $mail_sender;
            } 
    Jetzt komme ich zu dem Problem...
    Ich schaffe es nicht, die Variable in die Funktion walk zu übertragen, was jedoch das Ausschlaggebende ist, da an dieser Stelle die Datenbank-Aktion ausgeführt werden muss...

    PHP-Code:
            function walk($object$msg=""$main_content_type=""$mail_sender="")
            {
                if(!isset(
    $object->parts))
                {
                    
    //$ctype=trim(strtok($object->headers['content-type'],";"));
                    
    $ctype=trim($object->ctype_primary)."/".trim($object->ctype_secondary);
                    switch(
    $ctype)
                    {
                        case 
    "image/jpeg":
                            
    $name=trim($object->headers['name']);        
                            
    $cid=trim($object->headers['content-id']);        
                            
    $cid=str_replace("<","",$cid);
                            
    $cid=str_replace(">","",$cid);
                            if(empty(
    $name))
                                 
    trim(strtok($object->headers['content-type'],"="));
                            
    $name=trim(strtok("=\""));
                            
    $temp="pop3_temp/";
                            @
    mkdir($temp,777);
                            
    $tmpfile=$temp.$name;
                            
    //$tmpfile=realpath($tmpfile);
                            
    $sql "INSERT INTO foto_mails_images (id, mail_id, picture_name) 
    VALUES ('', '"
    .$mailsender."', '".$name."')";
                            
    $q mysql_query($sql);
                            
    $fp=fopen($tmpfile,"w");
                            
    fwrite($fp,$object->body);
                            
    fclose($fp);
                            
    $msg=str_replace("cid:$cid",$tmpfile,$msg);
                            
    //@unlink($tmpfile);
                            
    break;
                        default:
                            
    $wrong_fileformat "1";
                            break;
                    }
                }
                else
                    foreach(
    $object->parts as $obj)
                        
    $this->walk($obj,&$msg,$main_content_type);
                return 
    $this->_mailsender;
                unset(
    $msg);
                } 
    Ja ich weiß, schaut noch ein wenig wirr aus ;-)

    Wäre echt dankbar, wenn mir jemand einen Tipp geben könnte wie ich die Variable in die function walk bekomme, danke!

    EDIT:
    Quellcode umgebrochen...

  • #2
    Re: Funktionen -&gt; Übergabe-Problem

    Original geschrieben von chrisphp
    Wäre echt dankbar, wenn mir jemand einen Tipp geben könnte wie ich die Variable in die function walk bekomme, danke!
    Welche von den 1000 Variablen bitte?
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      $mailsender != $mail_sender

      sieh dir deinen Code mal genau durch
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        ja sorry

        @ Quetschi: Auch wenn ich bei der SQL $mail_sender eintrage liefert er mir keinen Wert in die Datenbank, es bleibt leer, ich verstehs mittlerweile nicht mehr...

        Kommentar


        • #5
          Die 2 Funktionen befinden sich innerhalb von einer Klasse.
          kann ich eine Variable (mit Einfügen am Anfang der Klasse) global für alle Funktionen einer Klasse verfügbar machen?

          Kommentar


          • #6
            Original geschrieben von chrisphp
            Die 2 Funktionen befinden sich innerhalb von einer Klasse.
            kann ich eine Variable (mit Einfügen am Anfang der Klasse) global für alle Funktionen einer Klasse verfügbar machen?
            ja.

            PHP-Code:
            class foo {

            var 
            $bar;

            function 
            foo($_bar) {
                 
            $this->bar $_bar;
            }

            function 
            getBar() {
                 return 
            $this->bar;
            }
            }

            $test=new foo('hello world');
            echo 
            $test->getBar(); 
            Kissolino.com

            Kommentar

            Lädt...
            X