SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.01.2004, 16:14:00
Stormy Stormy ist offline
Anfänger
 
Registriert seit: Jan 2004
Beiträge: 1
Script wird doppelt ausgeführt

Hallo,
ich habe eine Linksammlung wo man angeben kann, ob der Link "broken" also nicht erreichbar ist. Der User soll mittels Klick den Status des Links also ändern können. Das Problem ist nur, dass der Parser das Script doppelt ausführt und somit folgendes macht:

1. Script-Aufruf (noch normal)
0 (gelesen) -> 1 (geschrieben)

2. Script-Aufruf (????)
1 (gelesen) -> 0 (geschrieben)

Ergebnis ist, dass der Status des Linkes nicht verändert wurde. Ich hoffe ihr habt da eine Lösung für mich parat:

Code:
// Einlesen der Text-Datenbank: Einträge (µ ist das Trennzeichen)

$cfile="fun/data/fun_entries.txt";
if (file_exists($cfile)) {
$Datei = fopen($cfile,"r"); $t=0;
do {
$Inhalt = trim(fgets($Datei,5000));                                                 

list($Entry_Parent[$t],$Entry_ID[$t],$Entry_Titel[$t],$Entry_Address[$t],$Entry_Datum[$t],$Entry_Zeit[$t],$Entry_IP[$t],$Entry_Benutzer[$t],$Entry_Broken[$t],$Entry_Views[$t])=explode("µ",$Inhalt);

if ($newID<$Entry_ID[$t]) { $newID=$Entry_ID[$t];}
  $t++;
} while (!feof($Datei));
$Entry_Anzahl=$t;
$newID++;
fclose($Datei);
}

// Nachdem der Linkstatus geändert werden soll, wird DB gespeichert.
// $id ist die ID des Links, der bearbeitet werden soll

 echo "<b>Vielen Dank!</b><br>
       <br>";
 $s = array_search($id,$Entry_ID);
 echo $Entry_Broken[$s];
 if ($Entry_Broken[$s]==0) {
     echo "Der Link <b>".$Entry_Titel[$s]."</b> wurde nun in den Status 'Nicht-Erreichbar' gesetzt !"; $Entry_Broken[$s]=1;
     } elseif($Entry_Broken[$s]==1) {
     echo "Der Link <b>".$Entry_Titel[$s]."</b> wurde nun in den Status 'Erreichbar' gesetzt !"; $Entry_Broken[$s]=0;
     }

$file="fun/data/fun_entries.txt";

$Datei = fopen($file,"w");
for ($e=0;$e<$Entry_Anzahl;$e++)
 {
  if ($e==0) { $a="";} else { $a="rn";}
  $line = trim($a.$Entry_Parent[$e]."µ".$Entry_ID[$e]."µ".$Entry_Titel[$e]."µ".$Entry_Address[$e]."µ".$Entry_Datum[$e]."µ".$Entry_Zeit[$e]."µ".$Entry_IP[$e]."µ".$Entry_Benutzer[$e]."µ".$Entry_Broken[$e]."µ".$Entry_Views[$e]);
  fwrite ($Datei, $line);
 }
fclose ($Datei);
Ich habe gehört, dass while(!eof($datei)) die Ursache sein könnte, weil es da durch eine Verzögerung gab und der IE wegen dem Timeout die Seite nochmal neu aufruft. Kann ich das verhindern?

cu, Stormy
Mit Zitat antworten
  #2  
Alt 05.01.2004, 16:21:40
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Das Einlesen der Datei kannst Du ja file() überlassen. Geht nachweislich schneller.

Sollte mich eigentlich wundern, wenn der Browser (obwohl IE) eine Seite unaufgefordert neu lädt. Allgemein warten diese armen Geschöpfe eine Weile, ob sie noch Daten empfangen und geben es dann irgendwann einfach auf.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:19:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt