Joern Schreiber
Mitglied
Hallo Leute,
ich habe mal wieder ein Problem - finde die Lösung aber einfach nicht.
Ich habe eine Textdatei, in der ich per Knopfdruck umstellen möchte, ob ein Mitglied den Beitrag bezahlt hat oder nicht.
Das ganze funktioniert auch (fast) gut, allerdings habe ich beim Internet Explorer das Problem, das er beim Schreiben in die Datei einen Umbruch zuviel "übergibt" und mir die ganze Textdatei zerschießt ... der Mozilla macht es perfekt. (siehe Anhänge ie.gif und mozilla.gif)
Was mache ich nun falsch ?!
Ich habe es beim Schreiben in die Datei sowohl mit \n also auch mit \r\n versucht ... aber bei beiden Versionen habe ich dieses Problem.
Kann jemand mal meinen Php-Code untersuchen und mir sagen wo der Fehler liegt ?!
Vielen Dank !
Jörn
ich habe mal wieder ein Problem - finde die Lösung aber einfach nicht.
Ich habe eine Textdatei, in der ich per Knopfdruck umstellen möchte, ob ein Mitglied den Beitrag bezahlt hat oder nicht.
Das ganze funktioniert auch (fast) gut, allerdings habe ich beim Internet Explorer das Problem, das er beim Schreiben in die Datei einen Umbruch zuviel "übergibt" und mir die ganze Textdatei zerschießt ... der Mozilla macht es perfekt. (siehe Anhänge ie.gif und mozilla.gif)
Was mache ich nun falsch ?!
Ich habe es beim Schreiben in die Datei sowohl mit \n also auch mit \r\n versucht ... aber bei beiden Versionen habe ich dieses Problem.
Kann jemand mal meinen Php-Code untersuchen und mir sagen wo der Fehler liegt ?!
Vielen Dank !
Jörn
PHP:
if ((isset($_REQUEST['status_aendern'])) AND (($_REQUEST['status_aendern'])=="ja"))
{
$zaehler=$_POST['zaehler']-1; # Zeile der Textdatei die geaendert werden soll
$nick_name=$_POST['nick_name']; # Nachfolgend die einzelnen Werte der Zeile
$real_vorname=$_POST['real_vorname'];
$real_nachname=$_POST['real_nachname'];
$ip_adresse=$_POST['ip_adresse'];
$bezahlt=$_POST['bezahlt'];
$anwesend=$_POST['anwesend'];
if ($bezahlt=='ja') # Neuer Bezahlt-Status
$bezahlt_neu="nein";
ELSE
$bezahlt_neu="ja";
// Die neue Zeile wird erstellt
$neue_zeile[] = "$nick_name;$ip_adresse;$real_vorname;$real_nachname;$bezahlt_neu;$anwesend\n";
// Die Datei wird ausgelesen und in einem Array gespeichert
$datei="../txt/ip_liste.txt";
$inhalt = file($datei);
// Anzahl der Zeilen wird ausgelesen
$num=sizeof($inhalt);
// Wenn die Schleife die zu aendernde Zeile erreicht, wird diese im Array gegen den neuen Inhalt ausgetauscht
for ($i=0; $i<$num; $i++)
{
if($i==$zaehler)
{
$inhalt[$zaehler] = $neue_zeile[0];
}
// Textdatei zum Überschreiben öffnen und schreiben
$fp = fopen("$datei","w");
fwrite($fp,implode($inhalt));
fclose($fp);
}