M
matibaski
Guest
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:
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:
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
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'<form name="submit" action="admin.php?site=config&edit=edit" method="POST">
Zur Sicherheit das jetzige Passwort eingeben:<br />
<input type="password" name="pwort" value="" /><br />
<br />
<input type="submit" name="submit" value="Bestätigen" />
</form>';
}
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'<h3>Sie können nun Ihre Daten ändern</h3>
Falls Sie etwas sein lassen wollen, dann lassen Sie das Feld so stehen.<br />
<form name="edit" action="admin.pgp?site=config&edit=true" method="POST">
Passwort für das Login:<br />
<input type="text" name="passwort" value="'.$passwort.'" /><br />
<br />
Daten für die MySQL Datenbank:<br />
<br />
Host:<br />
<input type="text" name="host" value="'.$host.'" /><br />
<br />
User:<br />
<input type="text" name="user" value="'.$user.'" /><br />
<br />
Passwort:<br />
<input type="text" name="pass" value="'.$pass.'" /><br />
<br />
Datenbankname:<br />
<input type="text" name="database" value="'.$db.'" /><br />
<br />
<br />
<input type="submit" name="edit" value="Änderungen speichern" />
</form>';
}
else
{
echo'Das eingegebe Passwort ist falsch. Bitte versuchen Sie es erneut:<br /><br />
<form name="submit" action="admin.php?site=config&edit=edit" method="POST">
Passwort:<br />
<input type="password" name="pwort" value="" /><br />
<br />
<input type="submit" name="submit" value="Bestätigen" />
</form>';
}
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.<br>Sie müssen sich erneut einloggen.<br><br>Klicken Sie <a href=index.php>hier</a>";
}
?>
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')
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