Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Markus

the one and only Unterstrich!

  • "Markus" started this thread

Posts: 2,571

Date of registration: Oct 9th 2003

1

Sunday, March 27th 2005, 3:54pm

Probleme mit PHP

Hallo,

ich beiß mir grad die Zähne an einem Problem aus, vielleicht kann mir ja einer von euch helfen.

Es geht um folgendes: Ich habe Daten von einem Formular in einer Datei (plaintext) gespeichert. Nun möchte ich diese Daten wieder weiterverarbeiten. Die Datei ist so aufgebaut, dass in jeder Zeile der Wert einer Variable steht. Wenn die Zeile leer ist, so wurde vom Formular ein Leerstring übergeben.
Ich rufe die Datei also auf:

Source code

1
$entry = file( Dateipfad );
In der zweiten Zeile der Datei soll die E-Mail Adresse stehen. Wurde die E-Mail Adresse nicht eingetragen, so ist die Zeile dementsprechend leer.
Nun soll überprüft werden, ob eine E-Mail Adresse vorhanden ist oder nicht.

Source code

1
2
3
4
if ( $entry[1] )
{
 //Hier stehen weitere Anweisungen
}
Aber selbst, wenn die entsprechende Zeile in der Datei leer ist, gibt die if-Abfrage true zurück.
Ebenso bei folgenden Anweisungen:

Source code

1
2
3
if ( $entry[1] == NULL )
if ( $entry[1] == "" )
if ( !empty( $entry[1] ))
Ich habe noch versucht, anstatt der Leerenzeile ein Schlüsselwort für eine fehlende Adresse einzufügen, also zB leer

Source code

1
if ( $entry[1] != "leer" )
Fehlanzeige!

Wenn irgendwer eine Idee hat, was ich falsch gemacht habe wäre ich für eine Antwort dankbar.

Markus
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

XAX

Junior Schreiberling

  • "XAX" is male

Posts: 207

Date of registration: Dec 25th 2004

2

Sunday, March 27th 2005, 5:18pm

Ich hab es gerade mal ausprobiert und habe damit keine Probleme
hast du dir mal $entry[1] ausgeben lassen.
Vielleicht speicherst du die Datei nicht richtig so dass file() die einzelnen Zeilen nicht erkennt.

Markus

the one and only Unterstrich!

  • "Markus" started this thread

Posts: 2,571

Date of registration: Oct 9th 2003

3

Sunday, March 27th 2005, 7:24pm

Ich habe meinen gesamten Quellcode schon mit echos gespickt, daran dürfte es / kann es nicht liegen. Umso aufschlußreicher finde ich es, dass es bei dir funktioniert, thx für die Mühe.
Ich werde mir die Tage mal nen aktuellen Apache ziehen, vielleicht hab ich einfach nur eine veraltete Version (ja, der ISDN User hat's nicht so mit MB großes Updates :evil:)
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

ap

Erfahrener Schreiberling

Posts: 269

Date of registration: Feb 14th 2002

Occupation: Student ;-)

4

Sunday, March 27th 2005, 7:25pm

RE: Probleme mit PHP

Quoted

Original von Markus

Source code

1
if ( $entry[1] == "" )


Probier mal

Source code

1
 if (trim($entry[1]) == '')
Meine Vermutung: Die Zeile ist nicht wirklich leer.
Who the fuck is General Failure and why does he read my hard disk? ?(

This post has been edited 1 times, last edit by "ap" (Mar 27th 2005, 7:26pm)


Markus

the one and only Unterstrich!

  • "Markus" started this thread

Posts: 2,571

Date of registration: Oct 9th 2003

5

Sunday, March 27th 2005, 9:56pm

Diese Vermutung hatte ich auch. Aber wenn ich mit die Datei im Texteditor anschaue, dann sind sie die Zeilen leer.
Habe es aber natürlich trotzdem mal ausprobiert. Und? Jetzt funktioniert es! Komisch? Nein, nicht ganz, denn des Problem liegt scheinbar in der file Operation:

Quoted

[...]Das Zeilenumbruchzeichen am Ende jeder Zeile wird als letztes Zeichen
n das entsprechende Array-Element übernommen.[...]


Hier ist in meiner Quelle wohl ein Rechtschreibfehler (n = in), der dazu geführt hat, dass ich den Satz einfach übergangen habe.... scheinbar wird also die Zeilenumbruchmarkierung mit ins array geschrieben.

Puh, da sag ich mal HERZLICHES DANKESCHÖN
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...