PHP will 2. elseif net akzeptieren

Moin!
Ich baue ein G-Book tool, um die Beiträge online zu administrieren. Nun bin ich soweit, dass ich es machen will, dass man die Verbindung zur DB online ändern kann, sowie das Loginpasswort.

Also momentan siehts so aus:
[php]

<?php include"config.php"; $config = "config.php"; // Datei wird bestimmt if(!isset($_GET['edit'])) // Wenn noch nichts geändert wurde, { // Passwort auffordern, für Schutz echo' Zur Sicherheit das jetzige Passwort eingeben:


'; } elseif($_GET['edit'] == 'edit') // Wenn edit bestimmt wurde, prüfen ob es edit ist. Wenn ja, { // Passwort prüfen. Wenn es stimmt, Form ausgeben für Passwort änderung, bzw. MySQL änderung. if($_REQUEST['pwort'] == $passwort) { echo'

Sie können nun Ihre Daten ändern

Falls Sie etwas sein lassen wollen, dann lassen Sie das Feld so stehen.
Passwort für das Login:


Daten für die MySQL Datenbank:

Host:


User:


Passwort:


Datenbankname:



'; } else { echo'Das eingegebe Passwort ist falsch. Bitte versuchen Sie es erneut:

Passwort:


'; } elseif($_GET['edit'] == 'true') // Wenn es true ist, { $handle = fopen($config,"w+"); // Datei zum schreiben öffnen fwrite( $handle, '<?php' . "\n"); fwrite( $handle, '$passwort = "' . $_REQUEST['Passwort'] . '";' . "\n"); fwrite( $handle, "\n"); fwrite( $handle, '$host = "' . $_REQUEST['host'] . '";' . "\n"); fwrite( $handle, '$user = "' . $_REQUEST['user'] . '";' . "\n"); fwrite( $handle, '$pass = "' . $_REQUEST['pass'] . '";' . "\n"); fwrite( $handle, '$db = "' . $_REQUEST['database'] . '";' . "\n"); fwrite( $handle, "\n"); fwrite( $handle, '@mysql_connect($host, $user, $pass) OR die("Verbindung zur DB fehlgeschlagen");' . "\n"); fwrite( $handle, '@mysql_select_db($db) OR die(mysql_error());' . "\n"); fwrite( $handle, '?>' . "\n");

fclose($handle); // Ausführung beenden
echo „Daten geändert.
Sie müssen sich erneut einloggen.

Klicken Sie hier“;
}
?>
[/php]Es gibt beim 2. Elseif diesen Error aus:
Parse error: syntax error, unexpected T_ELSEIF in /home/httpd/vhosts/paradoxe.de/subdomains/matibaski/httpdocs/MyB/_private/gbook/config/config.php on line 54

Das wäre diese Zeile:
[php]
elseif($_GET[‚edit‘] == ‚true‘)
[/php]Nun möchte ich wissen, was da falsch abläuft. Darf man nur 1 elseif verwenden?

Also das Script funktioniert so:
Zuerst ptrüft es, ob schon was gemacht wurde. Wenn nicht, dann gibt man eine Form aus, dass man zur Sicherheit das Passwort eingibt.

Wenn dies stimmt, kommt eine Form für das neue Passwort, bzw. für die DB Verbindung. Wenn nicht, wird man erneut aufgefragt, das Passwort anzugeben, bis es stimmt.

Wenn man die angaben gemacht hat, (also geändert) dann geht das Script zum 2. elseif, indem alles ind die config.php geschrieben wird (ist im Überordner dieser config.php. Aber die angabe oben mit der Variable $config stimmt, denn diese ist imselben Ordner wo diese Datei includet ist (admin.php))

Ich hoffe, jemand kann mir helfen.

MfG, matibaski

Hättest du den Code mal richtig eingerückt, hättest du gemerkt das vor dem elseif eine } Klammer fehlt.

[PHP]<?php
include"config.php";
$config = „config.php“; // Datei wird bestimmt

if(!isset($_GET[‚edit‘])) // Wenn noch nichts geändert wurde,
{
// Passwort auffordern, für Schutz
echo’
Zur Sicherheit das jetzige Passwort eingeben:






‚;
}
elseif($_GET[‚edit‘] == ‚edit‘) // Wenn edit bestimmt wurde, prüfen ob es edit ist. Wenn ja,
{
// Passwort prüfen. Wenn es stimmt, Form ausgeben für Passwort änderung, bzw. MySQL änderung.
if($_REQUEST[‚pwort‘] == $passwort)
{
echo‘

Sie können nun Ihre Daten ändern


Falls Sie etwas sein lassen wollen, dann lassen Sie das Feld so stehen.


Passwort für das Login:





Daten für die MySQL Datenbank:



Host:





User:





Passwort:





Datenbankname:








‚;
}
else
{
echo’Das eingegebe Passwort ist falsch. Bitte versuchen Sie es erneut:



Passwort:






‘;
}
}
elseif($_GET[‚edit‘] == ‚true‘) // Wenn es true ist,
{
$handle = fopen($config,„w+“); // Datei zum schreiben öffnen
fwrite( $handle, ‚<?php' . "\n"); fwrite( $handle, '$passwort = "' . $_REQUEST['Passwort'] . '";' . "\n"); fwrite( $handle, "\n"); fwrite( $handle, '$host = "' . $_REQUEST['host'] . '";' . "\n"); fwrite( $handle, '$user = "' . $_REQUEST['user'] . '";' . "\n"); fwrite( $handle, '$pass = "' . $_REQUEST['pass'] . '";' . "\n"); fwrite( $handle, '$db = "' . $_REQUEST['database'] . '";' . "\n"); fwrite( $handle, "\n"); fwrite( $handle, '@mysql_connect($host, $user, $pass) OR die("Verbindung zur DB fehlgeschlagen");' . "\n"); fwrite( $handle, '@mysql_select_db($db) OR die(mysql_error());' . "\n"); fwrite( $handle, '?>‘ . „\n“);
fclose($handle); // Ausführung beenden
echo „Daten geändert.
Sie müssen sich erneut einloggen.

Klicken Sie hier“;
}
else
{
if($_REQUEST[‚Passwort‘]) // Wenn Passwort geändert wurde,
{
$handle = fopen($config,„w+“); // Datei zum schreiben öffnen
fwrite( $handle, ‚<?php' . "\n"); fwrite( $handle, '$passwort = "' . $_REQUEST['Passwort'] . '";' . "\n"); fwrite( $handle, '$pfad = "' . $pfad . '";' . "\n"); fwrite( $handle, '?>‘ . „\n“);
fclose($handle); // Ausführung beenden
echo „Passwort geändert.
Sie müssen sich erneut einloggen.

Klicken Sie hier“;
}
}
?>[/PHP]

Danke…
War eben im stress und hatte keine Zeit einzurücken :wink:

Danke!

MfG, matibaski

Zum Einrücken sollte man im Programmieren immer Zeit haben. Dann verhindert man genau solche Fehler :wink: