Parse error-Problem

Danielku15

Erfahrenes Mitglied
Hallo.

Ich habe ein Problem. Ich habe ein Script geschrieben. Nun erscheint immer diese Fehlermeldung:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\apachefriends\xampp\htdocs\smallbook\install.php on line 26
Aber in der Zeile hab ich keinen Fehler gefunden. Hier ist die Zeile 26:
$einstellungen = "<?php\n$host = ".$host.";\n$db = ".$db."$benutzer = ".$benutzer.";\n$passwort = ".$passwort.";\n$prefix = ".$prefix";\n";
Vielleicht könnt Ihr mir helfen.


mfg danielku15
 
Danke. Das war das Problem.
Aber ich glaube ich war zu ungeduldig während ich das geschrieben habe.
Da sind glaub ich noch mehr Fehler drinnen.
Ich wäre euch dankbar wenn Ihr das ganze Script mal durchschauen würdet. Wenns euch keine umstände macht. Es gibt ja Leute die suchen gerne nach Fehlern:-) .
Also hier das Script für Fehlersucher;) . Es sollte eine Installation eines Scriptes werden.
Diese Fehlermeldung erscheint nun:
Parse error: parse error, unexpected '.' in C:\apachefriends\xampp\htdocs\smallbook\install.php on line 40


PHP:
<?php
$schritt = $_get['schritt'];
if ($schritt == "" OR $schritt == "willkommen")
{
    include ("../templates/install/templates/install/willkommen.tpl");
}
if($schritt == "disclamer")
{
    include ("../templates/install/templates/install/disclamer.tpl");
    
}
if($schritt == "datenbank") {
    if($_get['akzeptiert']==1){
        echo "Nutzungsbedungungen nicht akzeptiert.\n <a href=\"history.back(1)\">Zurück</a>";
    }
    else{
    include ("../templates/install/templates/install/datenbank.tpl");
    }
}
if($schritt == "db_erstellen"){
    $host = $_get['host'];
    $db = $_get['datenbank'];
    $benutzer = $_get['benutzer'];
    $passwort = $_get['passwort'];
    $prefix = $_get['prafix'];
    $einstellungen = "<?php\n$host = ".$host.";\n$db = ".$db."$benutzer = ".$benutzer.";\n$passwort = ".$passwort.";\n$prefix = ".$prefix.";\n";
    $eingabe = fopen('config.php', 'a');
    fputs($eingabe,$einstellungen);
    fclose($eingabe);
    $sql = 'CREATE TABLE `$prefix_smallbook` ( `ID` INT( 14 ) UNSIGNED NOT NULL AUTO_INCREMENT ,'
        . ' `absender` CHAR( 255 ) ,'
        . ' `email` CHAR( 255 ) ,'
        . ' `homepage` CHAR( 255 ) ,'
        . ' `betreff` CHAR( 255 ) ,'
        . ' `message` MEDIUMTEXT,'
        . ' `datum` DATE,'
        . ' `pruef` TINYINT( 2 ) DEFAULT \'-1\','
        . ' PRIMARY KEY ( `ID` ) );'
        . ' ';
        . 'CREATE TABLE `$prefix_admin ` ( `ID` INT UNSIGNED NOT NULL AUTO_INCREMENT ,'
        . ' `admin` CHAR( 50 ) BINARY DEFAULT \'admin\','
        . ' `admin_pw` CHAR( 50 ) DEFAULT \'admin\','
        . ' `admin2` TINYINT( 2 ) DEFAULT \'1\' NOT NULL ,'
        . ' `beschreibung` CHAR( 255 ) ,'
        . ' `kennung` CHAR( 50 ) ,'
        . ' `zeit` DATETIME,'
        . ' PRIMARY KEY ( `ID` ) );'
        . ' ';
    $erstellt = "Smallbook";
    $link = mysql_connect($host, $benutzer, $passwort);
    if (mysql_db_query($db, $sql, $link)) {
        include ("../templates/install/templates/install/erstellt.php");
    }
    else {
        include ("../templates/install/templates/install/nicht_erstellt.php");
    }
    mysql_close($link);
}
if($schritt==einstellungen)
{
    include ("../templates/install/templates/install/einstellungen.tpl");
}
if($schritt==admin)
{
    $url = $_get['url'];
    $titel_seite = $_get['titel'];
    $einstellungen2 = "$url = ".$url.";\n$titel = ".$titel."\n";
    $eingabe = fopen('config.php', 'a');
    fputs($eingabe,$einstellungen2);
    fclose($eingabe);
    include ("../templates/install/templates/install/admin.tpl");
}
if($schritt==finish)
{
    $admin = $_get['admin'];
    $admin_pw = $_get['admin_pw'];
    $mail = $_get['email'];
    $tabellenname="smallbook";
    include ("config.php");
    $sql="INSERT INTO $tabellenname (admin, admin_pw) values ('".$admin."', '".$admin_pw."',)";
    $link = mysql_connect($host, $benutzer, $passwort);
    mysql_select_db("smallbook", $link);
    mysql_query($sql, $link);
    $einstellungen3 = "$admin = ".$admin.";\n$admin_pw = ".$admin_pw.";\n$mail = ".$mail.";\n";
    $eingabe = fopen('config.php', 'a');
    fputs($eingabe,$einstellungen);
    fclose($eingabe);
    include ("../templates/install/abgeschlossen.tpl");

    
?>

mfg danielku15
 
Wie die Fehlermeldung bereits besagt: In Zeile 40 hat der Interpreter ein Problem. Und siehe da. Du schließt einen String ab, beginnst aber keinen neuen, sondern versuchst einen bestehenden fortzusetzen.

Bist Du so nett und beseitigst Deine Parse-Error selbständig? So schwer ist das doch nun wirklich nicht, zumal immer die fehlerhafte Zeilennummer angegeben wird.

snuu
 
Nächstes Problem.
Normalerweise müsste wenn ich die Url install.php?schritt=disclamer im Browser aufrufe, die Datei disclamer.tpl included werden. Das ist aber nicht der Fall. Er included immer die Datei willkommen.tpl . Da hab ich mir gedacht vielleicht liegt es an der Zeile:
if ($schritt == "" OR $schritt == "willkommen")
dann hab ich den Teil $schritt == "" gelöscht. Nun zeigt er mir bei der Url install.php?schritt=disclamer gar keine Seite mehr an. Woran könnte das liegen?

mfg danielku15
 
Schau mal auf die 2. Zeile da steht:
PHP:
$schritt = $_get['schritt'];
Müsste doch so auch funktionieren.
[EDIT] Ich weiß woran es liegt. Wenn ich die Seite über install.php?schritt=willkommen aufrufe, müsste normalerweise die Variable $schritt auf willkommen gesetzt werden, richtig? Aber die Variable bleibt leer. Weil wenn ich die Zeile
PHP:
if ($schritt=="willkommen")
durch die Zeile
PHP:
if ($schritt=="willkommen" OR $schritt=="")
ersetze zeigt es mir immer die Willkommensseite an und beim obigen code zeigt er mir gar nichts an. Wie kann ich die Variable richtig zuweisen?

mfg danielku15
 
Zuletzt bearbeitet:
Zurück