Header eines Bildes

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

  • #16
    Und wenn der Admin, wenn er noch das alte Bild sieht, einfach Ctrl+F5 drückt?
    Ich kann schlecht den Admin (der ja doch noch user ist, er ist nur Gildenadministrator) zwingen, die ganze Zeit ctrl f5 zu drücken oO

    @pekka:
    Warum nicht?
    Tatsächlich oO Das geht... Ich wusste nicht dass man GET-Parameter an ein Bild anhängen kann ^^

    Also damit ist doch eine Akzeptable Lösung gefunden

    Danke allen für ihre Bemühungen (! ^^) und MfG
    Onyx
    Zuletzt geändert von Onyxagargaryll; 11.06.2008, 10:42.

    Kommentar


    • #17
      Ich kann schlecht den Admin (der ja doch noch user ist, er ist nur Gildenadministrator) zwingen, die ganze Zeit ctrl f5 zu drücken oO
      Dann wirst du auch nie ein Wiki installieren, denn dort darfst du das regelmässig machen, um Änderungen zu sehen
      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


      • #18
        Dann wirst du auch nie ein Wiki installieren, denn dort darfst du das regelmässig machen, um Änderungen zu sehen
        Das ändern des Bildes kann sich übrigens im auch im Sekundentakt ändern
        Erstens wird das aber beim Wiki kaum der Fall sein und zweitens habe ich dann nicht das Bedürfnis, jede Sekunde den neuen Eintrag zu lesen ^^

        MfG
        Onyx

        EDIT:
        OffTopic:
        Hmm das zweite Zitat klingt ziemlich merkwürdig oO Kommt davon wenn ein Schweizer versucht, deutsche Sätze zu bilden..
        Zuletzt geändert von Onyxagargaryll; 11.06.2008, 10:51.

        Kommentar


        • #19
          Hallo, ich habe eine ähnliche Problematik, deswegen stelle ich mein Problem auch hier gleich mit rein.

          Ich brauche ein Skript, das Diagramme erzeugt. Ich habe mir diesmal nicht viel Arbeit gemacht und eins gesucht was das kann und entsprechend angepasst.

          Nun zum Problem, in dem Skript gibts die Zeile

          PHP-Code:
          header("Content-type: image/png"); 
          Das Diagramm soll innerhalb einer Tabelle erzeugt werden. Geht aber wegen dem Header nicht der gibt mit Tabelle nur Müll aus. Deswegen belesen und rausgefunden, das kein echo über dem header stehen darf.

          Im Beitrag hier wurde vorgeschlagen, das man das Bild über <img src... einbindet. Das könnte ich versuchen, aber im Skript vom Bild wird eine DB ausgelesen. Wie komm ich denn da nun an die Abfrage ran, wenn es über <img src... aufgerufen wird?

          Mfg Simauki

          Kommentar


          • #20
            Im Beitrag hier wurde vorgeschlagen, das man das Bild über <img src... einbindet
            Vorgeschlagen? Das ist so wie der Vorschlag, daß man im Flugzeug drin und nicht auf dem Triebwerk sitzen sollte

            Zeig mal etwas Code. Ich verstehe das Problem noch nicht wirklich. Ob Du das Skript direkt aufrufst oder als Bild einbindest, ist egal. Der darin befindliche Code wird immer ausgeführt. Variablen ans Bild übergeben tust du mit GET-Parametern:

            <img src='bildname.php?variable=wert&variable2=wert2.....

            Kommentar


            • #21
              Hallo, der Code des Skriptes für das Diagramm sieht so aus:

              PHP-Code:

              //Konfiguration

              include 'variablen.php';

              //Datenbank

              $link = @mysql_connect ($host,$user,$passwd);

              $dateiopen 'auswertung.txt';

              $fp fopen $dateiopen 'r' );

              $str fread $fpfilesize $dateiopen ) );

              fclose $fp );

              $datenbank ereg_replace 'aktuelle_datenbank='''$str );

              $tabelle "bilanz";

              //Allgemeine Diagrammdaten

              $Diagrammbreite 500;
              $Diagrammhoehe 400;

              $Diagrammtitel "Besucherauswertung";

              //Ränder & Abstände

              $AbstandAussen 3;

              $RandOben 30;
              $RandLinks 30;
              $RandUnten 80;
              $RandRechts 20;

              //Diagrammfarben

              $HintergrundfarbeR 255;
              $HintergrundfarbeG 255;
              $HintergrundfarbeB 255;

              $HintergrundfarbeAuswertungsbereichR 224;
              $HintergrundfarbeAuswertungsbereichG 224;
              $HintergrundfarbeAuswertungsbereichB 224;

              $TextfarbeR 64;
              $TextfarbeG 64;
              $TextfarbeB 64;

              $AchsenfarbeR 0;
              $AchsenfarbeG 0;
              $AchsenfarbeB 0;

              $BalkenfarbeR 32;
              $BalkenfarbeG 128;
              $BalkenfarbeB 196;

              #######################################

              //Daten aus der MySQL-Tabelle auslesen

              mysql_select_db($datenbank$link);

              $result mysql_query("select umsatz umsatz, jahr jahr from $tabelle where firma=2 order by jahr"$link);

              for(
              $i=0$XWerte=""$YWerte=""$i<mysql_num_rows($result); $i++)
              {
                 
              $Besucher mysql_fetch_object($result);
                 
              $XWerte[] = $Besucher->jahr;
                 
              $YWerte[] = $Besucher->umsatz;
              }

              //Festlegung der Minima und Maxima der X- und Y-Werte

              $XMin 0;
              $XMax count($XWerte);

              $Tmp $YWerte;
              sort($Tmp);
              $YMin $Tmp[0];
              rsort($Tmp);
              $YMax $Tmp[0];

              //Festlegung des Inhalttyps für den Webbrowser

              header("Content-type: image/png");
              $Grafik imagecreatetruecolor($Diagrammbreite$Diagrammhoehe);

              //Festlegung der verwendeten Farben

              $Textfarbe imagecolorallocate($Grafik$TextfarbeR$TextfarbeG$TextfarbeB);
              $Hintergrundfarbe imagecolorallocate($Grafik$HintergrundfarbeR$HintergrundfarbeG$HintergrundfarbeB);
              $HintergrundfarbeAuswertungsbereich imagecolorallocate($Grafik
              $HintergrundfarbeAuswertungsbereichR$HintergrundfarbeAuswertungsbereichG$HintergrundfarbeAuswertungsbereichB);
              $Achsenfarbe imagecolorallocate($Grafik$AchsenfarbeR$AchsenfarbeG$AchsenfarbeB);
              $Balkenfarbe imagecolorallocate($Grafik$BalkenfarbeR$BalkenfarbeG$BalkenfarbeB);

              //Allgemeinen Hintergrund und Auswertungsbereich einfärben

              imagefill($Grafik00$Hintergrundfarbe);
              imagefilledrectangle($Grafik$AbstandAussen+$RandLinks
              $AbstandAussen+$RandOben$Diagrammbreite-1-$AbstandAussen-$RandRechts$Diagrammhoehe-1-$AbstandAussen-$RandUnten
              $HintergrundfarbeAuswertungsbereich);

              //Allgemeine Berechnungen zur X- und Y-Achse

              if($YMax>10)
              {
                 
              $YMaxAbstand 10;
              }
              else
              {
                 
              $YMaxAbstand $YMax;
              }

              $YAbstand = ($Diagrammhoehe-2*$AbstandAussen-$RandOben-$RandUnten-10)/$YMaxAbstand;
              $YWertHoehe = ($Diagrammhoehe-2*$AbstandAussen-$RandOben-$RandUnten-10)/$YMax;
              $XAbstand = ($Diagrammbreite-2*$AbstandAussen-$RandRechts-$RandLinks-10)/$XMax;
              $Balkendicke = ($XAbstand-4)/2;

              //Hilfslinien einzeichnen

              imagesetstyle($Grafik, array($Achsenfarbe$AchsenfarbeIMG_COLOR_TRANSPARENTIMG_COLOR_TRANSPARENT));

              for(
              $i=0$i<$YMaxAbstand$i++)
              {
                 
              imageline($Grafik$AbstandAussen+$RandLinks$AbstandAussen+$RandOben+10+($YAbstand*$i), $Diagrammbreite-$AbstandAussen-$RandRechts-1
              $AbstandAussen+$RandOben+10+($YAbstand*$i), IMG_COLOR_STYLED);
              }

              //X-Achse einzeichnen

              imageline($Grafik$AbstandAussen+$RandLinks$Diagrammhoehe-$AbstandAussen-$RandUnten$Diagrammbreite-$AbstandAussen-$RandRechts
              $Diagrammhoehe-$AbstandAussen-$RandUnten$Achsenfarbe);
              imageline($Grafik$AbstandAussen+$RandLinks
              $Diagrammhoehe-$AbstandAussen-$RandUnten-1$Diagrammbreite-$AbstandAussen-$RandRechts
              $Diagrammhoehe-$AbstandAussen-$RandUnten-1$Achsenfarbe);
              for(
              $i=0$i<$XMax$i++)
              {
                 
              imageline($Grafik$AbstandAussen+$RandLinks+($XAbstand*$i)+($XAbstand/2+3), $Diagrammhoehe-$AbstandAussen-$RandUnten-2
              $AbstandAussen+$RandLinks+($XAbstand*$i)+($XAbstand/2+3), 
              $Diagrammhoehe-$AbstandAussen-$RandUnten+2$Achsenfarbe);
                 
              imagestringup($Grafik1$AbstandAussen+$RandLinks+($XAbstand*$i)+($XAbstand/2), 
              $Diagrammhoehe-$AbstandAussen-$RandUnten+4+(imagefontwidth(1)*strlen($XWerte[$i])), $XWerte[$i], $Achsenfarbe);
              }

              //Y-Achse einzeichnen

              imageline($Grafik$AbstandAussen+$RandLinks$AbstandAussen+$RandOben$AbstandAussen+$RandLinks$Diagrammhoehe-$AbstandAussen-$RandUnten$Achsenfarbe);
              imageline($Grafik$AbstandAussen+$RandLinks+1
              $AbstandAussen+$RandOben$AbstandAussen+$RandLinks+1$Diagrammhoehe-$AbstandAussen-$RandUnten$Achsenfarbe);
              for(
              $i=0$i<=$YMaxAbstand$i++)
              {
                 
              imageline($Grafik$AbstandAussen+$RandLinks-2$AbstandAussen+$RandOben+10+($YAbstand*$i), $AbstandAussen+$RandLinks+2$AbstandAussen+$RandOben+10+($YAbstand*$i), $Achsenfarbe);
                 if(
              $YMax>10)
                 {
                    
              imagestring($Grafik1$AbstandAussen+$RandLinks-4-(imagefontwidth(1)*strlen(round($YMax-(($YMax/10)*$i), 0))), 
              $AbstandAussen+$RandOben+10-(imagefontheight(1)/2)+($YAbstand*$i), round($YMax-(($YMax/10)*$i), 0), $Achsenfarbe);
                 }
                 else
                 {
                    
              imagestring($Grafik1$AbstandAussen+$RandLinks-4-(imagefontwidth(1)*strlen($YMax-$i)), $AbstandAussen+$RandOben+10-(imagefontheight(1)/2)+($YAbstand*$i), $YMax-$i$Achsenfarbe);
                 }
              }

              //Werte einzeichnen

              for($i=0$i<$XMax$i++)
              {
                 
              imagerectangle($Grafik$AbstandAussen+$RandLinks+($XAbstand*($i+1))-($XAbstand/2-3)-$Balkendicke$Diagrammhoehe-$AbstandAussen-$RandUnten-($YWertHoehe*$YWerte[$i]), 
              $AbstandAussen+$RandLinks+($XAbstand*($i+1))-($XAbstand/2-3)+$Balkendicke$Diagrammhoehe-$AbstandAussen-$RandUnten
              $Achsenfarbe);
                 
              imagefilledrectangle($Grafik$AbstandAussen+$RandLinks+($XAbstand*($i+1))-($XAbstand/2-3)-$Balkendicke+1,

               
              $Diagrammhoehe-$AbstandAussen-$RandUnten-($YWertHoehe*$YWerte[$i])+1
              $AbstandAussen+$RandLinks+($XAbstand*($i+1))-($XAbstand/2-3)+$Balkendicke-1
              $Diagrammhoehe-$AbstandAussen-$RandUnten-2$Balkenfarbe);
              }

              //Diagrammtitel einzeichnen

              imagestring($Grafik5$AbstandAussen+$RandLinks+($Diagrammbreite-(2*$AbstandAussen+$RandLinks+$RandRechts)-imagefontwidth(5)*strlen($Diagrammtitel))/2
              $AbstandAussen$Diagrammtitel$Textfarbe);

              // Ausgabe des Bildes und Freigabe des belegten Speichers

              imagepng($Grafik);
              imagedestroy($Grafik); 
              Dieser PHP Code soll hier dazwischen:

              <html>

              <head>

              <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <!--Datei verwendet Europäische Buchstaben, Umlaute als Umschrift!!!-->
              <meta http-equiv="expires" content="0"> <!--Datei wird vom Originalserver verwendet, also nicht aus dem Proxy...-->
              <meta name="keywords" content="Baumogul, Planspiel, HTWK, Leipzig, Stephan Riedrich, Unternehmenssimulation"> <!--Stichwörter für Suchmaschinen-->
              <meta name="author" content="Stephan Riedrich">
              <meta name="description" content="Baumogul - das Unternehmensplanspiel für Interaktives Lernen">
              <meta http-equiv="Content-Style-Type" content="text/css">

              <title>Baumogul - Modul 3: Auswertung</title>

              <link rel=shortcut icon href=favicon.ico>
              <link rel=stylesheet type=text/css href=schrift.css>

              </head>

              <body>

              <table style="width:100%;"><tr><td align="center">

              <table cellspacing="0px" cellpadding="0px">

              <tr><td align="center"><img src="images/background/banner.jpg"></td></tr>
              <tr><td align="center">

              [COLOR=red]hier soll das php rein...[/COLOR]

              </td></tr></table>

              </td></tr></table>

              </body>

              </html>

              Wenn das php allein steht, ohne echos, gehts, ansonsten mit dem HTML-Gerüst kommt

              Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\projekt_aus_neu\auswertung2.php:10) in C:\xampp\htdocs\projekt_aus_neu\auswertung2.php on line 89

              line 89 ist die Header-Info.

              MfG Simauki
              Zuletzt geändert von simauki; 12.06.2008, 17:33.

              Kommentar


              • #22
                Einfach einbinden mit <img src=>! Wo ist das Problem?

                Unn bitte Code umbrechen, wie in den Regeln beschrieben.

                Kommentar


                • #23
                  Hallo, ja ich kämpfe grad mit dem Codeumbrechen.

                  Das Problem liegt in der Zeile

                  PHP-Code:
                  $result mysql_query("select umsatz umsatz, jahr jahr from $tabelle where firma=2 order by jahr"$link); 
                  umsatz und firma können andere Werte haben. Firma 1-10 und statt Umsatz, personal, verlust gewinn....

                  Mfg Simauki

                  Kommentar


                  • #24
                    Wo ist das Problem?

                    Kommentar


                    • #25
                      OK, das habe ich nicht gesagt, das ist nur das Test-Skript. Später sollen die abgefragten Datenfelder und die Firma mit einem Formular an das Skript übergeben werden. Das geht ja aber nicht, wenn ich das Skript über <img src... einbinde. Wie sage ich dann bitte dem Skript das es nach Firma 10 suchen soll, oder nicht nach umsatz, sondern nach Personal.

                      MfG Simauki

                      Kommentar


                      • #26
                        Hab ich schon vor 5 Posts gesagt:

                        Ob Du das Skript direkt aufrufst oder als Bild einbindest, ist egal. Der darin befindliche Code wird immer ausgeführt. Variablen ans Bild übergeben tust du mit GET-Parametern:

                        <img src='bildname.php?variable=wert&variable2=wert2.....

                        Kommentar


                        • #27
                          Hallo, alles klar, ich verstehe.

                          PHP-Code:
                          <img src='auswertungdiagramm.php?variable1=3'
                          und im Diagrammskript dann:

                          PHP-Code:
                          $result mysql_query("select umsatz umsatz, jahr jahr from $tabelle where firma = $_GET['variable1'] order by jahr"$link); 
                          Meinst Du so?

                          MfG Simauki

                          Kommentar


                          • #28
                            Genau.
                            Im Produktivbetrieb solltest Du die GET-Variable dann noch gegen Angriffe absichern, Stichwort mysql_real_escape_string(), aber das ist dann eine andere Baustelle.

                            Kommentar

                            Lädt...
                            X