phpbar.de logo

Mailinglisten-Archive

[php] Anfaenger: Datei wird nicht angezeigt

[php] Anfaenger: Datei wird nicht angezeigt

Joerg Behrens behrens_(at)_takenet.de
Thu, 26 Oct 2000 22:49:23 +0200


Moin,

Cornelia Boenigk schrieb:
> 
> Hallo und danke, ihr seid blitzschnell
> 
> php ist installiert, der Apache laeuft, und meine anderen
> Programme auch und eine Fehlermeldung bekomme ich nicht. Die
> html-Datei wurde vor dem Einfuegen von php auch korrekt
> angezeigt. Mit ein bisschen Code ist das ein wenig schwierig,
> denn die Datei ist gross.

Frage vorweg: Andere PHP spielereien gehen aber oder ?
<?php phpinfo();?>

Sofern du Netscape benutzt muss du fuer Fehlermeldungen dir den HTML
Source anzeigen lassen. IE ist da etwas bessesr gestimmt und zeigt ohne
verluste erst einmal alles an. Damit Fehlermeldungen aber ueberhaupt vom
Parser ausgegeben werden muss dies in der php.ini auch ingestellt sein.
Dies ist es aber Defaultmaessig.
error_reporting	=	E_ALL & ~E_NOTICE;
display_errors	=	On;

Was nicht eingestellt ist ist das fuehren eines Errorlogs. Stelle dir
dies in der php.ini ein. 

log_errors		=	On;
error_log	=	"c:\temp\error.log;
 
Solltest du mod_php verwenden nicht vergessen den Apachen neu zustarten.

> Ich moechte zu einem Fragebogen ein Auswertungsprogramm
> schreiben. Die Daten, die die Benutzer eingegeben haben, liegen
> in einer Postgresql-Datenbank und werden von dort zeilenweise in
> ein Array eingelesen.
> 
Sieht auf den ersten Blick gut aus. von der Syntax. Ich arbeite zwar
nicht mir PgSql aber laut Manual gibt es die Funktion pg_errormessage()
. Baue sie ein.


 Hier das "bisschen" Code:
> 
> <?php
> 
> $conn=pg_connect("127.0.0.1","5432","","","codex");

baue in alle pgsql Funktionen es Testhalber ein. 
$conn=pg_connect("127.0.0.1","5432","","","codex") or
die(pg_errormessage($conn));

>  if(!$conn){echo "Es konnte keine Verbindung zur Datenbank
> hergestellt werden";}
> 
> $sql_ges="select fid,antwortwert, count(antwortwert) from
> mum_antworten WHERE fid<1500 group by fid, antwortwert order by
> fid;";
> 
> $res_ges=pg_exec($conn,$sql_ges); // Resultset
> if(!$res_ges) {
>  echo "Es ist ein Fehler bei der Verbindung zur Datenbank
> aufgetreten.";}
> 
> $row_ges=pg_numrows($res_ges);
> if($row_ges < 1) {
>  echo "Die Datenbank ist leer.";}
> 
> $mult=5;
> 
> for($i=0; $i < $row_ges; $i++){
>  $onerow = pg_fetch_row($res_ges,$i);
> 
>  if ($onerow[0]=="601") {
>   $a_brt[601]=$onerow[1]."<BR>\n";}
>  elseif($onerow[1]=="on")  {             // Checkboxen
>   $index=$onerow[0];
>   $a_brt[$index]=$onerow[2] * $mult;}
>  else {                                  // Radiobuttons
>   $index= $onerow[0].$onerow[1];
>   $a_brt[$index]= $onerow[2] * $mult;}}
> 
> ?>
> 
> Soweit stimmt eigentlich alles. Ich habe mir die ganze
> Datenbank-Array-Geschichte mit echo's ausgeben lassen, da
> arbeitet alles so, wie es soll.
> 
> Ich moechte Balkendiagramme ausgeben und dazu mit php die Breite
> des  Balkens (= Anzahl der Antworten zu dieser Frage) aus dem
> Array in das width-Attribut des image-TAgs einlesen. Dazu wird
> hinter jeder Frage
> 
> <img src="gruen.gif" width="<? php print ($a_brt[101];) ?>"
> height="10" >
> 
> eingefuegt, wobei 101 eben die erste Antwort zur Frage 1 ist.
> 

Es gibt analog zum zu MySql Version phpMyAdmin eine Version fuer PgSql.
Schau mal ob du deine Query andersweitig testen kannst... wird
ueberhaupt ein Ergniss geliefert?
Ich wuerde dann Teile mal Dokumentieren // oder /* bis */ um den Fehler
einzugrenzen und ein paar Echos wieder einbauen damit du siehst wo er in
welche Schleife oder Bedingung rein laeuft.

Aber um es nochmal zusagen... PHP ist sonst sehr gespraechig was Fehler
angeht. Sagt das Apache errorlog nochwas?

Gruss
Joerg Behrens

ps: Egon falls du das liest:
XLVIII. PostgreSQL Funktionen 

steht als Beispiel pg_exec ($database, "begin");
Laut Beschreibung zu pg_exec() soll der 2te Parameter eine Query sein.
Wobei es dann wohl $begin heissen muesste und vorher definiert werden
sollte. So steht es zumnind in meinem aelteren Manual (CHM Version vom
2.8.2000)
    

-- 
Key fingerprint =  92 7D E0 A6 CF AE EC 32  14 28 EF 0D 57 2A 88 5B
----------------------------------------------------------------------
TakeNet GmbH					Mobil: 0171/60 57 963			
D-97080 Wuerzburg				Tel: +49 931 903-2243				
Alfred-Nobel-Straße 20				Fax: +49 931 903-3025


php::bar PHP Wiki   -   Listenarchive