GD Lib - Grafik allein auf der Seite

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

  • GD Lib - Grafik allein auf der Seite

    Ich bin gerade dabei ein Registrierungscript zu schreiben, indem ein Sicherheitscode generiert wird, hier der Code:
    PHP-Code:
    <?php  function gen_zahlen($min$max$anz
    {       
    $werte range($min$max);       
    mt_srand ((double)microtime()*1000000);       
    for(
    $x 0$x $anz$x++) 
    {            
    $i mt_rand(1count($werte))-1;            
    $erg[] = $werte[$i];            
    array_splice($werte$i1);       
    }       
    return 
    $erg;  
    }    

    $zufalls_array gen_zahlen(196);  
    $ausgabe join(""$zufalls_array);    
    header("Content-type: image/png");  
    $breite 100;  $hoehe 50;  
    $bild imagecreate($breite$hoehe);  
    $weiß imagecolorallocate($bild255255255);
      
    $schwarz imagecolorallocate($bild000);
    imagefilledrectangle($bild00$breite$hoehe$weiß);
    imagestring($bild2011$ausgabe$schwarz);
    imagepng($bild);  imagedestroy($bild);  ?>
    Wenn ich diesen nun an die Stelle in der PHP-Datei kopiere, wo die Grafik ausgegeben werden soll, dann erscheint diese auch, aber nur Sie, der Rest des Dokuments ist leer. Warum? Wie kann ich es anstellen, damit die Grafik an dieser Stelle angezeigt wird?

  • #2
    durch den Header glaubt der Broswer, dass dies Datei ne PNG Datei ist. Du musst das Bild erstellen und verlinken .
    Für Rechtschreibfehler übernehme ich keine Haftung!

    Kommentar


    • #3
      Wie muss ich das genau machen, ich kann ja imagepng($bild, "test.png");
      schreiben, dann wird die Datei ja gespeichert, es wird aber immer noch die Datei als png-Datei im Browser angezeigt.

      Kommentar


      • #4
        Du musst den Code in einer Datei speichern und diese dann normal mit dem img-Tag in der Registrierungsseite aufrufen.

        byez - sagg
        mfg - sagg

        Kommentar


        • #5
          Meinst du so?

          <img src='<?php include('sh_code.php'); ?>'>

          Kommentar


          • #6
            PHP-Code:
            <img src="bild-erzeugendes-script.php" /> 
            hopka.net!

            Kommentar


            • #7
              Genau so wie Hopka schon geschrieben hat, stell dir vor die Datei ist ein stinknormales png. (ist ja im Prinzip auch nix anderes, nur das es halt generiert wird, und nicht schon fertig da liegt)

              byez - sagg
              mfg - sagg

              Kommentar


              • #8
                Ja danke, hat geklappt, jetzt kommt mir aber gleich noch eine Frage, habe mal noch eine if-Schleife eingebunden:

                if($_GET['id'] == "code")
                {
                $ausgabe2 = $ausgabe;
                }
                else
                {
                Bild generieren
                }

                Wie kann ich in die register.html nun den Code(als Text) ausgeben lassen, wie kann ich die Variable $ausgabe2 in der register.html ausgeben lassen?

                Kommentar


                • #9
                  hm..ich geh mal davon aus das du kein php in deinen html-Dateien ausführen kannst.
                  Mach doch einfach anstelle einer html-Datei eine php-Datei
                  mfg - sagg

                  Kommentar


                  • #10
                    Und doch, mit mod_rewrite
                    Ich präzisiere meine Frage mal, ich möchte, dass in einer Variable der Sicherheitscode gespeichert wird, denn das Script muss 2 mal aufgerufen werden, einmal, um die PNG-Datei anzuzeigen und einmal, um den generieten Code auszulesen, damit der nachher mit dem vom user eingegebenen vergleichen werden kann, hat wer ne idee, wie das geht?

                    Kommentar


                    • #11
                      Speicher den generierten Code in einem Cookie, in einer Session, in der DB..wo auch immer...und dann halt einfach vergleichen.
                      mfg - sagg

                      Kommentar


                      • #12
                        Habe das ganze jetzt so gemacht, dass es in die DB geschreiben wird, wenn ich über localhost gehe klappt auch alles, wenn ich aber über meine Internet-IP auf die Seite zugreife, generiert er keinen Code mehr dafür in der DB, woran kann das liegen?

                        EDIT: Hat sich erledigt, Fehler lag bei mir, die Datei wurde über localhost includet und hatte deshlab diese die 127.0.0.1 und deshlab konnte keine weitere IP in die DB eingetragen werden.
                        Zuletzt geändert von ; 06.11.2004, 14:07.

                        Kommentar


                        • #13
                          OffTopic:
                          wenn du mal gesucht hättest, hättest du in den codeschnipseln sogar was fertiges gefunden ... auch ohne db.
                          Kissolino.com

                          Kommentar

                          Lädt...
                          X