CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
03.10.2017, 10:49:26
|
Anfänger
|
|
Registriert seit: Oct 2017
Alter: 54
Beiträge: 3
|
|
Image per PHP mit Session-Daten erstellen
Guten Morgen!
Wie man bei dem Post im Anfängerforum erkennen kann, bin ich kein erfahrener PHP-Anwender. Ich habe mir die Finger wund gegoogelt, um mein Problem eingrenzen zu können. Zumindest das ist mir gelungen...
Aber jetzt zu meinem Problem:
Ich möchte ein Image über eine PHP-Datei erstellen. Das funktioniert prima. Allerdings sollen in dem Image Daten angezeigt werden, die ich in einer anderen PHP-Datei mit einer Datenbankabfrage ermittelt habe. Ich kann die Daten mit dem SESSION-Befehl ohne Probleme an andere PHP-Dateien übergeben. Bei der Erstellung des Images klappt es aber nicht. Woran kann das liegen? Sehe ich den Wald vor lauter Bäumen nicht?
1. PHP-Datei
session_start();
Datenbankabfrage
$wert = array();
while($row = mysqli_fetch_object($ergebnis))
{
$wert[] = $row->Spieler1_Gesamt;
}
$_SESSION['Ergebnisdaten'] = $wert;
echo "<img src=bild.php>";
2. PHP-Datei (bild.php)
session_start();
$wert = $_SESSION['Ergebnisdaten'];
...
imageString($diagramm, 4, 10, 10 , $wert[0], $black);
Die ermittelten Werte werden aber nicht in die Bilddatei eingetragen. Was mache ich falsch?
Vielen Dank für Eure Bemühungen im Voraus.
Viele Grüße aus der Pfalz,
Markus
|
03.10.2017, 14:05:08
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Image per PHP mit Session-Daten erstellen
Hallo und willkommen hier im Forum.
Hast Du Dir mal die Werte in der bild.php anzeigen lassen?
Kommen die richtigen Werte an?
Hast Du für die (reine) Bildausgabe den richtigen Header gesetzt?
Wo kommt $black / $diagramm her?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
03.10.2017, 14:31:33
|
Anfänger
|
|
Registriert seit: Oct 2017
Alter: 54
Beiträge: 3
|
|
AW: Image per PHP mit Session-Daten erstellen
Hallo vt1816!
Vielen Dank für die rasche Antwort.
Nach wirklich zahlreichen Tests komme ich zum Ergebnis, dass die SESSION-Daten nicht in der bild.php "ankommen". Ich habe versucht, eine Text-Datei zu übergeben und in der Grafik auszugeben - hat auch nicht funktioniert.
Der Quelltest der bild.php lautet wie folgt:
<?php
session_start();
header("Content-type: image/png");
$imgWidth = '800';
$imgHeight = '500';
$diagramm = imagecreate($imgWidth, $imgHeight);
$colorWhite = imagecolorallocate($diagramm, 255, 255, 255); #Hintergrund
$colorGrey = imagecolorallocate($diagramm, 210, 210, 210);
$colorBlue = imagecolorallocate($diagramm, 0, 50, 255);
$colorblack = imagecolorallocate($diagramm, 0, 0, 0);
// @@@@@@@@@@ RAHMEN UM DAS BILD @@@@@@@@@@
imageline($diagramm, 0, 0, $imgWidth, 0, $colorblack); #oben
imageline($diagramm, $imgWidth-1, 0, $imgWidth-1, $imgHeight-1, $colorblack); #rechts
imageline($diagramm, 0, $imgHeight-1, $imgWidth, $imgHeight-1, $colorblack); #unten
imageline($diagramm, 0, 0, 0, $imgHeight, $colorblack); #links
// @@@@@@@@@@ ERSTELLEN EINES RASTERS @@@@@@@@@@
$pxRaster = '20'; #Größe des Rasters
$pxWidth = round($imgWidth / $pxRaster, 0);
for($i=1; $i<$pxWidth; $i++){
imageline($diagramm, $i*$pxRaster, 0, $i*$pxRaster, $imgHeight, $colorGrey); #vertikal
imageline($diagramm, 0, $i*$pxRaster, $imgWidth, $i*$pxRaster, $colorGrey); #horizontal
}
// @@@@@@@@@@ ZEICHNEN DES DIAGRAMMS @@@@@@@@@@
$wert = $_SESSION['Ergebnisdaten'];
$countBalken = count($wert);
for($i=0;$i<$countBalken;$i++){
if($maxHeight < $wert[$i]){
$maxHeight = $wert[$i];
}
}
$dynWidth = round(($imgWidth-2) / ($countBalken-1), 0);
@$dynHeight = ($imgHeight-1) / $maxHeight;
for ($i=0; $i<$countBalken; $i++){
$aktNewSize = @round($dynHeight * $wert[$i]);
$aktNewSize2 = @round($dynHeight * $wert[$i+1]);
if($i+1 < $countBalken){
imageline($diagramm, $i*$dynWidth, ($imgHeight-$aktNewSize),
($i+1)*$dynWidth, ($imgHeight-$aktNewSize2), $colorBlue);
}
}
// @@@@@@@@@@ AUSGABE DES BILDES @@@@@@@@@@
imagepng($diagramm); #ausgeben des Bildes als PNG
// imagedestroy($diagramm); #freigeben und zerstören des Bildes
?>
Vielen Dank für Deine Bemühungen!
Viele Grüße aus der Pfalz,
Markus
|
03.10.2017, 18:38:20
|
Anfänger
|
|
Registriert seit: Oct 2017
Alter: 54
Beiträge: 3
|
|
AW: Image per PHP mit Session-Daten erstellen
Ich habe es gefunden! Oh Mann, kleine Unachtsamkeit, große Wirklung!!! Habe vergessen, die Session vor dem Aufruf der "bild.php" zu beenden. Habe "session_write_close();" zuvor eingefügt und jetzt funzt es.
|
04.10.2017, 06:57:21
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Image per PHP mit Session-Daten erstellen
Prima wenn es jetzt funktioniert ...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:29:38 Uhr.
|