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

PHP will 2. elseif net akzeptieren

Status
Für weitere Antworten geschlossen.
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:
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>";
}
?>
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')
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
 
Werbung:
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'<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>";
}
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.<br>Sie müssen sich erneut einloggen.<br><br>Klicken Sie <a href=index.php>hier</a>";
  }
}
?>
 
Danke..
War eben im stress und hatte keine Zeit einzurücken ;)

Danke!


MfG, matibaski
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben