Ich will mir zu ner datei nen PHP-Editor schreiben was auch soweit schon gut klappt aber wenn ich eine Zeile verändere dann erkennt meine if-abfrage das nicht, obwohl sie eindeutig verändert ist wenn ich mir sie anzeigen lasse! Ich erhalte immer für jeden ausdruck "Verändert!" obwohl ich nur 1 oder keines verändert hab...
(Ist noch etwas billig gecodet und hat auch schon n paar Sachen drin die später bei mir zum einsatz kommen sollen wenn ich speichere)
das Template "langfields" dazu:
Die Datei "lang_strings.php" ist so aufgebaut:
$lang['navi_home']="Home";
Und hier mal ein Bild von dem Ergebniss:
Ich hoffe ich konnt mein problem verständlich schildern!
Danke für Hilfe
(Ist noch etwas billig gecodet und hat auch schon n paar Sachen drin die später bei mir zum einsatz kommen sollen wenn ich speichere)
PHP-Code:
<?php
if(isset($_POST['action']) && $_POST['action']=="save" && isset($_POST['file'])) {
$i=0;
$j=0;
$handle = fopen($_POST['file'], "r");
while(!feof($handle)) {
$line=fgets($handle, 4096);
if(strstr($line, '$lang[')) {
$replace_phrase = ".*\['(.*)'\] = \"(.*)\";";
$param=preg_replace("/".$replace_phrase."/isUe", "('\\1')", $line);
$replace=preg_replace("/".$replace_phrase."/isUe", "('\\2')", $line);
// Hier ist mein Problem
if($_POST['param'.$i] != $param) {
echo "Verändert!
";
}
$i++;
}
}
fclose($handle);
$j++;
echo "Die Datei \"".$_POST['file']."\" wurde erfolgreich bearbeitet!";
}
$file="lang_strings.php";
$i=0;
$langfields="";
$handle = fopen($file, "r");
while(!feof($handle)) {
$line=fgets($handle, 4096);
if(strstr($line, '$lang[')) {
$replace_phrase = ".*\['(.*)'\] = \"(.*)\";";
$param=preg_replace("/".$replace_phrase."/isUe", "addslashes('\\1')", $line);
$replace=preg_replace("/".$replace_phrase."/isUe", "addslashes('\\2')", $line);
eval("\$langfields .= \"".$tpl->out("langfield")."\";");
$i++;
}
}
fclose($handle);
echo "<form action=\"edit.php\" method=\"post\">";
echo "<input type=\"hidden\" name=\"action\" value=\"save\">";
echo "<input type=\"hidden\" name=\"file\" value=\"$file\">";
echo $langfields;
echo "<input type=\"submit\">";
echo "</form>
";
?>
PHP-Code:
<?php
<input type="text" name="param$i" value="$param"> <input type="text" name="replace$i" value="$replace">
?>
$lang['navi_home']="Home";
Und hier mal ein Bild von dem Ergebniss:
Ich hoffe ich konnt mein problem verständlich schildern!
Danke für Hilfe
Kommentar