[PHP & MySQL] Webdesign Auftrag

LeAnn
Also, ich habe einen Webdesign Auftrag bekommen. Nun bearbeite iich gerade die Seite auf der man die Einstellungen vornehmen kann. Ich verwende dabei folgenden Code, wenn das Formular abgeschickt wurde. (Ist eine Funktion) Die Datei mit der Funktion wird weiter oben includet.

php:
1:
2:
3:
4:
5:
6:
//settingsedit.php
<?
   if(isset($_REQUEST["submit"])) {
     settings($_REQUEST["site_title_n"], $_REQUEST["site_title"])
   }
?>


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
//functions.inc.php
<?
  function updateneu($name, $inhalt) {
  if(exist("settings WHERE name = '".$name."'")) {
    $update = mysql_query("UPDATE settings Set inhalt = '$inhalt' WHERE name = '$name'");
  }
  else {
    $neu = mysql_query("INSERT INTO settings (id, name, inhalt) VALUES ('', '$name', '$inhalt')");
  }
?>


und folgende Fehlermeldung bekomme ich:

Zitat:
Parse error: syntax error, unexpected '}' in D:\Program Files\xampp\htdocs\Webdesign\acp\settingsedit.php on line 12


Und diese Fehlermeldung ergibt keinen Sinn, oder doch? Ich habe es überprüft. Die 12. Zeile ist die Zele in der if(isset($_REQUEST["submit"])) { beendet wird. Und diese Klammer ist richtig. Der Witz ist, wenn ich nicht die Funktion sondern einfach nur den Code benutze funktioniert es.
Hoffe es kann mir jemand helfen.
LG LeAnn
Black Katrin
du soltlest genau wisen das man nie auf genau der zeile gucken soll wo der code ist... du wirst davor irgendwas verpennt haben zu zu machen
LeAnn
ich hab da überhaupt nichts verpennt. ich weiß das man nicht nur auf die Zeile gucken soll.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<?php
    session_start();
    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("header.php");
        include("functions.inc.php");
        refresh($_SESSION["login"]); // refresht
        ?>
        <b>Webseite bearbeiten</b><br />
        <?
            if(isset($_REQUEST["submit"])) {
                settings($_REQUEST["site_title_n"], $_REQUEST["site_title"])
            }
        ?>
MITTELTEIL ENTFERNT
        <?
        include("footer.php");
    }
  else {
  include('header.php');
  echo 'Bitte loggen Sie sich ein!';
  include('footer.php');
  }
?>
sina91
Mh, wo beendest du denn diese Klammer aus der Zeile;

if(exist("settings WHERE name = '".$name."'")) {

(aus functions.inc.php] ..
Vor else in Zeile 18? Was ja nicht allzu sinnvoll wäre, dann dürfte er die else Funktion ja nicht mehr annehmen^^ Allerdings wäre das die einzige } Klammer, die ich quasi ohne Anfang sehe xD

Allerdings weiß ich nicht, ob das der Fehler sein koennte, ich steig aber iwie auch nicht so ganz durch den Code durch ^^
Black Katrin
Zitat:
Original von sina91
Allerdings weiß ich nicht, ob das der Fehler sein koennte, ich steig aber iwie auch nicht so ganz durch den Code durch ^^


so gehts mir auch, ich weiss nciht ob das dein ganzer code ist, welche seite was ist usw.
LeAnn
Hey danke Leute. Es war das ; nach dem aufruf der funktion.

Allerdings kommt jetzt folgender Fehler

Fatal error: Cannot redeclare settings() (previously declared in D:\Program Files\xampp\htdocs\Webdesign\function.inc.php:2) in D:\Program Files\xampp\htdocs\Webdesign\acp\functions.inc.php on line 69

ich zeig euch mal nochmal meinen geänderten code.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//functions.inc.php
<?
    function settings($name, $inhalt) {
        $ergebnis3 = mysql_query("SELECT id FROM settings WHERE name = '".$name."'");
        if (mysql_fetch_object($ergebnis3)) { //soll feststellen ob es existiert
            $update = mysql_query("UPDATE settings Set inhalt = '$inhalt' WHERE name = '$name'");
        } else {
            $neu = mysql_query("INSERT INTO settings (id, name, inhalt) VALUES ('', '$name', '$inhalt')");
        }
    }
?>


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
//settingsedit.php
<?php
    session_start();
    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("header.php");
        include("functions.inc.php");
        refresh($_SESSION["login"]); // refresht
        ?>
        <b>Webseite bearbeiten</b><br />
        <?
            if(isset($_REQUEST["submit"])) {
                settings($_REQUEST["site_title_n"], $_REQUEST["site_title"]);
            }
        ?>
INHALT ENTFERNT
        <?
        include("footer.php");
    }
  else {
  include('header.php');
  echo 'Bitte loggen Sie sich ein!';
  include('footer.php');
  }
?>
1Sm!le
Wenn das ein Auftrag ist, dann sollte man sich vorher überlegen, ob man das kann großes Grinsen Ich hoffe, du bekommst kein Geld dafür?

include wird immer ausgeführt, unabhängig davon, ob der Block ausgeführt wird ... => Du fügst also settings() 2x ein.
LeAnn
Mordred:
Danke hab in der anderen dat schon eine funktion namens settings großes Grinsen großes Grinsen großes Grinsen danke

und nein ich bekome kein geld. und zum zweiten ist es eine private homepage. im internen bereich werden also keine geheimen daten gemacht, sondern lediglich seiten bearbeitet. und für einen laien wird das wohl nicht so leicht zu knacken sein. und profis setzen sich wohl kaum daran das passwort zu knacken bei einer seite auf der man seine hunde vorstellt.
1Sm!le
Sorry, hatte mich verlesen, dass die FUnktion in der header.php ist, und die wird 2x inkludiert ...