Chom
gehört zum Inventar
Hallo,
Wie der Titel schon sagt, komme ich mit einer Funktion nicht weiter.
Und zwar soll später das "Programm" in einer Datei einen Eintrag ändern.
Da ganze sieht wie folgt aus:
Die Variablen werden per GET gegeben, als erstes wird das Passwort gecheckt (übertragen als MD5, daher auch strcasecmp, weil das eine Programm alle Buchstaben Groß schreibt, aber die php md5 Funktion klein).
Wenn das Passwort stimmt, wird die zu ändernde Datei geöffnet, der Inhalt wird eingelesen, und aufgeteilt per explode in ein Array.
(In der Datei sind verschiedene Datensätze, einer umfasst 5 Daten, und ist wie folgt formatiert:
"xxx|yyy|ccc|vvv|bbb|"
der nächste sieht dann in der Struktur genau so aus, ist direkt daran angeschlossen, also das ich im Array, alle 5 Einträge einen Datensatz habe)
Dann werden 5 Inhalte des Arrays zusammengesetzt, mit dem zu ändernden verglichen, bei Übereinstimmung, wird das zusammengesetzte ersetzt mit dem "neuen".
Dann wird das zusammengesetzte in Inhalt geschrieben, und das Spiel geht von vorne los.
Dann soll der Inhalt wieder in die Datei (ist hier so umständlich über löschen, erzeugen, schreiben gelöst, weil sonst entweder Reste der alten Daten dableiben, oder php Warnungen ausgibt, wenn man versucht den Inhalt direkt in eine neue Datei einzufangen).
Das Problem ist jetzt, das es gar nicht mehr geht, es kommt die Meldung:
Ich hatte etwas geändert, davor ging es teilweise (man konnte den ersten Datensatz ändern, die anderen nicht).
Hier der PHP Text:
DANKE schon mal!
Falls noch was offen ist, einfach fragen, ich hoffe ich habe alle wichtigen Daten genannt...
MFG,
chom
Wie der Titel schon sagt, komme ich mit einer Funktion nicht weiter.
Und zwar soll später das "Programm" in einer Datei einen Eintrag ändern.
Da ganze sieht wie folgt aus:
Die Variablen werden per GET gegeben, als erstes wird das Passwort gecheckt (übertragen als MD5, daher auch strcasecmp, weil das eine Programm alle Buchstaben Groß schreibt, aber die php md5 Funktion klein).
Wenn das Passwort stimmt, wird die zu ändernde Datei geöffnet, der Inhalt wird eingelesen, und aufgeteilt per explode in ein Array.
(In der Datei sind verschiedene Datensätze, einer umfasst 5 Daten, und ist wie folgt formatiert:
"xxx|yyy|ccc|vvv|bbb|"
der nächste sieht dann in der Struktur genau so aus, ist direkt daran angeschlossen, also das ich im Array, alle 5 Einträge einen Datensatz habe)
Dann werden 5 Inhalte des Arrays zusammengesetzt, mit dem zu ändernden verglichen, bei Übereinstimmung, wird das zusammengesetzte ersetzt mit dem "neuen".
Dann wird das zusammengesetzte in Inhalt geschrieben, und das Spiel geht von vorne los.
Dann soll der Inhalt wieder in die Datei (ist hier so umständlich über löschen, erzeugen, schreiben gelöst, weil sonst entweder Reste der alten Daten dableiben, oder php Warnungen ausgibt, wenn man versucht den Inhalt direkt in eine neue Datei einzufangen).
Das Problem ist jetzt, das es gar nicht mehr geht, es kommt die Meldung:
Fatal error: Maximum execution time of 12 seconds exceeded in /users/xxx/www/xxx/index.php on line 130
Ich hatte etwas geändert, davor ging es teilweise (man konnte den ersten Datensatz ändern, die anderen nicht).
Hier der PHP Text:
PHP:
if (strcasecmp ($user_passwort,$passwort)==0){
$datei = fopen("./TerminL/" . $Liste . ".ddl" ,"r+");
$inhalt = fgets($datei);
$teile = explode("|", $inhalt);
$Part = "";
$inhalt= "";
$i = 0;
while($i < count($teile)){
$Part = $Part . $teile[$i] . "~";
if($i == 4){
if(strcmp($Part,$_GET['Termin'])==0){
$Part = $_GET['d'] ."|" . $_GET['z'] ."|" . $_GET['o'] ."|" . $_GET['t'] ."|" . $_GET['b'];
}
$inhalt = $inhalt . $Part . "|"; // Das ist Zeile 130... Also der "Fehler"
$Part = "";
$i = 0;
}else{
$i++;
}
}
$inhalt = preg_replace("/~/", "|", $inhalt);
fclose($datei);
unlink("./TerminL/" . $Liste . ".ddl");
$datei = fopen("./TerminL/" . $Liste . ".ddl","w+");
fwrite($datei, "");
fclose($datei);
$datei = fopen("./TerminL/" . $Liste . ".ddl","r+");
fwrite($datei, $inhalt);
fclose($datei);
echo "OK";
}else{
echo "Error:Passwort";
}
DANKE schon mal!
Falls noch was offen ist, einfach fragen, ich hoffe ich habe alle wichtigen Daten genannt...
MFG,
chom