Feld leerlassen

Mahlzeit!
Hatte kA wie ich den Titel benennen soll.
Also:
Ich habe bei meinem CMS nun die Einstellungen gemacht.
Wenn man auf einstellungen kommt, dass man zur Sicherheit zuerst mal das Passwort eingeben muss, um das Passwort oder den Pfad zu ändern zu können. (Pfad ist für die Bearbeitung der Dateien).

Die Überprüfung ist in einstellungen.php. Es sind insgesamt 3 Dateien, die in einem Ordner sind. Alle 3 werden includiert.

einstellungen.php:
[html]Bitte das Momentige Passwort eingeben, zu Ihrer eigenen Sicherheit:

<?php include"config.php"; ?>

[/html]

Diese wird an save.php übermittelt mit Post.

Die save.php sieht so aus:[php]

<?php include"config.php"; $pword = $passwort; if($_REQUEST['Passwort'] == $passwort) { $Zugangspasswort = $pword; if($_SESSION['Passwort'] == $Zugangspasswort) { echo'Hier können Sie nun Ihr Passwort und Ihren Datenpfad ändern.
Bitte füllen Sie beide Felder aus.
'; echo'Wenn Sie ihr altes Passwort behalten möchten, dann schreiben Sie es erneut ein.
'; echo'Wenn Sie das Feld leerlassen, dann hat es kein Passwort mehr.
'; echo'Und wenn Sie den Pfad leerlassen, dann ist der Pfad ungültig.
'; echo''; echo'

Neues Passwort:
'; echo'
'; echo'
'; echo'Neuer Pfad:
'; echo'
'; echo'
'; echo'

'; echo''; } else { echo 'Ihr Passwort ist nicht gültig!
'; echo 'Zurück'; } } else { echo 'Ihr Passwort ist nicht gültig!
'; echo 'Zurück'; } ?>[/php]

Also wird hier geprüft, ob das eingegeben Passwort richtig ist. Wenn ja, dann erscheinen zwei Felder. Passwortfeld unf Pfadfeld.
Momentan ist es aber so, dass man immer beide ausfüllen muss.
Aber ich möchte es, dass wenn man etwas nicht ändern möchte, einfach leerlassen kann und dass es bleibt.

Das Eingegebene wird auf write.php geschickt, auch mit post.
write.php:
[php]<?php
include(„config.php“); // Konfigurationsdaten
$pword = $_REQUEST[‚Passwort‘]; // Passwort übernehmen
$way = $_REQUEST[‚Pfad‘]; // Pfad übernehmen
$config = „config.php“; // Datei wird bestimmt

if(!isset($_REQUEST[‚Passwort‘])) // Wenn das Passwortfeld leergelassen wurde,
{
$_REQUEST[‚Passwort‘] = $password; // Dann das vorherige Passwort einsetzten
}

if(!isset($_REQUEST[‚Pfad‘])) // Und wen das Pfadfeld leergelassen wurde,
{
$_REQUEST[‚Pfad‘] = $pfad; // Dann vorherigen Pfad beibehalten

if(!$handle = fopen($config,„w+“)) // Datei zum schreiben öffnen
{
die („Kann Datei {$config} nicht ändern!“); // Wenn nicht schreibbar, dann Error ausgeben.
}
else // Wenn doch,
{
// dann Passwort und Pfad schreiben.
fwrite( $handle, ‚<?php' . "\n"); fwrite( $handle, '$passwort = "' . $pword . '";' . "\n"); fwrite( $handle, '$pfad = "' . $way . '";' . "\n"); fwrite( $handle, '?>‘ . „\n“);

fclose($handle); // Ausführung beenden, und
echo „Passwort und Pfad geändert.“; // Erfolgsmeldung zeigen.
}
?> [/php]

Ich habe schon versucht, dass wenn $_REQUEST[‚Passwort‘] oder [‚Pfad‘] leergelassen wurde, dass es einfach die alten daten von config.php nimmt.

Ich dachte mit if(!isset($_REQUEST[‚…‘])) kann man es lösen.
Es kommt aber diese Errormeldung:
Parse error: parse error, unexpected $ in /home/httpd/vhosts/paradoxe.de/subdomains/habboville/httpdocs/admin/einstellungen/write.php on line 31

Auf Linie 31 ist aber nur ?>.
irgendeine Variable ist nicht bestimmt. Doch ich sehe nicht, welche es ist.
In der config.php sieht es so aus:[php]

<?php $passwort = "passwort"; $pfad = "../pfad/"; ?>[/php]

Wenn kein Passwort vom Passwortfeld übernommen wurde, dann solle er $_REQUEST[‚Passwort‘] = $passwort von config.php nehmen.

Ich denke, dass ich sehrwarscheindlich einen Denkfehler habe.
Oder kann man das nicht mit !isset machen?
Wenn nein, was soll ich dann benutzten, oder wie soll iche s machen, dass wenn nichts eingegeben wurd, in ein Feld, dass es das alte einfügt von config.php??

MfG, matibaski

Puh nen haufen Text hab ich nun. :smiley:

Ganz banale Frage, aber warum willst du überhaupt
nicht geänderte Werte eintragen? Wieso lässt du leere
Felder nicht einfach komplett außenvor und trägst nur
die aktualisierten Werte ein?

wie soll ich das nach deiner Meinung machen??

Bin nicht so erfahren in PHP.

$end fehler heißt das ein } fehlt.

vielleicht verstehe ich dich auch falsch :smiley: aber
was ich meine ist folgendes: lass einfach die if abfrage ob
etwas NICHT eingetragen wurde weg ^^ prüfe einfach
nur ob etwas eingetragen wurde
[php]
if(isset($_REQUEST[‚Passwort‘]))
{
//passwort setzen
}
[/php]

wenn nicht dann passiert auch nichts…

danke. :smiley:

MfG, matibaski