zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden php gd-bibliothek

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 11.04.2008, 17:08
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Ich nutze gleich mal den Fred hier, weils eigentlich damit zusammenhängt.

Mein Ziel ist es, ein einfaches Umfragescript zu schreiben, welches 4 Antwortmöglichkeien bietet.
Ein weiteres wertet die abgegebenen Stimmen aus und gib Für jede Antwort ein .png-image als stream wieder, welches ein Balkendiagramm darstellen soll.

Für sich allein funktioniert das auch super, aber sobald ich versuche dass Script in eine bestehende Seite einzufügen, funktioniert die grafische Auswertung nicht mehr.

Mir fehlt da wohl etwas das Verständniss für die "header()"Funktion :/
Ist es möglich, ein Bild als Stream im Browser anzeigen zu lassen, unabhängig davon an welcher Stelle und ob vorher schon anderer htmlcode ausgegeben wurde?

Hier mal die scripte:

umfrage.php:
PHP-Code:
<?php


function gen_survey () {


echo
'
<form action="'
.$PHP_SELF.'" method="post">
<fieldset>
<legend>Wie findest du das neue Aussehen der Internetseite?</legend>
    <input type="radio" name="style" value="sehr_gut" /> sehr gut 
    <input type="radio" name="style" value="gut" /> gut
    <input type="radio" name="style" value="geht_so" /> geht so 
    <input type="radio" name="style" value="gar_nicht" /> gar nicht
    
    <input type="submit" name="submit" value="Senden" />
    <input type="submit" name="submit" value="Ergebniss anzeigen" />
</fieldset> '
;
}

function 
auswertung ($style) {

$farray file($style.'.txt');   //liest die erste Zeile der gewählten datei
$f $farray['0'];
$f++; 

$fp fopen ($style.'.txt','w+');
fwrite($fp$f);
fclose($fp);

}

function 
ergebniss() {  //liest die Stimmenanzahlen ein und gibt ein Array mit den prozentwerten zurück

$f1 file('sehr_gut.txt');
$f2 file('gut.txt');
$f3 file('geht_so.txt');
$f4 file('gar_nicht.txt');

$gesamtheit $f1[0] + $f2[0] + $f3[0] + $f4[0] ;
$faktor $gesamtheit 100;

$p1 number_format($f1[0]/ $faktor1',''');
$p2 number_format($f2[0]/ $faktor1',''');
$p3 number_format($f3[0]/ $faktor1',' ,'');
$p4 number_format($f4[0]/ $faktor1',' ,'');

$ergebniss = array(0,$p1,$p2,$p3,$p4);
return(
$ergebniss);
}


if (!isset (
$_POST['submit'])) {
gen_survey();
exit;
}




if (
$_POST['submit'] == 'Senden') {
auswertung ($_POST['style']);
$prozent ergebniss();

echo 
'
<img src="diagramm.php?img=1" width="60" height="6" alt="" /> '
.$prozent[1].' % sehr gut <br />
<img src="diagramm.php?img=2" width="60" height="6" alt="" /> '
.$prozent[2].' % gut <br />
<img src="diagramm.php?img=3" width="60" height="6" alt="" /> '
.$prozent[3].' % geht so <br />
<img src="diagramm.php?img=4" width="60" height="6" alt="" /> '
.$prozent[4].' % gar nicht <br />';
exit;
}

if (
$_POST['submit'] == 'Ergebniss anzeigen') {
$prozent ergebniss();

echo 
'
<img src="diagramm.php?img=1" width="60" height="6" alt="" /> '
.$prozent[1].' % sehr gut <br />
<img src="diagramm.php?img=2" width="60" height="6" alt="" /> '
.$prozent[2].' % gut <br />
<img src="diagramm.php?img=3" width="60" height="6" alt="" /> '
.$prozent[3].' % geht so <br />
<img src="diagramm.php?img=4" width="60" height="6" alt="" /> '
.$prozent[4].' % gar nicht <br />';
exit;}


?>
Und hier die grafische Auswertung diagramm.php:
PHP-Code:
<?php
header
('Content-type: image/png');

$f1 file('sehr_gut.txt');
$f2 file('gut.txt');
$f3 file('geht_so.txt');
$f4 file('gar_nicht.txt');

$gesamtheit $f1[0] + $f2[0] + $f3[0] + $f4[0] ;
$faktor $gesamtheit 100;

$p1 number_format($f1[0]/ $faktor1',' ,'');
$p2 number_format($f2[0]/ $faktor1',' ,'');
$p3 number_format($f3[0]/ $faktor1',' ,'');
$p4 number_format($f4[0]/ $faktor1',' ,'');




//balkengrafik erzeugen
//länge des Balkens bei 60px = 100%:



switch ($_GET['img']) {
case 
1

//sehr gut
$l1 = (0.6 $p1)-1;
$sehrgut imagecreate(60,6);

$weiss imagecolorallocate($sehrgut,255,255,255);
$grau imagecolorallocate($sehrgut119136153);

imagefill($sehrgut,1,1,$weiss);
imagefilledrectangle($sehrgut,0,0,$l1,5,$grau);
imagepng($sehrgut);
imagedestroy($sehrgut);
break; 

case 
2
//gut
$l2 = (0.6 $p2)-1;
$gut imagecreate(60,6);

$weiss imagecolorallocate($gut,255,255,255);
$grau imagecolorallocate($gut119136153);

imagefill($gut,1,1,$weiss);
imagefilledrectangle($gut,0,0,$l2,5,$grau);
imagepng($gut);
imagedestroy($gut);
break;

case 
3
//gehtso
$l3 = (0.6 $p3)-1;
$gehtso imagecreate(60,6);

$weiss imagecolorallocate($gehtso,255,255,255);
$grau imagecolorallocate($gehtso119136153);

imagefill($gehtso,1,1,$weiss);
imagefilledrectangle($gehtso,0,0,$l3,5,$grau);
imagepng($gehtso);
imagedestroy($gehtso);
break;

//garnicht
case 4:
$l4 = (0.6 $p4)-1;
$garnicht imagecreate(60,6);

$weiss imagecolorallocate($garnicht,255,255,255);
$grau imagecolorallocate($garnicht,119,136,153);

imagefill($garnicht,1,1,$weiss);
imagefilledrectangle($garnicht,0,0,$l4,5,$grau);
imagepng($garnicht);
imagedestroy($garnicht);
break;
}
?>
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 11.04.2008, 19:39
Benutzerbild von kampfgnom
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 22.11.2006
Ort: Radebeul
Beiträge: 1.809
kampfgnom befindet sich auf einem aufstrebenden Ast
Standard

Mach es so:
Schreib ein script mit dem header
image/jpeg
in dem du einen balken generierst.
Über eine get-variable übergibst du die länge.
Aufgerufen wird es wie folgt:
PHP-Code:
<img src="/pfad/zu/dem/script.php?laenge=234" alt="balken" /> 
so kommst du ganz einfach über ein script, an die Balken!
__________________
Meine Spielwiese: http://blog.kanedo.net
Ich bei Flickr? Da: Flickr: Fotostream von kanedo-projekt
Für open Source Liebhaber: open Com

Auch ich Zwitschere als @kanedo
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 11.04.2008, 20:51
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Ich hab es so gelößst, dass ich mit GET nur die Nummer der Antwort übergebe und die Umrechnung in die Länge übernimmt das BildScript selber. Daran wirds wohl nicht liegen oder?
Ich werds morgen trotzdem mal probieren. Danke

Geändert von David (11.04.2008 um 20:55 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 11.04.2008, 21:43
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Bin nicht sicher ob das hierher gehört:
Ist das script ao Du es implementierst auf einem anderen Server?
Ich hatte gerade heute ein Problem mit den imagecreate Funktonen.
Erst als ich safe_mode ausschalten lies, hat es funktioniert.

Sorry, wenn es nicht hierherpasst...
Mit Zitat antworten
  #15 (permalink)  
Alt 12.04.2008, 11:17
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Auch wenn ich es nicht ganz verstehe, passt es sicher hier hin ^^...
Inzwischen gehts... der Fehler steckte mal wieder im Detail. Ich hab beim einbinden in die Seite einfach die Pfade der Datein verwechselt. Nu gehts
Mit Zitat antworten
  #16 (permalink)  
Alt 12.04.2008, 13:14
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Hi

Wenn php safe_mode on ist, lassen sich die imagecreate... Funktionen nicht ausführen. Bei mir lief eine Thumbnail Erzeugung nicht, worunter mein Galerie Script "ein bisschen" litt.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Kontaktforumlar allgemeiner aufbau Krulle Serveradministration und serverseitige Scripte 15 17.06.2010 12:44
php Seiten online stellen online Serveradministration und serverseitige Scripte 7 27.03.2009 12:13
Praxisnah PHP lernen p0mmeluff Serveradministration und serverseitige Scripte 5 24.03.2009 21:18
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 18:09
PHP lernen? Grafiken später hinzufügen? chilla Offtopic 0 21.07.2007 14:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:33 Uhr.