Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
IF Script Problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
IF Script Problem


 
kreek
04-11-2005, 20:06 
 
Hi Leute,

ich habe folgendes Problem mit meinem Script:

<?

$filename = "C:\\XAMPP\\xampp\\htdocs\\logs\\ip.log";

$filepointer = fopen($filename, "r");

$data = fread($filepointer, filesize($filename));

$teil = explode(",", $data);

$user_ip = str_replace(".","",getenv("REMOTE_ADDR"));
$cteil = count($teil);

for($i=0; $i<$cteil; $i++) {

if($teil[$i] == $user_ip) {

$status = "s1";

};

};

fclose($filepointer);


if($status != "") {
echo "Du bist noch nicht geloggt!";
} else {
echo "Du bist bereits geloggt!";
}

?>

Die IP.log ist folgendermaßen aufgebaut:

,80144210171,84113888,84132210241,845951,828387235,21354224102

usw.

Wenn ich das Script in meine Seite include gibt er mir IMMER aus "Du bist noch nicht geloggt!" auch wenn ich jenes schon bin :(


Hat jemand ne Idee was mit dem Script nicht stimmt ?

Freue mich ueber jede Rueckmeldung :)


Schöne Grüße
kreek

 
Tommy75
04-11-2005, 20:17 
 
if($status != "") {
echo "Du bist noch nicht geloggt!";
} else {
echo "Du bist bereits geloggt!";
}


Ich würde sagen, du solltest die beiden echos tauschen ;)

$status ist nicht leer, also heisst es "Du bist noch nicht eingeloggt!"

 
flyingMiATA
04-11-2005, 20:31 
 
das ist doch nicht ernsthaft dein script um zu prüfen wer eingeloggt ist und wer nicht????

was ist mit AOL-Usern die ständig die IP wechseln?

schau dir lieber mal die session-funktionen an!

 
kreek
04-11-2005, 20:32 
 
Ja ist auch gerade relativ egal, es geht darum das IMMER DASSELBE ausgefuehrt wird, immernur der 1. Teil der IF Abfrage egal ob IP inner Log steht oder nicht.

Und nein das ist nicht mein einlog script, da wird normal was included hab das jetzt nur Beispielhaft abgeaendert :)

 
jahlives
04-11-2005, 21:03 
 
...IMMER DASSELBE ausgefuehrt wird, immernur der 1. Teil der IF Abfrage egal ...
Was dann aber dafür spricht, dass $status nie leer ist. Hast du dir $status mal per var_dump() ausgeben lassen ? Ist es der erwartete Wert ? Hast du etwa in der Datei in die dieses Script inkludiert wird eine Var $status und überschreibst sie immer ?

Gruss

tobi

 
kreek
04-11-2005, 21:17 
 
Hast du etwa in der Datei in die dieses Script inkludiert wird eine Var $status und überschreibst sie immer ?

Nein die Variable wird nirgendwo verwendet ausser in diesem Script.

Per var_dump hab ich net ausgeben lassen, es kann nur irgendwas mit diesem jenem Script sein was ich gepostet habe, aber was ? :(

 
jahlives
04-11-2005, 21:19 
 
Dann lass dir den Wert per var_dump() ausgeben und schau ihn genau an

Gruss

tobi

 
TobiaZ
04-11-2005, 21:20 
 
Per var_dump hab ich net ausgeben lassen, Dann wird es wohl höchste eisenbahn! :rolleyes: *autsch*

 
jahlives
04-11-2005, 21:22 
 
if(isset($status)) {
echo "Du bist bereits eingeloggt!";
} else {
echo "Du bist nicht geloggt!";
}

Probier mal noch das

Gruss

tobi

p.s. ach ja und stell dein error_reporting schärfer ein

error_reporting(E_ALL);

 
kreek
04-11-2005, 21:29 
 
error_reporting(E_ALL); bringt keinen Fehler ans Tageslicht.


isset habe ich vorher schon drinne gehabt und schon durch das status != ersetzt ;)

Andere Vorschläge ? :(

 
jahlives
04-11-2005, 21:33 
 
Andere Vorschläge ?
VAR_DUMP($status) aber pronto !!

Gruss

tobi

 
jahlives
04-11-2005, 21:38 
 
for($i=0; $i<$cteil; $i++) {

if($teil[$i] == $user_ip) {

$status = "s1";

};

};
//oder einfacher
if(in_array($user_ip,$teil) === true){
$status = 'blabla';
}
else{
//was immer du willst
}


Gruss

tobi

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:35 Uhr.