Unexpected T_VARIABLE in blabla

Diskutiere Unexpected T_VARIABLE in blabla im Web & Grafik Forum im Bereich Internet & Telekomunikation Forum; Guten Abend, ich bekomme bei folgendem Script immerwieder die Fehlermeldung "Parse error: syntax error, unexpected T_VARIABLE in...
  • Unexpected T_VARIABLE in blabla Beitrag #1
L

Lupercus

Bekanntes Mitglied
Dabei seit
23.01.2008
Beiträge
57
Reaktionspunkte
0
Ort
Hessen
Guten Abend, ich bekomme bei folgendem Script immerwieder die Fehlermeldung "Parse error: syntax error, unexpected T_VARIABLE in xxx/neuereintrag.php on line 14" und finde die Ursache des Problems nicht. Ich bin seit einer Stunde auf der Suche danach und habe bereits alles mögliche probiert, aber die Fehlerquelle einfach nicht gefunden. Ich wäre sehr Dankbar, wenn mir jemand helfen könnte.
PHP:
if(isset($_POST["titel"]) AND ($_POST["autor"]) AND ($_POST["inhalt"])
$sql = mysql_query("INSERT INTO news (datum, titel, autor, inhalt) VALUES('NOW()'".$_POST['titel']."','".$_POST['autor']."','".$_POST['inhalt']."')");
//in der Zeile beginnend mit $sql muss sich der Fehler befinden
if(isset($_POST['send']))
   mysql_query($sql);

MFG
 
  • Unexpected T_VARIABLE in blabla Beitrag #2
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
zähl mal die klammern im if vor dem $sql
 
  • Unexpected T_VARIABLE in blabla Beitrag #3
L

Lupercus

Bekanntes Mitglied
Dabei seit
23.01.2008
Beiträge
57
Reaktionspunkte
0
Ort
Hessen
Jaaa Freu =D Danke. Das ist ja verdammt tückisch, ich dachte die ganze Zeit, dass das mit dem sql-Befehl zusammenhängen würde. Problem gefixt!
 
  • Unexpected T_VARIABLE in blabla Beitrag #4
L

Lupercus

Bekanntes Mitglied
Dabei seit
23.01.2008
Beiträge
57
Reaktionspunkte
0
Ort
Hessen
Bei meiner Arbeit ist nun ein weiteres Problem aufgetreten, für das ich nicht extra einen neuen Thread eröffne und auch nicht so recht weiß wonach ich suchen soll, weil mir die Ursache des Fehlers unbekannt ist und es sich diesmal wahrscheinlich nicht um einen syntaktischen Fehler handelt.
Mein Code sieht wie folgt aus:
PHP:
<?php
include"constant.php";
error_reporting(E_ALL);
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Verbindung zum Datenbankserver fehlgeschlagen: ".'<br><font color="red">'.mysql_error().'</font><br><br>');
@mysql_select_db(MYSQL_DATABASE) OR die("Verbindung zur Datenbank fehlgeschlagen: ".mysql_error());
    echo "
    <form action=\"eintrag.php?seite=neu\" method=\"POST\"><br>
    Titel:<input type=\"text\" size=\"10\" name=\"titel\">        <br>
    Autor:<input type=\"text\" size=\"10\" name=\"autor\">            <br>
    Inhalt:<textarea name=\"inhalt\"></textarea>                       <br>
    <input type=\"submit\" value=\"absenden\" name=\"send\">
    </form>";
if(!isset($_POST['send']))
{
    echo "
    <form action=\"eintrag.php?seite=neu\" method=\"POST\"><br>
    Titel:<input type=\"text\" size=\"10\" name=\"titel\">        <br>
    Autor:<input type=\"text\" size=\"10\" name=\"autor\">            <br>
    Inhalt:<textarea name=\"inhalt\"></textarea>                       <br>
    <input type=\"submit\" value=\"absenden\" name=\"send\">
    </form>";
}
   
    if(!isset($_POST['titel'], $_POST['autor'],
              $_POST['inhalt'])) {
        die("Bitte Benutzen sie das Formular aus dem Gästebuch\n");
    }

    if(trim($_POST['autor']) == "") {
        die("Bitte geben sie einen Namen ein");
    }
    if(trim($_POST['inhalt']) == "") {
        die("Bitte geben sie einen Text ein");
    }

    $sql = "INSERT INTO news (datum, titel, autor, inhalt) VALUES('NOW()'".addslashes(htmlspecialchars($titel))."','".addslashes(htmlspecialchars($autor))."','".addslashes(htmlspecialchars($inhalt))."'";

    @mysql_query($sql);

    echo "<p>Vielen Dank für ihren Eintrag.</p>\n";
?>

So, nun kann ich in das Formular etwas eintippen und absenden, aber die Datenbank will es nicht speichern. Es wird keine Fehlermeldung angezeigt, die DB speichert einfach nur garnichts!

Die Datenbank ist folgend aufgebaut:
id(auto increment), datum, titel, autor inhalt in Tabelle news

Kann vielleicht jemand das Problem analysieren? MFG
 
  • Unexpected T_VARIABLE in blabla Beitrag #5
Pflaume91

Pflaume91

Bekanntes Mitglied
Dabei seit
28.10.2007
Beiträge
395
Reaktionspunkte
0
Ort
ja das ist eine Lange geschichte
Bei meiner Arbeit ist nun ein weiteres Problem aufgetreten, für das ich nicht extra einen neuen Thread eröffne und auch nicht so recht weiß wonach ich suchen soll, weil mir die Ursache des Fehlers unbekannt ist und es sich diesmal wahrscheinlich nicht um einen syntaktischen Fehler handelt.
Mein Code sieht wie folgt aus:
PHP:
<?php
include"constant.php";
error_reporting(E_ALL);
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Verbindung zum Datenbankserver fehlgeschlagen: ".'<br><font color="red">'.mysql_error().'</font><br><br>');
@mysql_select_db(MYSQL_DATABASE) OR die("Verbindung zur Datenbank fehlgeschlagen: ".mysql_error());
    echo "
    <form action=\"eintrag.php?seite=neu\" method=\"POST\"><br>
    Titel:<input type=\"text\" size=\"10\" name=\"titel\">        <br>
    Autor:<input type=\"text\" size=\"10\" name=\"autor\">            <br>
    Inhalt:<textarea name=\"inhalt\"></textarea>                       <br>
    <input type=\"submit\" value=\"absenden\" name=\"send\">
    </form>";
if(!isset($_POST['send']))
{
    echo "
    <form action=\"eintrag.php?seite=neu\" method=\"POST\"><br>
    Titel:<input type=\"text\" size=\"10\" name=\"titel\">        <br>
    Autor:<input type=\"text\" size=\"10\" name=\"autor\">            <br>
    Inhalt:<textarea name=\"inhalt\"></textarea>                       <br>
    <input type=\"submit\" value=\"absenden\" name=\"send\">
    </form>";
}
   
    if(!isset($_POST['titel'], $_POST['autor'],
              $_POST['inhalt'])) {
        die("Bitte Benutzen sie das Formular aus dem Gästebuch\n");
    }

    if(trim($_POST['autor']) == "") {
        die("Bitte geben sie einen Namen ein");
    }
    if(trim($_POST['inhalt']) == "") {
        die("Bitte geben sie einen Text ein");
    }

    $sql = "INSERT INTO news (datum, titel, autor, inhalt) VALUES('NOW()'".addslashes(htmlspecialchars($titel))."','".addslashes(htmlspecialchars($autor))."','".addslashes(htmlspecialchars($inhalt))."'";

    @mysql_query($sql);

    echo "<p>Vielen Dank für ihren Eintrag.</p>\n";
?>

So, nun kann ich in das Formular etwas eintippen und absenden, aber die Datenbank will es nicht speichern. Es wird keine Fehlermeldung angezeigt, die DB speichert einfach nur garnichts!

Die Datenbank ist folgend aufgebaut:
id(auto increment), datum, titel, autor inhalt in Tabelle news

Kann vielleicht jemand das Problem analysieren? MFG

Das liegt meines Erachtens daran, dass du Variablen in deine Tabelle einträgst die nich vorhanden sind. Hättest du das "@" vor dem mysql_query weggemacht würde er dir dies wahrscheinlich auch sagen. Naja um dein Problem zu beheben über gib die $_POST variablen an normale Variablen.

Bsp.:

PHP:
$_POST['titel'] = $titel;
usw...
 
  • Unexpected T_VARIABLE in blabla Beitrag #6
L

Lupercus

Bekanntes Mitglied
Dabei seit
23.01.2008
Beiträge
57
Reaktionspunkte
0
Ort
Hessen
Ah danke, das hatte ich vor lauter anderen Fehlern auskommentiert gehabt. Nun ist es wieder im Script, aber die Daten werden noch immer nicht gespeichert, ich habe hinter dem mysql_query($sql) noch or die(mysql_error()) hinzugefügt und jetzt bekomme ich die Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Mein aktueller Quellcode:
PHP:
<?php
include"constant.php";
error_reporting(E_ALL);
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Verbindung zum Datenbankserver fehlgeschlagen: ".'<br><font color="red">'.mysql_error().'</font><br><br>');
@mysql_select_db(MYSQL_DATABASE) OR die("Verbindung zur Datenbank fehlgeschlagen: ".mysql_error());
    echo "
    <form action=\"eintrag.php?seite=neu\" method=\"POST\"><br>
    Titel:<input type=\"text\" size=\"10\" name=\"titel\">        <br>
    Autor:<input type=\"text\" size=\"10\" name=\"autor\">            <br>
    Inhalt:<textarea name=\"inhalt\"></textarea>                       <br>
    <input type=\"submit\" value=\"absenden\" name=\"send\">
    </form>";
if(!isset($_POST['send']))
{
    echo "
    <form action=\"eintrag.php?seite=neu\" method=\"POST\"><br>
    Titel:<input type=\"text\" size=\"10\" name=\"titel\">        <br>
    Autor:<input type=\"text\" size=\"10\" name=\"autor\">            <br>
    Inhalt:<textarea name=\"inhalt\"></textarea>                       <br>
    <input type=\"submit\" value=\"absenden\" name=\"send\">
    </form>";
}
    $titel = $_POST['titel'];
    $autor = $_POST['autor'];
    $inhalt = $_POST['inhalt'];

    if(!isset($_POST['titel'], $_POST['autor'],
              $_POST['inhalt'])) {
        die("Bitte Benutzen sie das Formular aus dem Gästebuch\n");
    }

    if(trim($_POST['autor']) == "") {
        die("Bitte geben sie einen Namen ein");
    }
    if(trim($_POST['inhalt']) == "") {
        die("Bitte geben sie einen Text ein");
    }

  $sql = "
INSERT INTO
    news
(datum, titel, autor, inhalt)
VALUES(
    'NOW()',
    '".addslashes(htmlspecialchars($titel))."',
    '".addslashes(htmlspecialchars($autor))."',
    '".addslashes(htmlspecialchars($inhalt)."'
)";
    
    mysql_query($sql) or die(mysql_error());

    echo "<p>Vielen Dank für ihren Eintrag.</p>\n";
    echo "
?>
 
  • Unexpected T_VARIABLE in blabla Beitrag #7
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Fehlende Klammer in der dritten Zeile mit addslashes. Hast du keinen Editor, der zu einer Klammer das passende Gegenstück anzeigt? Damit sieht man sowas sofort.
Wenn ich mit Datenbanken arbeite lasse ich mir bei der Entwicklung die Queries immer mit echo ausgeben; dann sieht man sofort, ob die SQL-Anweisung passt.
 
  • Unexpected T_VARIABLE in blabla Beitrag #8
L

Lupercus

Bekanntes Mitglied
Dabei seit
23.01.2008
Beiträge
57
Reaktionspunkte
0
Ort
Hessen
Ja, ich habe mir die query auch bereits per print Befehl ausgeben lassen, jedoch wird bei mir nichts angezeigt.
 
Thema:

Unexpected T_VARIABLE in blabla

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben