• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

install.php soll config.php erstellen

Status
Für weitere Antworten geschlossen.
Hab's versucht.
Ging nicht.
Er gibt immer wieder den Error, unexpected T_VARIABLE aus.

Der Code:
PHP:
<?php
$pass = $_REQUEST['Passwort']; // Passwort
$config = "../config.php";

//Prüfen ob sich in das Verzeichnis schreiben lässt
if(!is_writable("../"))
{
   die ("kann nicht ins verzeichnis schreiben!");
}
if(!$handle = fopen($config,"w+"))
{
  die ("Kann Datei {$config} nicht anlegen!");
}
else
{
  fwrite('<?php $passwort = "'$handle,$pass.'"; ?>');
  fclose($handle);
  echo "Datei angelegt und Passwort hineingeschrieben<br>Mit <a href=\"../index.php\">diesem Link</a> kommen Sie zur Startseite.";
}
?>
Die Zeile in der er schreiben soll:
PHP:
fwrite('<?php $passwort = "'$handle,$pass.'"; ?>');
Umgeschrieben in config.php sollte es so aussehen:
PHP:
<?php $passwort = "eingetragenes_passwort"; ?>
 
escapen bringt auch nix.
Also auf jeden Fall bekam ich mit diesem Versuch auch wieder die gleiche Fehlermeldung.

Vielleicht hab ich es falsch gemacht.

Könntest du es mal zeigen, wie du es machen würdest?

Meine Version:
PHP:
  fwrite('<?php $
          passwort = "'
          $handle,$pass.
          '"; ?>');
 
*LOL* dem menschen ist nicht geholfen, aber die Ansätze sind goil .....

@matibaski

Nachdem Du mit fopen die Datei erstellt/geöffnet hast, musst du folgende Einträge zum Schreiben verwenden:
Code:
fwrite( $handle, '<?php' . "\n");
fwrite( $handle, '$passwort = "' . $passwort . '";' . "\n");
fwrite( $handle, '$pfad = "' . $pfad . '";' . "\n");
fwrite( $handle, '?>' . "\n");

Zur Beschreibung, was Du da abtippst und wo Du Deine Fehler hattest:
1. fwrite - Funktionsbeschreibung LESEN! 1. Parameter ist das FileHandle, der 2. der abzuspeichernde Inhalt.
2. Du musst/solltest in Deinen Szenario die Datei komplett erstellen, also mit für PHP notwendigen <?php und ?> (1. und letzte Zeile)
3. Zur Übersicht ist ein Zeilenvorschub "\n" nach dem Inhalt angefügt worden. So wird jede Ausgabezeile auch in der Datei eine eigene Zeile
4. "..." wertet innen abgelegte Variablen aus, '...' nicht.
5. Der Punkt (.) verbindet die links und rechts stehenden Zeichenketten aneinander.

Ansonsten meine Tip .... http://www.php.net -> Die Funktionsreferenz ist in Deutsch verfügbar :-)

Gruß,
Jumper, the II.
 
afaik benötigt eval kein abschließendes ?>...
also braucht man das dann auch nicht schreiben.
 
Vielen Dank an alle, die mir geholfen haben.
Mein Admintool ist bald fertig.

Ich werde es mal als ZIP (später) veröffentlichen und dann könnt ihr mir mal sagen wie es ist.
(Von einem Homepage macher, der erst seit kurzem mit PHP begonnen hat).
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben