file edit per php, geht irgendwie nicht

monzon

Grünschnabel
hallo,ich habe hier ein kleines script. leider funktioniert es nicht ganz wie es soll. das script öffnet zwar die datei korrekt, jedoch speichert er sie nicht wenn ich auf den button klicke.....vll findet ihr den kleinen fehler und hilft mir. vielen dank im vorraus!

Code:
<?php

   $file = "../test/UT2004.ini";

   if ($gesendet) {
      $datei_speichern=fopen($file, "w");
      htmlentities(stripslashes($_POST['text']));
      fwrite ($datei_speichern, $_POST['text']);
      fclose($datei_speichern);
      echo "<i>-- Änderung erfolgreich --</i>";
   }

   echo "<form action=\"$PHP_SELF\" method=\"POST\">";
   echo "<textarea name=\"text\" cols=\"100\" rows=\"25\">";
   readfile($file);
   echo "</textarea><BR>";
   echo "<input type=\"submit\" name=\"gesendet\" value=\"speichern\">";
   echo "</form><BR>";


?>
 
Du greifst nicht über das superglobale Array $_POST auf den Post-Parameter gesendet zu.

Gruß hpvw
 
vielen dank für die promte antwort...leider sagt mir das aber nix^^ ich hab lange nicht mehr php programmiert, leider..ich muss langsam wieder damit anfangen. kannst du bitte es verändert posten so das es funktionieren sollte. vielen dank
 
vielen dank! hat jetzt geklappt! sauber :) *freu* ihr seit gurus :)

edit funktioniert noch net ganz leider :( er wandelt manche sachen um nach dem speichern in html code, habe auch htmlentities() rausgetan aber leider immer noch es kommt immer ein "slash" bzw mehrere dazu
beispiel:
so solls bleiben:
MasterServerList=(Address="ut2004master1.epicgames.com",Port=28902)
MasterServerList=(Address="ut2004master2.epicgames.com",Port=28902)

so ist es 1:
MasterServerList=(Address=\"ut2004master1.epicgames.com\",Port=28902)
MasterServerList=(Address=\"ut2004master2.epicgames.com\",Port=28902)

so ist es 2:
MasterServerList=(Address=\\\\\\\"ut2004master1.epicgames.com\\\\\\\",Port=28902)
MasterServerList=(Address=\\\\\\\"ut2004master2.epicgames.com\\\\\\\",Port=28902)
 
Zuletzt bearbeitet:
Hallo,
wenn du die Daten mit [phpf]addslashes[/phpf] einträgst, kannst du das mit [phpf]stripslashes[/phpf] wieder rückgängig machen.

mfg
forsterm
 
ich hab mal rumprobiert, aber hat nicht geklappt :(

könntest du oder jemand andere mir es netterweise umschreiben, das es nicht umgewandelt wird in html code, so das keine slash etc rein kommt, nur das gespeichert wird was ich reinschreibe umänder etc..keine konvertierung

der code der es mit slashed speichert
Code:
<?php

   $file = "text.txt";
$gesendet=$_POST['gesendet'];

   if ($gesendet) {
      $datei_speichern=fopen($file, "w");
      htmlentities(stripslashes($_POST['text']));
      fwrite ($datei_speichern, $_POST['text']);
      fclose($datei_speichern);
      echo "<i>-- Änderung erfolgreich --</i>";
   }

   echo "<form action=\"$PHP_SELF\" method=\"POST\">";
   echo "<textarea name=\"text\" cols=\"50\" rows=\"5\">";
   readfile($file);
   echo "</textarea><BR>";
   echo "<input type=\"submit\" name=\"gesendet\" value=\"speichern\">";
   echo "</form><BR>";


?>
 
Zurück