str_replace

wie meinst du das ?
Vorausgesetzt es ist die einzigste 0 im Script....

hab jetzt mal was anderes probiert ....
PHP:
1:<?php
2:$datei = fopen("../inc/off.inc.php","r+");
3:$write = "<?php $off= "1"; ?>";
4:rewind($datei);
5:fwrite($datei, $write);
6:fclose($datei);
7:?>


off.inc.php:
dort steht momentan:
PHP:
<?php
$off = "0";
?>

Aber irgendwie der obere Code nit. Kommt imm Fehler in line3....
Wäre nett, wenn mir jemand sagen könnte, wo der fehler ist ...
MfG und Danke im Voraus ... Dennis aka weightwatcher
 
weightwatcher hat gesagt.:
wie meinst du das ?
Vorausgesetzt es ist die einzigste 0 im Script....
Sebastians Code wuerde jede 0 im Script gegen eine 1 ersetzen. Da Du wie ich jetzt sehe in dem Script wirklich nur $off=0; drinstehen hast kannst Du es natuerlich einsetzen.
 
Nee reptiler, ich glaub, da hast du was missverstanden. Ist aber auch nicht wert, drüber zu reden.

weightwatcher, du musst Anführungszeichen innerhalb von Strings mit einem Backslash escapen (Anglizismen for life), sprich:

PHP:
$write = "<?php $off= \"1\"; ?>";
 
Aso lol ok. Jetzt habe ich es sowieso schon anderster gelöst. frage jetzt den Status vorher aus ner Datenbank ab ....

Nur habe ich jetzt noch ein Problem .... Ich will ja wie gesagt ein Administrationsinteface noch für mein CMs schreiben. Dazu habe ich mir Scripts erstellt, mit denen ich Seiten erstellen, bearbeiten und löschen kann. Nur kann ich diese nit in mein Design einfügen, da sonst header already sent kommt.... Hier mal der Code :
PHP:
<?php
//Include config file
require_once ( '../config.php' ) ;

//Is form submitted?
if ( isset ( $_POST['add'] ) )
{
	$Pages->add ( $_POST['title'], $_POST['content']) ;
	header ( 'location:'. $site->url .'?id='. $_POST['title'] ) ;
}
else
{
	echo '<center><form name="addpage" method="post" action="'. $_SERVER['PHP_SELF'] .'"></center>';
	echo '<center>Titel: <input type="text" name="title"><br></center>';
	echo '<center>Content: <textarea name="content" cols="60" rows="20"></textarea><br></center>';
	echo '<center><input type="submit" name="add" value="Seite erstellen"></center>';
}	
	
?>

Wie man sicherlich aus dem Code erkennen kann. Wird ein Text bereich erstellt, mit den Angaben Titel und Content. Nach dem erstellen des Contents und speichern der Seite, verändert sich die url... also z.B. so:
aus dem Script names add.php wird nach dem erstellen der Seite Tesr add.php?title=Test.
So wie zum Teufel kann ich jetzt dieses Besch*ssene Script in mein Design für das Admininterface einbauen, ohne dass gleich header already sent kommt ....
Das Admininterface ist Valid Xhtml 1.1....

Hoffe mir kann bei diesem Problem jemand helfen ....
MfG und Danke im Voraus Dennis Gack ....
 
Da gibt es einen altbekannten Trick. An den Anfang der Datei (und zwar ganz an den Anfang, vor jeder Ausgabe):

PHP:
<?php ob_start(); ?>

Und ganz ans Ende:

PHP:
<?php ob_end_flush(); ?>
 
danke dir erst mal für den Tipp. Hat super funktioniert ....
So jetzt aber noch ne Frage ...

Kann man des alles Verknüpfen mit ner Textarea ....
Für meine offlinemessage habe ich ne Datei angelegt, namens "off.messages.php".
So, von meinem Adminbereich aus, will ich jetzt die Offline Message bearbeiten.
Also habe ich jetzt den einen Code von euch oben genommen.

Kann mir jemand ein Tipp geben wie man das machen könnte.
Hab mal überleht, weiß aber nit ob stimmt:
1. Datei überprüfen ob vorhanden, wenn ja weiter, wenn nei Fehlermeldung
2. Datei einlesen und in einer Textarea fürs verarbeiten vorbereiten.
3. In der Textarea den neune Texteingeben.
4. Den neu eingegebenen Text als neue Variable ($off_code = "Text bla bla";)
wieder in die off.messages.php zurückspeichern....

Nur wie kann man des dann verwirklichen. Über Vorschäge oder kelien Beispiele wäre ich sehr erfreut.

MfG und Danke im Voraus Dennis aka weightwatcher.
 
Sebastian Wramba hat gesagt.:
Nee reptiler, ich glaub, da hast du was missverstanden. Ist aber auch nicht wert, drüber zu reden.
Wuerde mich jetzt aber doch interessieren.
Laut php.net werden alle gefundenen Stellen durch den neuen Wert ersetzt.
Dementsprechend wuerde
PHP:
$out=str_replace("0","1",$out);
jede 0 im Script gegen eine 1 austauschen.
 
Hab des jetzt mal selber in die Hand genommen....
Hab mir ein Script erstellt, dass die Datei in eine Textarea lädt, in der man dann die geladene Datei bearbeiten kann und später sollte man dann die änderungen wieder in die Datei zurück speichern könne, blos des nit.

Also laden und editieren , speichern in die Datei zurück nit.

Hier mal der Quellcode der index.php Datei:
PHP:
<?php 
if (empty($gesendet)) { 
    ob_start(); 
    readfile($_GET['file']); 
    $file=ob_get_contents(); 
    ob_end_clean(); 

    echo '<html> 
    <head> 
    <title>'.$_GET['file'].' editieren</title> 
    </head> 
    <body> 
    <form action="'.$_SERVER['SCRIPT_NAME'].'" method="post"> 
    <input type="hidden" name="filename" value="'.$_GET['file'].'" /> 
    <textarea name="datei" cols="50" rows="10">'.htmlspecialchars($file).' 
    </textarea> 

    <input type="submit" name="ok" value="speichern"> 
    </form> 
    </body> 
    </html>'; 
} else { 
    $write=fopen($_POST['filename'], "w"); 
    if(fwrite ($write, $_POST['datei'])) { 
        echo "Änderung erfolgreich"; 
    } else { 
        echo "Schreiben fehlgeschlagen. Sind die Rechte richtig gesetzt?"; 
    } 
    fclose($write); 
} 
?>

Wenn ihrs mal angucken wollt....
http://2-takter.immortal-forces.net/test/index.php?file=test.php
Per [GET] File werden dann die Dateien ins Script geladen ...
So ist man flexibler ...

Hoffe jemand findet den Fehler ... oder kann mir weiterhelfen ...
Btw. Datei rechte sind auch alle richtig gesetzt ....

MfG und Danke im Voraus Dennis aka weightwatcher.
 
Zurück