php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #16 (permalink)  
Alt 11-06-2008, 11:40
Onyxagargaryll
 Registrierter Benutzer
Links : Onlinestatus : Onyxagargaryll ist offline
Registriert seit: Nov 2007
Ort: Schweiz
Beiträge: 239
Onyxagargaryll ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
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:
Zitat:
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

Geändert von Onyxagargaryll (11-06-2008 um 11:42 Uhr)
Mit Zitat antworten
  #17 (permalink)  
Alt 11-06-2008, 11:44
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
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

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #18 (permalink)  
Alt 11-06-2008, 11:47
Onyxagargaryll
 Registrierter Benutzer
Links : Onlinestatus : Onyxagargaryll ist offline
Registriert seit: Nov 2007
Ort: Schweiz
Beiträge: 239
Onyxagargaryll ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Dann wirst du auch nie ein Wiki installieren, denn dort darfst du das regelmässig machen, um Änderungen zu sehen
Zitat:
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..

Geändert von Onyxagargaryll (11-06-2008 um 11:51 Uhr)
Mit Zitat antworten
  #19 (permalink)  
Alt 12-06-2008, 18:10
simauki
 Newbie
Links : Onlinestatus : simauki ist offline
Registriert seit: Mar 2004
Beiträge: 93
simauki ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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
Mit Zitat antworten
  #20 (permalink)  
Alt 12-06-2008, 18:13
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
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.....
Mit Zitat antworten
  #21 (permalink)  
Alt 12-06-2008, 18:24
simauki
 Newbie
Links : Onlinestatus : simauki ist offline
Registriert seit: Mar 2004
Beiträge: 93
simauki ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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">

hier soll das php rein...

</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

Geändert von simauki (12-06-2008 um 18:33 Uhr)
Mit Zitat antworten
  #22 (permalink)  
Alt 12-06-2008, 18:28
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

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

Unn bitte Code umbrechen, wie in den Regeln beschrieben.
Mit Zitat antworten
  #23 (permalink)  
Alt 12-06-2008, 18:30
simauki
 Newbie
Links : Onlinestatus : simauki ist offline
Registriert seit: Mar 2004
Beiträge: 93
simauki ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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
Mit Zitat antworten
  #24 (permalink)  
Alt 12-06-2008, 18:31
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Wo ist das Problem?
Mit Zitat antworten
  #25 (permalink)  
Alt 12-06-2008, 18:35
simauki
 Newbie
Links : Onlinestatus : simauki ist offline
Registriert seit: Mar 2004
Beiträge: 93
simauki ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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
Mit Zitat antworten
  #26 (permalink)  
Alt 12-06-2008, 18:40
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Hab ich schon vor 5 Posts gesagt:

Zitat:
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.....
Mit Zitat antworten
  #27 (permalink)  
Alt 12-06-2008, 18:58
simauki
 Newbie
Links : Onlinestatus : simauki ist offline
Registriert seit: Mar 2004
Beiträge: 93
simauki ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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
Mit Zitat antworten
  #28 (permalink)  
Alt 12-06-2008, 19:00
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

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.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:43 Uhr.