kostenloser Webspace werbefrei: lima-city


[PHP] Variablen wert im Nachhinein Ändern..

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    nwage

    nwage hat kostenlosen Webspace.

    Hallo Liebe Community,
    ich habe eine Frage welche ich immer wieder versucht habe zu googlen aber nicht zu meinem Wunschergebnis kam.
    Unzwar möchte ich eine Seite erstellen und im Nachhinein ein "panel" von wo aus man bsp für Variable x den wert false vordefiniert hat. Wenn man nun im Panel auf checkbox y klickt und man das formular abschickt soll das script die datei ändern und die variable x auf true setzten von false. In der Datei werden auch anderen sachen stehen deswegen, wie mach ich es das er genau das umändert?

    Lieben Gruß


    €dit:
    Hab es nun versucht so zu lösen.
    Ist das die Richtige Methode oder gibt es eine andere die eher klappt?

    <?php
    	$datei = fopen("datei.php", "r");
    	$fread = fread($datei, 100);
    	$inhalt = str_replace("\$var = false;", "\$var = true;", $fread);
    	file_put_contents("datei.php", $inhalt);
    	fclose($datei);
    	echo "Geklappt!";
    ?>


    Beitrag zuletzt geändert: 7.3.2011 22:30:01 von nwage
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Es kommt ganz darauf, was du machen willst. Dir stehen alle Tore offen:
    -Cookies oder Sessions, falls die Änderung benutzerspezifisch ist und nicht dauerhaft abgespeichert werden muss.
    - MySQL-Datenbanken
    - Text Files

    Falls es nicht um eine benutzerspezifische Einstellung geht, kannst du das gut machen mit dem Textfile. Allerdings würde ich dir sonst noch PHP $_SESSION empfehlen, das kann sich auch als sehr nützlich erweisen.

    Beitrag zuletzt geändert: 8.3.2011 2:19:51 von misc
  4. Hallo,
    Bedenke das $Var nicht die Variable ist, sondern der Inhalt der Variable:
    Wenn du schreibst
    $var = 'X';
    $inhalt = str_replace("\$var = false;", "\$var = true;", $fread);

    Dann steht später in der Datei:
    X=true


    mfg Fleix


    P.S:
    Ich würde statt fopen und fread file_get_contets nehmen ;-)

    Edit: Ich weiss nicht ob du eine PHP-Datei bearbeiten kannst.
    Du könntest doch auch einfach in ne' DB schreiben x=1.
    Wenn dann Datei.php aufgerufen wird muss das Script halt prüfen, wie die Variable ist.

    Oder du machst das mit URL-Übergabeparametern

    Beitrag zuletzt geändert: 8.3.2011 9:35:45 von fleix
  5. Autor dieses Themas

    nwage

    nwage hat kostenlosen Webspace.

    Hallo danke erste mal für die Beiden Antworten.
    Ich hab jetzt ein Script gemacht mit file_get_contents und file_put_contents.
    Unzwar hab ich 2 Arrays gebastelt. Diese sucht dann das str_replace ab, mit dem preg_replace komm ich irgendwie nicht klar und da ging es auch nicht so ganz.
    Das Problem jedoch es ging alles Wunderbar (da ich ja mehrere Variablen gleichzeitig umändern möchte), jedoch gab es Probleme das er bei den Konstanten die in der Datei sind bei dem Wert ganz am anfang einfach ein "Ja" reingeschrieben hat, aber auch den Rest korrekt verändert.
    Woran könnte das Liegen das er das So macht?


    Lieben Gruß.


    PS: Soll zu verschiedenen Zwecken, aber vorallem der Übung dienen. Möchte eine Webseite basteln wo man per klick in einem Panel einen Wartungsmodus aktivieren kann und deaktivieren sowie andere Funktionen anpassen.
  6. Für solche Zwecke bringt php eine eigene Funktion mit. Die nennt sich parse_ini_file und könnte dir eventuell weiterhelfen.

    FF
  7. Autor dieses Themas

    nwage

    nwage hat kostenlosen Webspace.

    fatfreddy schrieb:
    Für solche Zwecke bringt php eine eigene Funktion mit. Die nennt sich parse_ini_file und könnte dir eventuell weiterhelfen.

    FF


    Aber dann msus die datei doch eine .ini datei sein oder?
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!