Variablen Übergabe

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

  • Variablen Übergabe

    Hallo Forummitglieder,

    ich bin anfänger und habe folgenden Problem:

    Ich generiere ein Bild in crtimage.php5 und bei der generierung benutze ich Variablen.
    Ich möchte einfach eine Variable(z.B.$text) von anderem php-Datei(anzeigen.php5) aus abrufen/anzeigen.
    Dieses habe ich mit unterschiedlichen Methoden probiert und leider kein Erfolg.
    Ich glaube, das Problem liegt mit imagejpeg() zusammen, da ich unleserlichen Zeichenfolge bekomme.

    Habt ihr eine Idee oder gibt es ein grundsetzliches Fehler in meinem php-Code?

    Wäre über jeden Tip dankbar und Danke im voraus.

    crtimage.php5
    PHP-Code:
    <?PHP
    srand
    ((double)microtime() * 1000000);
    $zz  =  rand(4,6);
    $Sg rand(26,28);
    $Sx rand(17,27);
    $Sy rand(45,70);
    $var rand(2,4);
    $varbild rand(1,4);
    $fontart 'FONTS/' $var '.TTF';
    $bg $var '.jpg';

    for(
    $x 0$x $zz$x++){
      
    srand((double)microtime() * 1000000);
      
    $text  .=  chr(rand(65,90));
    }

    $image imagecreatefromjpeg($bg);
    $font_c imagecolorallocate($image,85,85,255);
    imagettftext($image$Sg0$Sx$Sy$font_c$fontart$text);
    // header("Content-Type: image/jpeg");
    imagejpeg($image,"",60);
    ?>
    anzeigen.php5

    PHP-Code:
    <?php
    include('crtimage.php5');
    echo 
    'Davor-' $text ' -Das klappt!<br/>';
    echo 
    '<img src="crtimage.php5" alt="X"/>';
    echo 
    '<br/>';
    echo 
    'Danach-' $text ' -Das klappt!<br/>';
    ?>
    Zuletzt geändert von jand; 06.01.2006, 11:47.

  • #2
    PHP-Code:
    <?php
    //anzeigen.php
    echo 'Davor-' $text ' -Das klappt!<br/>';
    echo 
    '<img src="crtimage.php5?src='.$text.'" alt="X"/>';
    echo 
    '<br/>';
    echo 
    'Danach-' $text ' -Das klappt!<br/>';

    //crtimage.php5
    <?PHP
    srand
    ((double)microtime() * 1000000);
    $zz  =  rand(4,6);
    $Sg rand(26,28);
    $Sx rand(17,27);
    $Sy rand(45,70);
    $var rand(2,4);
    $varbild rand(1,4);
    $fontart 'FONTS/' $var '.TTF';
    $bg $var '.jpg';

    for(
    $x 0$x $zz$x++){
      
    srand((double)microtime() * 1000000);
      
    $text  .=  chr(rand(65,90));
    }

    $image imagecreatefromjpeg($bg);
    $font_c imagecolorallocate($image,85,85,255);
    imagettftext($image$Sg0$Sx$Sy$font_c$fontart$_GET['src']);
    // header("Content-Type: image/jpeg");
    imagejpeg($image,"",60);
    ?>
    Du übergibst den gewünschten Wert einfach als $_GET Parameter beim Aufruf des Bildes an das Bild Script. Alternativ könntest du das auch mit einer Session Var machen, aber ich denke das mit GET sollte für deine Zwecke ausreichend sein.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hallo Tobi,

      danke für die schnelle antwort.

      Leider hast Du genau umgekehrt gedacht oder habe Dich falsch Verstanden. Man sollte die $text was in crtimage.php5 erzeugt wird,
      in anzeigen.php5 darstellen.

      Gruß, Jan.

      Kommentar


      • #4
        Original geschrieben von jand
        Leider hast Du genau umgekehrt gedacht oder habe Dich falsch Verstanden. Man sollte die $text was in crtimage.php5 erzeugt wird,
        in anzeigen.php5 darstellen.
        Das solltest du auch alleine zurecht biegen können.
        mfg - sagg

        Kommentar


        • #5
          Original geschrieben von sagg
          Das solltest du auch alleine zurecht biegen können.
          Danke für deine Bemerkung. Wenn ich könnte, hette ich hier nicht gepostet.

          Wenn ich den include Teil nicht raus nehme, bekomme ich nur unleserliche zeichen angezeigt.

          Kommentar


          • #6
            Sorry dann habe ich dich falsch verstanden.
            In diesem Falle wären also Sessions von Vorteil:
            PHP-Code:
            //img Datei
            session_start();
            [
            DEIN GANZER CODE]
            $_SESSION['text'] = $text;

            //anzeigen
            echo $_SESSION['text']; 
            Funzt es denn so ?

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Hallo Tobi,
              danke für deinen Vorschlag. Es funktioniert leider Teilweise:
              Jetzt kommt nicht mehr die unleserliche Zeichenfolge sondern, falsche Variablen Inhalt. Ich generiere das Bild und es ist auf dem Bild eine Zeichenfolge zu sehen. Genau diese Zeichenfolge ($text) will ich unter dem Bild anzeigen. Es kommt die davor erstellte Zeichenfolge($text) und nicht der gerade im Bild angezeigte. Könnte es sein, dass man, in diesem fall irgendwie den $text zwischen speichern muss?

              Gruss, Jan

              Kommentar


              • #8
                Ist dieses Problem zu einfach oder zu kompliziert, dass keiner Antworten will oder kann?

                Trotzdem Danke an allen.

                Kommentar


                • #9
                  Testausgaben gemacht ??
                  PHP-Code:
                  [...]
                  var_dump($text);
                  echo 
                  '<br />';
                  for(
                  $x 0$x $zz$x++){
                    
                  srand((double)microtime() * 1000000);
                    
                  $text  .=  chr(rand(65,90));
                  }
                  var_dump($text);
                  exit;
                  [...] 
                  Sind diese beiden Werte verschieden oder nicht ??

                  Gruss

                  tobi

                  p.s. bist du auch sicher, dass die Session ID korrekt an das bilderzeugende Script übergeben wird ?
                  Zuletzt geändert von jahlives; 06.01.2006, 16:40.
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar

                  Lädt...
                  X