Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Bild erstellen, speichern und gespeichertes Bild anzeigen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Bild erstellen, speichern und gespeichertes Bild anzeigen

    Hallo zusammen, ich habe ein kleines Problem mit einem Signaturengenerator.

    Ich habe zwei Dateien, die index.php, auf der sich ein Formular befindet, dort soll auch das erstellte Bild angezeigt werden.

    Sowie die absig.php in der sich der Code für die Erstellung des Bildes befindet.

    Was ich nun möchte ist, ich gebe Daten in das Formular ein, wähle ein Hintergrundbild aus und klicke auf "absenden" jetzt möchte ich das die absig.php aufgerufen wird, die Werte aus dem Formular übergeben werden und anhand dieser ein Bild erstellt wird, die Datei soll in einem Verzeichnis gespeichert werden und dann auf der index.php Seite über dem Formular angezeigt werden.
    Dort soll dann auch kein Bild mit dem Namen "absif.php&ohne_ende_werte" sein, sondern das Bild "erstellt12345.png".

    Als letzte "herrausforderung" würde ich gerne die eingegebenen Werte aus dem Formular in den Feldern behalten, bisher habe ich das Problem das nach dem Absenden die Eingabefelder und Pulldownmenüs wieder leer sind bzw auf alten Zustand stehen.

    Hier mal ein bisschen Code meiner bisherigen Arbeit.

    Die index.php ;

    PHP-Code:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Siggen Aion-Base</title>
     
        <script src="http://www.aion-base.de/siggen/302pop.js" type="text/javascript"></script>
        
    <style type="text/css">
    <!--
    .desc {
        text-align: left;
    }

    #bg {
        position: relative;
    }

    #text {
        position:absolute;
        left:0px;
        top:0px;
    }

    #eingabe{
        width:580px;
        height:360px;
        margin:1px;
        clear:both;
        }
    #ausgabe{
        height:110px;
        width:415px;
        margin:0 auto;
        float:left;
        }
    #banner{
        width:450px;
        margin:0 auto;
    }
    #seite{
        width:630px;
        height:100%;
        font-size: small;
    }
    #seite #eingabe form table tr th {
        text-align: left;
    }
    #seite form #eingabe table tr th {
        text-align: left;
    }
    #beschr {
        font-size: 0.8em;
    }
    -->
    </style>
    </head>

    <body>
    <div id="seite">
    <div id="ausgabe">
    <p>
        <?php function RandomString($length=4,$chars='abcdefghijklmnpqrstuvwxyz'){
            
    $result '';
            for(
    $i=0;$i<$length;$i++) { $result .= $chars[mt_rand(0,strlen($chars)-1)]; }
            return 
    $result;
        } 
        
    $code md5(RandomString(5)); 

        
    $charname '?char='.rawurlencode($_REQUEST[char]);
        
    $klasse '&klasse='.rawurlencode($_REQUEST[klasse]);
        
    $fraktion '&fraktion='.$_REQUEST[fraktion];
        
    $legion '&legion='.rawurlencode($_REQUEST[legion]);
        
    $banner '&banner='.$_REQUEST[banner];
        
    $face '&face='.$_REQUEST[face];
        
    $rahmen '&rahmen='.$_REQUEST[rahmen];
        
    ?>
        <img border="0" width="400" height="100" src="
            <?php
            $url 
    'absig.php'.$charname.$klasse.$fraktion.$legion.$banner.$face.$rahmen.'&mdsumme='.$code;
            echo(
    $url);
            
    ?>
        ">
    </p>
    </div>
    <span id="beschr">Speichert euch das Bild bei Fertigstellung bitte ab.<br>
      Rechtsklick auf das Bild -&gt; &quot;Bild speichern unter&quot;<br>
      Es wird nicht auf unserem Server gespeichert und kann somit auch nicht verlinkt werden. </span><br>
    <p> 

    </p>
    <form method="post" enctype="application/x-www-form-urlencoded">
      <div id="eingabe">
    <table width="573" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th width="164" height="35" scope="col">Charaktername: </th>
        <th width="392" scope="col"><input name="char" type="text" size="20" class="textbox"></th>
        </tr>
      <tr>
        <th height="35" class="desc" scope="row">Klasse:</th>
        <td><select name="klasse" id="idklasse">
          <option>Gladiator</option>
          <option>Templer</option>
          <option>Assassine</option>
          <option value="J&auml;ger">J&auml;ger</option>
          <option value="Beschw&ouml;rer">Beschw&ouml;rer</option>
          <option>Zauberer</option>
          <option>Kantor</option>
          <option>Kleriker</option>
        </select></td>
        </tr>
      <tr>
        <th height="35" scope="row">Fraktion:</th>
        <td><select name="fraktion" id="fraktion">
          <option>Elyos</option>
          <option>Asmodier</option>
        </select></td>
        </tr>
      <tr>
        <th height="35" scope="row">Legion:</th>
        <td><input name="legion" type="text" size="20" class="textbox"></td>
      </tr>
      <tr>
        <th height="35" scope="row">Face</th>
        <td><select name="face" id="face">
          <option value="">None</option>
           <option value="face1.png">Face 1</option>
          <option value="face2.png">Face 2</option>
          <option value="face3.png">Face 3</option>
          <option value="face4.png">Face 4</option>
          <option value="face5.png">Face 5</option>
          <option value="face6.png">Face 6</option>
          <option value="face7.png">Face 7</option>
          <option value="face8.png">Face 8</option>
          <option value="face9.png">Face 9</option>

        </select></td>
      </tr>
      <tr>
        <th height="35" scope="row">Rahmen</th>
        <td><select name="rahmen" id="rahmen">
          <option value="">None</option>
          <option value="rahmen1.png">Rahmen 1</option>
          <option value="rahmen2.png">Rahmen 2</option>
          <option value="rahmen3.png">Rahmen 3</option>
        </select></td>
      </tr>
    </table>
    <br>
    <input type="submit" class="button" value="Signatur erstellen">
    </div>
    <div id="banner">
      <table width="440">
      <tr>
          <td width="30" height="110"><label>
            <input type="radio" name="banner" value="siggenbg4.png" id="RadioGroup1_00">
          </label></td>
          <td width="410"><img src="/~files/siggenbeta/preview/pre_siggibg4.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg5.png" id="RadioGroup1_0" >
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg5.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg6.png" id="RadioGroup1_1">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg6.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg7.png" id="RadioGroup1_2">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg7.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg8.png" id="RadioGroup1_3">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg8.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg9.png" id="RadioGroup1_4">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg9.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg10.png" id="RadioGroup1_5">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg10.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg11.png" id="RadioGroup1_6">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg11.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg12.png" id="RadioGroup1_7">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg12.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg13.png" id="RadioGroup1_8">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg13.jpg" alt="" width="400" height="100"></td>
        </tr>
        <tr>
          <td height="110"><label>
            <input type="radio" name="banner" value="siggenbg14.png" id="RadioGroup1_9">
          </label></td>
          <td><img src="/~files/siggenbeta/preview/pre_siggibg14.jpg" alt="" width="400" height="100"></td>
        </tr>
      </table>
      </div>
      <br>
      <input type="submit" class="button" value="Signatur erstellen">
    </form>
    </div>
    </body>
    </html>
    Die absig.php ;

    PHP-Code:
    <?php

    header
    ("Content-Type: image/png; charset=iso-8859-1");

    // Variablen aus index.php Übergabe nehmen
    $banner $_GET['banner'];
    $face $_GET['face'];
    $rahmen $_GET['rahmen'];
    $fraktion $_GET['fraktion'];
    $mdsumme $_GET['mdsumme'];

    // Fixes the encoding for class
    function umlWorkaround1($klasse) {
        
    $klasse = (string) $klasse;
        
    $klasse_out "";

        for(
    $i 0$n =  strlen($klasse); $i $n$i++) {
            
    $klasse_out .= "&#" ord($klasse[$i]) . ";";
            }

            return 
    $klasse_out;
            }

            
    $klasse rawurldecode($_GET['klasse']);
            
    $klasse umlWorkaround1($klasse);

    // Fixes the encoding for char
    function umlWorkaround2($char) {
        
    $char = (string) $char;
        
    $char_out "";

        for(
    $i 0$n =  strlen($char); $i $n$i++) {
            
    $char_out .= "&#" ord($char[$i]) . ";";
            }

            return 
    $char_out;
            }

            
    $char rawurldecode($_GET['char']);
            
    $char umlWorkaround2($char);
            
    // Fixes the encoding for legion
    function umlWorkaround3($legion) {
        
    $legion = (string) $legion;
        
    $legion_out "";

        for(
    $i 0$n =  strlen($legion); $i $n$i++) {
            
    $legion_out .= "&#" ord($legion[$i]) . ";";
            }

            return 
    $legion_out;
            }

            
    $legion rawurldecode($_GET['legion']);
            
    $legion umlWorkaround3($legion);
            
    //Erster Aufruf, preload Siggipreview
      
    if($banner == "")
        {
            
    $im imagecreatefrompng("http://www.aion-base.de/~files/siggenbeta/bg/siggenbg4.png"); 
        }
      else
        {
            
    $im imagecreatefrompng("http://www.aion-base.de/~files/siggenbeta/bg/".$banner);
        }
        
    $user_width imagettfbbox(7.50"fonts/visitor.ttf"$klasse);

            
    $size_char 24;

    //Position Klassenname
    $x_value 5;
    $y_value 95;
    //Position Charaktername
    $x_value_1 155;
    $y_value_1 30;
    //Position Legion
    $x_value_3 185;
    $y_value_3 55;
    //Position Fraktion
    $x_value_4 $user_width[2] + 22;
    $y_value_4 95;
    //Position Spruch
    $x_value_5 221;
    $y_value_5 89;

    // Fonts
    $klassenfont "fonts/visitor.ttf" ;
    $fraktionsfont "fonts/visitor.ttf" ;


    $color imagecolorallocate($im000);
    $charcolor imagecolorallocate($im000);
    $textcolor2 imagecolorallocate($im255255255);
    $legioncolor imagecolorallocate($im000);

    // imagecopy(hauptbild, zu kopierndes bild, start x axis im hauptbild, start y axis im hauptbild, 0, 0, größe vom kopierten bild breite , größe vom kopierten bild höhe ); // aion-base.de
    if($face != "")
        {
        
    $im2 imagecreatefrompng("http://www.aion-base.de/~files/siggenbeta/side/".$face);
        
    imagecopy($im$im24400392,92); // aion-base.de
        
    }
    if(
    $rahmen != "")
        {
        
    $im2 imagecreatefrompng("http://www.aion-base.de/~files/siggenbeta/side/".$rahmen); 
        
    imagecopy($im$im24400392,92); // aion-base.de
        
    }

    //Kontur Klasse
    $fontfile $klassenfont;
    $cattitle $klasse." -";
    $fontsize 7.5 ;
    $x $x_value;
    $y $y_value;   

        
    imagettftext($im$fontsize0$x-1$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y+1$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im7.50$x_value$y_value$color$klassenfont$klasse." -"); // Klassenname

    //Kontur Charaktername
    $fontfile "fonts/font1.ttf";
    $cattitle $char;
    $fontsize $size_char ;
    $x $x_value_1;
    $y $y_value_1;

        
    imagettftext($im$fontsize0$x-1$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y+1$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y-1$textcolor2$fontfile$cattitle); 

    imagettftext($im$size_char0$x_value_1$y_value_1$charcolor"fonts/font1.ttf"$char); // Charaktername

    //Kontur Legion

    $fontfile "fonts/font1.ttf";
    $cattitle $legion;
    $fontsize 15 ;
    $x $x_value_3;
    $y $y_value_3;

        
    imagettftext($im$fontsize0$x-1$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y+1$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im150$x_value_3$y_value_3$legioncolor"fonts/font1.ttf"$legion); // Legion

    //Kontur Fraktion

    $fontfile $fraktionsfont;
    $cattitle $fraktion;
    $fontsize 7.5 ;
    $x $x_value_4;
    $y $y_value_4;

        
    imagettftext($im$fontsize0$x-1$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y+1$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im7.50$x_value_4$y_value_4$color$fraktionsfont$fraktion); // Fraktion

    // Kontur aion-base.de
    $fontfile $fraktionsfont;
    $cattitle "Aion-Base.de";
    $fontsize 7.5 ;
    $x 335;
    $y 95;

        
    imagettftext($im$fontsize0$x-1$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y+1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y+1$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y$textcolor2$fontfile$cattitle); 
         
        
    imagettftext($im$fontsize0$x-1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im$fontsize0$x+1$y-1$textcolor2$fontfile$cattitle); 
        
    imagettftext($im7.50$x$y$color$fraktionsfont"Aion-Base.de"); // aion-base.de

    //erstelle Bild (Dateierstellung erstmall deaktiviert
    imagepng($im);//, 'sigs/'.$mdsumme.'aion_base_sig.png',8);
    imagedestroy($im);
    ?>
    Das ganze dann mal als Live-Ansicht
    http://www.aion-base.de/~files/siggenbeta/

    Mit dem Bild erstellen klappt alles ganz gut ->



    Nur heißt das Bild nicht erstellt12345.png sondern
    Code:
    http://www.aion-base.de/~files/siggenbeta/absig.php?char=Garog&klasse=Gladiator&fraktion=Elyos&legion=Eternally&face=face1.png&rahmen=rahmen1.png&banner=siggenbg21.png
    Das Bild selbst als Datei zu erstellen ist auch kein Problem, dazu müsste ich nur das auskommentierte beim imagepng wegnehmen.
    Code:
    imagepng($im);//, 'sigs/'.$mdsumme.'aion_base_sig.png',8);
    --> imagepng($im, 'sigs/'.$mdsumme.'aion_base_sig.png',8);
    ich weißt jetzt nur nicht wie ich das Bild dann auf der index.php auch wieder als .png anzeigen lassen kann und das möglichst ohne das Formular zu leeren...

    Ich hoffe ihr habt genug Infos, wenn nicht immer her mit den Fragen

  • #2
    ich weißt jetzt nur nicht wie ich das Bild dann auf der index.php auch wieder als .png anzeigen lassen kann und das möglichst ohne das Formular zu leeren...
    Öhm, verstehe gerade das Problem nicht so ganz:
    Code:
    <img src="erstellt12345.png" alt="" width="" height="" />
    Natürlich mit Pfad....

    Als letzte "herrausforderung" würde ich gerne die eingegebenen Werte aus dem Formular in den Feldern behalten, bisher habe ich das Problem das nach dem Absenden die Eingabefelder und Pulldownmenüs wieder leer sind bzw auf alten Zustand stehen.
    Affenformular (Standardverfahren) - PHP.de Wiki
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Dazu muss das Bild beim ersten Seitenaufruf aber auch vorhanden sein

      das ist es aber nicht, es wird erst nach dem absenden des Formulars erstellt.
      Das wäre noch nicht mal so schlimm, mein Problem ist nur wenn ich auf "erstellen" klicke, lädt er die Seite neu, erstellt das png Bild aber zeigt es nicht an, erst nach dem drücken von "F5"

      Danke für den Link sieht danach aus als wenn es genau das ist was ich wollte

      *mal schlau ließt*

      Kommentar


      • #4
        Dann prüfe doch zunächst auf die Existenz des Bildes:

        PHP-Code:
        // bild existiert noch nicht oder soll erneuert werden
        if (!file_exists('foo.png') || isset($_POST["rebuild"])) {
          echo 
        '<img src="absig.php?param1=value1" alt="" width="" height="" />';
        } else {
          echo 
        '<img src="foo.png" alt="" width="" height="" />';

        Kommt das deinem Problem etwas näher?
        [URL]http://hallophp.de[/URL]

        Kommentar


        • #5
          Jaein

          Das Problem habe ich in der absig.php so gelöst :

          PHP-Code:
          if($banner == ""
              { 
                  
          $im imagecreatefrompng("http://www.aion-base.de/~files/siggenbeta/bg/siggenbg4.png");  
              } 
            else 
              { 
                  
          $im imagecreatefrompng("http://www.aion-base.de/~files/siggenbeta/bg/".$banner); 
              } 
          beim ersten Aufruf wird kein Wert "banner" mit übergeben, wenn dies der fall ist lade ich einfach das erste Banner.

          Ich habe da gerade eine Idee zu deinem Ansatz, ich probiere mal kurz etwas aus feedback kommt gleich

          Kommentar


          • #6
            Schade.. das gleiche Problem wie vorher...

            also,

            ich erstelle mit dem Code ->

            PHP-Code:
            <?php function RandomString($length=4,$chars='abcdefghijklmnpqrstuvwxyz'){ 
                    
            $result ''
                    for(
            $i=0;$i<$length;$i++) { $result .= $chars[mt_rand(0,strlen($chars)-1)]; } 
                    return 
            $result
                }  
                
            $code md5(RandomString(5));
            einen zufälligen String.
            Dieser wird bei jedem Aufruf bzw bei jedem absenden des Formulars erneut generiert.
            Das erstelle Bild heißt dann z.B.:
            Code:
            6471aa01f9d93c6757e375d2291208a3aion_base_sig.png
            Wenn ich auf der index.php Seite nun versuche das Bild wie folgt einzubinden :

            PHP-Code:
            <img name="picture" src="/~files/siggenbeta/sigs/<?php echo($code."aion_base_sig.png"?>" border="0" height="100" width="400">
            dann ist der Bildlink auch richtig, allerdings wird das Bild nicht angezeigt,
            erst wenn ich auf das Bild gehe und "Bild neu laden" klicke wird es angezeigt.

            Die ganze Seite einfach neu zu laden geht leider nicht da sonst ein neuer String erstellt wird und ich stehe vor dem gleichen Problem, Link richtig aber Bild wird nicht angezeigt. Teufelschleife ^^

            Kommentar


            • #7
              Ja, ich glaube das Bild existiert erst nach Beendigung des Scripts (bitte verbessern falls ich mich irre).

              Funktioniert es mit:

              Code:
              imagepng($im);
              imagepng($im, 'sigs/'.$mdsumme.'aion_base_sig.png',8);
              ?
              [URL]http://hallophp.de[/URL]

              Kommentar


              • #8
                geht so leider auch nicht

                wobei ich glaube du meintest was anderes bzw hast mich falsch verstanden.
                das bild wird angelegt und ist auch in dem ordner vorhanden nach dem absenden des formulars...

                nur zeigt er es nicht als bild anschließend an. erst wenn ich nur die grafik neu lade geht es.

                Kommentar


                • #9
                  Zitat von Garog Beitrag anzeigen
                  wobei ich glaube du meintest was anderes bzw hast mich falsch verstanden.
                  das bild wird angelegt und ist auch in dem ordner vorhanden nach dem absenden des formulars...
                  Nein, habe dich schon so verstanden, doch ich glaube, dass das Bild zur Laufzeit des Scripts noch nicht verfügbar ist, sprich, du kannst es nicht über das <img> - Tag laden. Das merkst du auch an:
                  Zitat von Garog
                  erst wenn ich auf das Bild gehe und "Bild neu laden" klicke wird es angezeigt.
                  Du könntest die Logik deines Programms etwas ändern. Ich weiß nicht genau, ob ich den Ablauf deines Programms verstanden habe, aber du könntest doch z.B. das Formular an dein Signaturscript schicken. Dieses speichert die Grafik in deinem Verzeichnis ab und leitet über PHP: header - Manual an das Formular zurück. Dabei übergibt es den Grafikcode über einen Parameter in der URL, den du dann bei
                  PHP-Code:
                  <?php echo($code."aion_base_sig.png"?>
                  verwenden kannst, um deine Grafik zu laden.

                  Vielleicht findest du auch noch eine elegantere Lösung.

                  Gruß
                  [URL]http://hallophp.de[/URL]

                  Kommentar


                  • #10
                    ist auch eine schöne Idee

                    ich habe es jetzt so realisiert :

                    PHP-Code:
                    imagepng($im);
                    if (
                    $generate == "generate") {
                    imagepng($im 'sigs/'.$mdsumme.'aion_base_sig.png' 8);

                    so späm ich mir auch nicht den server mit vorschaubildern zu.
                    das eigentliche bild wird jetzt immer direkt angezeigt da es ja das php skript selbst ist.

                    und ist derjenige zufrieden, gibt es einen generate button. dieser erstellt die signatur und speichert diese auf dem server ab.
                    ebenfalls wird in zwei textfeldern der link als HTML code ausgegeben und als BBCode für Foren.

                    Jetzt habe ich allerdings noch ein anderen Problemchen.
                    Das mit den Formularfeldern...
                    Dank deines Links habe ich die Textfelder schon so geändert, das nun nach dem Absenden der alte wert wieder drin steht.

                    Auch die Pulldown/Dropdown Menüs funktionieren, wenn ich es nach dem Beispiel der verlinkten Seite mache.

                    Allerdings habe ich dann ein anderes Problem.
                    Der Name des Textfeldes wird dort als Array angegeben.

                    wie bekomme ich den nun den gewählten wert später bei einer

                    PHP-Code:
                    $_REQUEST[klasse
                    wieder herraus ???

                    Blöd gesagt glaube ich.

                    Bisher sieht das Pulldownmenü so aus

                    PHP-Code:
                    <select name="klasse" id="idklasse">
                            <
                    option value="">Bitte w&auml;hlen</option>
                            <
                    option value="Gladiator">Gladiator</option>
                            <
                    option value="Templer">Templer</option>
                            <
                    option value="Assassine">Assassine</option>
                            <
                    option value="J&auml;ger">J&auml;ger</option>
                            <
                    option value="Beschw&ouml;rer">Beschw&ouml;rer</option>
                            <
                    option value="Zauberer">Zauberer</option>
                            <
                    option value="Kantor">Kantor</option>
                            <
                    option value="Kleriker">Kleriker</option>
                          </
                    select
                    und später ermittel ich über
                    PHP-Code:
                    $_REQUEST[klasse
                    die auswahl des users

                    wenn ich es so mache wie im beispiel auf der verlinkten seite

                    PHP-Code:
                          <?php
                    function selected ($key $value)
                    {
                      if (
                    false === in_array($value $_POST[$key])) {
                          return 
                    '';
                      }
                      return 
                    'selected="selected"';
                    }
                     
                    ?>
                    <select name="klasse[]" id="idklasse">
                            <option value="">Bitte w&auml;hlen</option>
                            <option value="Gladiator" <?php echo selected ('klasse' 'Gladiator'); ?>>Gladiator</option>
                            <option value="Templer" <?php echo selected ('klasse' 'Templer'); ?>>Templer</option>
                            <option value="Assassine" <?php echo selected ('klasse' 'Assassine'); ?>>Assassine</option>
                            <option value="J&auml;ger" <?php echo selected ('klasse' 'J&auml;ger'); ?>>J&auml;ger</option>
                            <option value="Beschw&ouml;rer" <?php echo selected ('klasse' 'Beschw&ouml;rer'); ?>>Beschw&ouml;rer</option>
                            <option value="Zauberer" <?php echo selected ('klasse' 'Zauberer'); ?>>Zauberer</option>
                            <option value="Kantor" <?php echo selected ('klasse' 'Kantor'); ?>>Kantor</option>
                            <option value="Kleriker" <?php echo selected ('klasse' 'Kleriker'); ?>>Kleriker</option>
                          </select>
                    dann geht das
                    PHP-Code:
                    $_REQUEST[klasse
                    nicht mehr

                    Kommentar


                    • #11
                      so, ich habs dank eines neuen beitrags selbst hinbekommen.

                      http://www.php.de/php-einsteiger/46089-affenformular-textarea-sowie-option-value-geht-nicht.html#post354738


                      erstmal bin ich weg von $_request und nutze nun $_post.
                      Formularmethode war sogar schon "post"

                      Bei mir sieht es jetzt genau so aus.

                      PHP-Code:
                                  <option value="Gladiator" <?PHP if($_POST['klasse'] == "Gladiator") echo 'selected="selected"'?>>Gladiator</option>
                                  <option value="Templer" <?PHP if($_POST['klasse'] == "Templer") echo 'selected="selected"'?>>Templer</option>
                      und weiter "oben" habe ich
                      PHP-Code:
                      $klasse '&klasse='.rawurlencode($_REQUEST['klasse']); 
                      durch

                      PHP-Code:
                      $klasse '&klasse='.rawurlencode($_POST['klasse']); 
                      ersetzt. Nun merkt er sich auch nach dem absenden des formulars was in dem pulldown menü ausgewählt wurde.

                      Thema erledigt

                      Kommentar


                      • #12
                        Mal ne kleine Frage.
                        Kann man dein Script irgendwo downloaden ? Genau das suche ich.
                        Besser wäre es, wenn aber die erstellten Pics auf meinem Webspace gespeichert werden würden.
                        Bin auch bereit dafür was zu zahlen.

                        Ich suche jetzt schon lange nach nem banner generator. Aber ich hätte gerne nen eigenen und nicht einen vorgegebenen aus dem Online Angebot.

                        Kommentar


                        • #13
                          Sollte kein Problem sein, habe das ganze allerdings danach noch weiter optimiert.

                          Brauchst du es für Aion oder einfach nur die Funktion ansich ?

                          Das es bei dir auf dem Webspace gespeichert wird, ist ja Sinn der Sache, so wollte ich es auch haben

                          Schau es dir einfach mal an und sag mir was genau du davon brauchst ^^ Also welche Funktionen. Willst du die Schrift auch ändern lassen ? etc etc ... Einfach mal deine Vorstellung zutragen. Ich habe da noch so viel Kram drin den du sicher nicht brauchst, und bevor ich das zum Download bereit stelle, würde ich es nochmal kurz "verfeinern"

                          Link : Siggen Aion-Base

                          Die aion-base.de Seite ist down, da ich sehr enttäuscht von Aion war, nicht wundern wenn die Links im Generator nicht gehen

                          Kommentar


                          • #14
                            Dein Script schaut gut aus.

                            Was ich suche ist:

                            Auswahl von Hintergründen ca 450 x 100


                            Auswahl von Rahmen


                            Auswahl von Logos



                            Sollte dann ca so aussehen:


                            Das wäre also:
                            -Hintergrund
                            -Rahmen
                            -Logo 1
                            -Logo 2
                            -Level Auswahl (Zahl von 1 bis 100)
                            -Clan (Textfeld)
                            -Name(Textfeld)

                            Und das Bild muss gespeichert werden, so das es der Ersteller nicht abspeichern und erneut wieder hochladen muss.
                            Habe eigene4s Webspace bei Goneo.de
                            Cool wäre sogar, wenn man dieses jederzeit wieder ändern kann.(Level & Co).
                            So das überall wo das Bild in Foren benutzt wird sich automatisch Aktualisiert.

                            Hintergründe und Logos, sowie die Rahmen können von mir erstellt werden. Suche und brauche nur das Script in dieser Richtung.

                            Danke für die Antwort, freue mich schon was davon alles realisierbar ist.

                            Kommentar


                            • #15
                              generell lässt sich alles bis auf eine sache machen, bzw ist ja bereits enthalten.

                              was nicht so einfach geht, bzw mir so spontan einfällt, ist das nachträgliche ändern der bilder.

                              ich habe es bei mir so, dass ich das datum und uhrzeit nehme, daraus eine MD5 summe generiere und diese als dateiname nehme zum abspeichern.

                              man könnte es so machen das der user den namen seiner datei auswählen kann und somit diesen später auch wieder überschreiben kann, allerdings wirst dann nen problem bekommen wenn frank von abc sein logo erstellt mit dem namen frankslogo und dann frank von def sein logo erstellt mit dem namen frankslogo ^^

                              vll hat da ja jemand anderes ne idee zu, ich hätte so spontan keine um die eine datei die hinterlegt ist dann auch so wieder neu zu machen, ohne das andere nutzer einfach mutwillig oder zufällig anderen benutzer die logos überschreiben.

                              Kommentar

                              Lädt...
                              X