Parseerror bei Memberscript

cctnt

Erfahrenes Mitglied
Ich code gerade an einem Memberscript und bekomm bei diesem code block nen parseerror.

Code:
elseif(isset($_POST['submit']) AND "Member hinzufügen" == $_POST['sumbit'])    
{        
$sql = "INSERT INTO                    
member                
SET                    
Name = '".addslashes($_SESSION['Name'])."',             
Email = '".addslashes($_SESSION['Email'])."',                    
Geburtstag = '".addslashes($_SESSION['geb'])."',                    
ICQ = '".addslashes($_SESSION['ICQ'])."',                    
Joined = '".addslashes($_SESSION['join'])."',                    
Prozessor = '".addslashes($_SESSION['Prozessor'])."',                    
Grafikkarte = '".addslashes($_SESSION['Grafikkarte'])."';";
$result = new Query($sql);        
if($result->error())        
{            
die("<pre>".$result->getError()."</pre>\n");        
}        
unset($result);        
$id = mysql_insert_id();        
foreach($_SESSION['history'] as $value)        
{            
$sql = "INSERT INTO                        
member_laufbahn                    
SET                        
MemberID = '".$id."',                        
Von = '".$value['Von']."',                        
Bis = '".$value['Bis']."',                        
Clan = '".addslashes($value['Clan'])."',                        
Clanlink = '".addslashes($value['Link'])."';";            
$result = new Query($sql);            
if($result->error())            
{                
ie("<pre>".$result->getError()."</pre>\n");            
}            
unset($result);        
}        
echo("<p>\n");        
echo("    Der Member wurde hinzugefügt.");        
echo("</p>\n");        
back2admin();    
}

laut der parseerror aussage findet er in der zeile 282 statt welche ich andersfärbig markiert habe.

Kann mir wer helfen?
 
Hi!

dein Fehler liegt in folgender line:

PHP:
elseif(isset($_POST['submit']) AND "Member hinzufügen" == $_POST['sumbit'])

wenn dann sollte die so in etwas aussehen:

PHP:
..AND (isset($_POST['sumbit']) == "Member hinzufügen") ...
 
Wie genau denn?

mit deinem code stück kann ich leider ziemlich wenig anfangen mit meinen php kenntnissen.
 
Original geschrieben von cctnt
Wie genau denn?

mit deinem code stück kann ich leider ziemlich wenig anfangen mit meinen php kenntnissen.
PHP:
elseif(isset($_POST['submit']) AND $_POST['sumbit'] == "Member hinzufügen") {
    $sql = "INSERT INTO ".
                "member ".
           "SET ".
                "Name           = '".addslashes($_SESSION['Name'])."', ".
                "Email          = '".addslashes($_SESSION['Email'])."', ".
                "Geburtstag     = '".addslashes($_SESSION['geb'])."', ".
                "ICQ            = '".addslashes($_SESSION['ICQ'])."', ".
                "Joined         = '".addslashes($_SESSION['join'])."', ".
                "Prozessor      = '".addslashes($_SESSION['Prozessor'])."', ".
                "Grafikkarte    = '".addslashes($_SESSION['Grafikkarte'])."'";

    $result = new Query($sql);
    if($result->error()) {
        die("<pre>".$result->getError()."</pre>\n");
    }
    unset($result);
    $id = mysql_insert_id();
    foreach($_SESSION['history'] as $value) {
        $sql = "INSERT INTO ".
                    "member_laufbahn ".
               "SET ".
                    "MemberID   = '".$id."', ".
                    "Von        = '".$value['Von']."', ".
                    "Bis        = '".$value['Bis']."', ".
                    "Clan       = '".addslashes($value['Clan'])."', ".
                    "Clanlink   = '".addslashes($value['Link'])."'";
        $result = new Query($sql);

        if($result->error()) {
            die("<pre>".$result->getError()."</pre>\n");
        }
        unset($result);
    }
    echo("<p>\n");
    echo("Der Member wurde hinzugefügt.");
    echo("</p>\n");
    back2admin();
}

Drei Hinweise:

Ich kenn die Datenbank-Klasse nicht, aber in der Regel endet ein Datenbank-Query nicht mit dem Semikolon. Außerdem ist Dein Insert-Statement etwas falsch. Hab ich aber jetzt nicht extra angepasst. Entweder Du trägst die Daten als neuen Datensatz in die Datenbank ein, oder Du machst ein Update auf einen bestehenden Datensatz.

Das korrekte Insert-Statement würde so aussehen:

Code:
INSERT INTO table (spalte1, spalte2, spalte 3) VALUES ('wert1',wert2, 'wert3')
Wohingegen das korrete Update-Statement so aussieht:
Code:
UPDATE table SET spalte1 = 'wert1', spalte2 = 'wert2', spalte3 = 'wert3' WHERE id = nummer vom datensatz
Da ich den vorausgegangen Code nicht kenne, weiß ich nicht, was vor elseif steht. Normalerweise steht da eine geschweifte Klammer.

PHP:
if($bedinung == "mach was") {
     echo "foo";
} elseif ($bedingung == "mach was anderes") {
     echo "bar";
} else {
     echo "foobar";
}
Bitte achte Doch bei Deinen Threads auf die Netiquette! :)
 
Danke für die Antwort
hat mir sehr geholfen.

Zu der Netiquette: Ich versuchs schon so gut ich kann aber ich bin eben einer der nur Chatsprache schreibt und das fällt das umgewöhnen sehr schwer.

Edit:
Funktioniert leider immer noch ned.
Sollte ich vielleicht das script vielleicht hochladen?

Ich bin schon am verzweifeln wegen diesem fehler, weil sonst alles funktioniert.
 
Zuletzt bearbeitet:
..Bitte in Zukunft nur Fehler Ausgaben posten... Saetze wie "..es funktioniert immer noch nicht" ..helfen weder Dir noch uns weiter .. ;)

es schadet sicherlich nicht wenn Du mal dein Script postest oder gar besser als Anhang zu verfuegung stellst.
 
Nach mehrmaligen rumprobieren und Fehlersuchen hab ich den einen fehler jetzt wegbekommen.

Jetzt ist ein neuer fehler da:

Fatal error: Cannot instantiate non-existent class: query in /usr/local/apache/www/web1/html/azrael/page/dp/admin/admin_member.php on line 777

Hier hab ich die sql abfrage:
PHP:
$sql = "SELECT                            
	ID,                            
	Name                        
	FROM                            
	member                        
	ORDER BY                            
	Name ASC;";                
	$Member = new Query($sql);

Ich weis mein Codingstil is s****** und schmutzig bis zum geht nimma aber ich kanns ned besser.

wenns hilft zeig ich die sql tabellen die angelegt werden müssen nach dem Tutorial wo ich das script gecodet habe.

Code:
member(ID,Name,Email,Geburtstag,ICQ,Joined,Prozessor,Grafikkarte)
member_laufbahn(ID,MemberID,Von,Bis,Clan,Clanurl)
 
Zurück