Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Webdesign Auftrag (https://www.gegen-bilderklau.net/thread.php?threadid=160047)


Geschrieben von LeAnn am 05.08.2009 um 11:22:

  Webdesign Auftrag

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



Geschrieben von Black Katrin am 05.08.2009 um 11:37:

 

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



Geschrieben von LeAnn am 05.08.2009 um 11:59:

 

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');
  }
?>



Geschrieben von sina91 am 05.08.2009 um 13:00:

 

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 ^^



Geschrieben von Black Katrin am 05.08.2009 um 14:33:

 

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.



Geschrieben von LeAnn am 05.08.2009 um 20:58:

 

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');
  }
?>



Geschrieben von 1Sm!le am 05.08.2009 um 21:11:

 

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.



Geschrieben von LeAnn am 05.08.2009 um 22:11:

 

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.



Geschrieben von 1Sm!le am 05.08.2009 um 22:12:

 

Sorry, hatte mich verlesen, dass die FUnktion in der header.php ist, und die wird 2x inkludiert ...


Forensoftware: Burning Board, entwickelt von WoltLab GmbH