WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   php - warum variable nicht leer ? (http://www.wcm.at/forum/showthread.php?t=125578)

Seppo 17.02.2004 09:31

php - warum variable nicht leer ?
 
guten morgen zusammen!

hab wiedermal ein kleines php problem!
also ich hab eine txt datei wo profile gespeichert sind!
sieht circa so aus:

Nickname ||| passwort ||| email ||| icq ||| signatur

und dann geb ich wo anders auf der ausgabe seite meine vorhandenen einträge aus (also jetzt nicht die profile)

und zu jedem eintrag les ich mir jetzt das profil aus um email etc anzuzeigen!

das problem is jetzt bei der signatur
also ich will natürlich nur signatur ausgeben wenn eine vorhanden!

also hab ich mir gedacht!

if ($sig != "") {echo "
<HR>$sig
";}

das komische is nur das er das <HR> das hier ausgegeben wird immer ausgibt auch wenn signatur nicht vorhanden
das komische is auch das er sie auch dann ausgibt wenn ich zu testzwecken mal gemacht habe $sig == ""

die bedingung is also immer erfüllt aber warum ?????

bitte um hilfe!

tia
seppo

bigshorty71 17.02.2004 09:43

guten morgen!

Hast du es schon mit dem Befehl 'empty()' versucht?
Sollte etwa so aussehen:
if ($sig != "" or !empty($sig)) {echo "
<HR>$sig
";}

Möglicherweise musst du die syntax noch anpassen. Habe schon länger nichts mehr gemacht.

Hoffe, es funkt.

bigshorty71

wbendl 17.02.2004 09:43

Hi!

Du hast vergessen zu sagen, wie du die Signatur ausliest.
Denn da wird wahrscheinlich das Problem liegen.

Außerdem wäre interessant, was die Variable enthält, wenn sie nicht leer ist. (Vielleicht ein Leerzeichen?)

mfg

WB

bigshorty71 17.02.2004 10:07

Hallo!

Dachte, das auslesen hast du schon. Muss dich leider enttäuschen - mit textdateien auslesen hab ich mich noch nicht auseinandergesetzt, bin dazu irgend wie zu faul :) , aber vielleicht hilft dir dieser link:
http://www.selfphp.info
Ich hab auch immer mit diesem schummler gearbeitet.
Vom ablauf her würd ich sagen:
- textdatei öffnen
- eine zeile einlesen, nach dem trennzeichen splitten und weiterverarbeiten
- nächste zeile einlesen
usw.

Zu deiner zweiten frage die funktionsbeschreibung zu 'empty':
http://www.selfphp.info/funktionsref...onen/empty.php
Ist zwar auch nicht viel, aber vielleicht reicht es.

mfg

bigshorty71

snowman 17.02.2004 10:19

wenn das nicht geht:
Zitat:

Original geschrieben von Seppo
if ($sig != "") {echo "
<HR>$sig
";}

geht das logischerweise auch nicht:
Zitat:

Original geschrieben von bigshorty71
if ($sig != "" or !empty($sig)) {echo "
<HR>$sig
";}

gruss,
snowman

Seppo 17.02.2004 10:49

naja ich leere die variable nach jedem postbeitrag mit einem unset!
funkt auch soweit!

was die variable enthält is mir ein rätsel weil in der ausgabe kommt immer genau nix! also wenn ichs mit echo ausgeben lasse

achja ich lese die die profil datei zeilenweise ein und splitte sie an den stellen " ||| " in 5 teile.. funkt auch alles perfekt.. nur eben die letzte variable $sig ist irgendwie immer weder voll noch leer.. ich kapiers einfach nicht :confused:

wbendl 17.02.2004 11:00

Hi!

So habe ich mir das gedacht.

Püf mal ob die Variable ein Leerzeichen enthält. Das würdest du im Browser nicht sehen.
Z. B. mit echo "
<HR>X$sigX
";
oder mit if ($sig ==" ")........

mfg

WB

snowman 17.02.2004 11:03

machmal so:

$sig = trim($sig)

gruss,
snowman

käptn 17.02.2004 11:21

Also, unset($var) is mit $var = null; gleichzusetzten.

Liest du die Datei mit fgets() aus, hast du ganz am Schluss noch einen Zeilenvorschub "\n".

~

Seppo 17.02.2004 13:07

hmm erstmal danke an alle!

also ich kanns leider erst am abend probieren wie das mit dem /n ist aber ich dachte wenn ichs zeilenweise reinlese also mit file(datei)
dann sind die zeilenumbrüche eh automatisch weg... werds mal testen

ach und so mit $sig == " " hab ich gestern schon probiert! da war dann die bedingung nie erfüllt! und is somit nie reingegangen um das hr auszugeben


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag