programmieren

[Mittwoch, 14. Mai 2008]

"versteckten" fehler gefunden

ich bin immer wieder froh und glücklich, wenn ich einen "wie-soll-man-bitte-auf-das-kommen-außer-per-zufall"-fehler gefunden und beseitigt habe - wie auch in diesem fall:

im anwendungsprojekt inkludiere ich gerade den phpmailer in ein drupal-cms, um mails verschicken zu können ohne einen smtp-server zu installieren. nun habe ich es schon so weit geschafft, dass die mail rausgeht, nur kam ich dann auf eine leere seite anstatt redirected zu werden. im log wurde folgende meldung eingetragen:

Cannot modify header information - headers already sent by (output started at [pfad]\includes\phpmailer.inc:28) in [pfad]\includes\common.inc in Zeile 314.

da ich einen editor verwendet habe, der keine zeilennummern anzeigt, fiel es mir nicht auf, dass diese datei aus nur 27 zeilen code bestand. als ich die zeilen zählte und auf 28 kam, war mir alles klar.

die funktion header() wird zum senden von http-headerinfos im rohformat benutzt. da diese infos im header sind, müssen sie vor jeglichen output stehen - nicht einmal ein leerzeichen, eine leerzeile, ein zeilenumbruch noch sonstiges in dieser art darf vor dem aufruf sein. der fehler trat auf, da die phpmailer.inc mittels include() eingelesen wurde und sich ganz zum schluss ein zeilenumbruch nach dem ?> eingeschummelt hatte.

zeilennummern sei dank ;)

mfg mailo

ps: hilfreiche quellen: quelle 1, quelle 2 und quelle 3

anmerkung: lasst euch nicht von den linknamen verwirren ;)

[Montag, 17. Dezember 2007]

klein, aber oho!

ich bin total verwundert, wie ein so kleiner informationsgehalt einen so großen eindruck hinterlassen kann.

heute in der übung beim programmieren (java) - strings (= zeichenketten) vergleichen.

durch meine gewohnheit handle ich das so ab (syntax aufs wesentliche beschränkt):

stringvariable.equals("vergleichsstring")


wenn nun die stringvariable nicht initialisiert wurde und somit null ist, wirft sie eine nullpointer-exception.

dies kann man wie folgt verhindern: man dreht es um!

"vergleichsstring".equals(stringvariable)


nun ist es egal welchen wert die stringvariable hat - entweder ist sie dem string gleich oder nicht!

mfg mailo

user status

Du bist nicht angemeldet.

status

online seit 464 Tagen
last update: 9. Jul, 18:35

archiv

Juli 2008
Mo
Di
Mi
Do
Fr
Sa
So
 
 2 
 4 
 5 
 6 
 7 
 8 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 
 
 
 

HINWEIS

ich übernehme KEINE haftung bezüglich der verwendung der informationen, die in meinem blog vorkommen.

aktuelle beiträge

huawei unter vista
da ich nun zuhause ohne internetanschluss bin, habe...
mailo - 9. Jul, 18:33
mein labor #02
als nächsten post gibt es hier meine einstellungen: host...
mailo - 9. Jul, 18:01
mein labor #01
da ich beim anwendungsprojekt meinen kollegen bei der...
mailo - 9. Jul, 18:00
wahre worte ...
aber ich werde doch noch bei vista bleiben, da ich...
mailo - 10. Jun, 11:12
ah verdammt, zu langsam..
ah verdammt, zu langsam..
Davey (anonym) - 8. Jun, 19:34
In Vista muss man sich...
In Vista muss man sich nicht einleben; über Vista...
Patrick (anonym) - 8. Jun, 19:31
neue situation
da ich nun einen neuen laptop habe, hat sich meine...
mailo - 8. Jun, 18:08
backup - sofort!!!
ein backup der daten ist sehr wichtig. zwar weiß...
mailo - 8. Jun, 18:05

wetter

Aktuelles Wetter in Eisenstadt:


Temperatur: 18 C
UV Index: 1
Luftfeuchte: 72 %
Sichtweite: 15.0 km
Luftdruck: 990.2 mb
Windstärke: 29 km/h

Weather data provided by weather.com

creditz

Knallgrau New Media Solutions - Web Agentur für neue Medien

powered by Antville powered by Helma


xml version of this page
xml version of this page (summary)
xml version of this page (with comments)
xml version of this topic

twoday.net AGB