Antworten auf deine Fragen:
Neues Thema erstellen

PHP Parse Error in der letzten Zeile

Rum0

PSler

Das ist jetzt das erste Mal, das ich PHP gecodet habe.
Ich habe alle Fehler anhand der Parse Error Meldungen ausgemerzt gekriegt...
(alles kleinere fehler, wie z.B. Semikolon oder ein Paar Klammern vergessen)
aber den hier versteh ich nicht...
Parse error: parse error in D:\Programme\xampp\htdocs\genesis\auswertung.php on line 77
(wie ihr seht mit xampp getestet :OP)
Besagte Line ist die letzte im ganzen Code, in der überhaupt kein PHP Code vorkommt...
Hier mal sämtlicher Code (zum Auslesen eines Formulars in Verbindung mit einer Datenbank...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Ergebnisse</title>

</head>
<body>
<?php
include('config.php');
if(!isset($abfrage))
{
$realm = $_POST["realm"];
$addspecial = $_POST["add_special"];
$equip = $_POST["equip"];
$weapon_kind = $_POST["weapon_kind"];
$weapon_hand = $_POST["weapon_hand"];
$armor_kind = $_POST["armor_kind"];
$armor_place = $_POST["armor_place"];
$special = $_POST["special"];
$epic_class = $_POST["epic_class"];
if($realm!="all") if($addspecial=="yes")$abfrage = "SELECT * FROM ids WHERE realm ='no' OR realm = '$realm'";
else{$abfrage = "SELECT * FROM ids WHERE realm ='$realm'";
if($equip != "all") $abfrage .= "AND equip = '$equip'";
if($weapon_kind != "all") $abfrage .= "AND weapon_kind = '$weapon_kind'";
if($weapon_hand != "all") $abfrage .= "AND weapon_hand = '$weapon_hand'";
if($armor_kind != "all") $abfrage .= "AND armor_kind = '$armor_kind'";
if($armor_place != "all") $abfrage .= "AND armor_place = '$armor_place'";
if($special != "all") $abfrage .= "AND special = '$special'";
if($epic_class != "all") $abfrage .= "AND epic_class = '$epic_class'";
}
$ergebnis = mysql_query($abfrage);
$anzahl_ergebnisse = mysql_num_rows($ergebnis);
?>

<div name="anzahl">
<p>
Es wurden
<?php echo $anzahl_ergebnisse; ?>
Ausrüstungsgegenstände gefunden.
</p>
</div>

<div name="ergebnisse">
<table>
<tr>
<td>ID</td>
<td>Name</td>
<td>Realm</td>
<td>Equip</td>
<td>Weapon_kind</td>
<td>Weapon_hand</td>
<td>Armor_kind</td>
<td>Armor_place</td>
<td>Special</td>
<td>Epic_class</td>
</tr>
<?php
while($row = mysql_fetch_object($ergebnis))
{echo "<tr>";
echo "<td>" . $row ->id . "</td>";
echo "<td>" . $row ->name . "</td>";
echo "<td>" . $row ->realm . "</td>";
echo "<td>" . $row ->equip . "</td>";
echo "<td>" . $row ->weapon_kind . "</td>";
echo "<td>" . $row ->weapon_hand . "</td>";
echo "<td>" . $row ->armor_kind . "</td>";
echo "<td>" . $row ->armor_place . "</td>";
echo "<td>" . $row ->special . "</td>";
echo "<td>" . $row ->epic_class . "</td>";
echo "<tr>";}?>
</table>
</div>

</body>
</html>

Sorry, dass das so lang ist....
Wenn ich z.B. die letzte Line lösche, dann kommt das der Fehler in der Line mit Inhlt: </body> ist und so weiter...
Hoffentlich könnt ihr mir helfen...

MfG und Thx im Vorraus,

Rum0

PS: Ihr könnt mir natürlich auch gerne Tipps bezüglich des restlichen Codes geben... aber in erster Linie soll die Seite erst Mal angezeigt werden :p
 

stb_87

Web-Sheriff - ohne Bild

AW: PHP Parse Error in der letzten Zeile

Ich habe bisher die Erfahrung gemacht, dass dieser Fehler kommt, wenn irgendwelche Klammern nicht korrekt geschlossen wurden.
 

Haetti

Nicht mehr ganz neu hier

AW: PHP Parse Error in der letzten Zeile

hallo Rum0

das Problem liegt in der 25. Zeile. Für das else { fehlt das abschliessende }. Falls das in der 32. Zeile das abschliessende } ist, so fehlt halt vor dem else eins, das if { abschliesst ;)

Wenn du eine Fehlermeldung wie diese hast, die auf die letzte Zeile zeigt, kannst du eigentlich davon ausgehen, dass du irgendwo mehr Klammern geöffnet als geschlossen hast. Spätestens beim letzten Zeichen nämlich fehlt die abschliessende Klammer ;)

hoffe, du hast mein Erklärungsversuch verstanden.

Gruss
Hätti
 

junkass

Noch nicht viel geschrieben

AW: PHP Parse Error in der letzten Zeile

Generell kann ich Dir nur empfehlen, den Quelltext immer vernünftig einzurücken und bei Schleifen die Klammern zu setzen. Dann findet man solche Fehler wesentlich leichter.
 
S

SGLog

Guest

AW: PHP Parse Error in der letzten Zeile

Hi, ich bin mir zwar nicht sicher ob das script so ausgefürt wird wie du es dir Vorstellst aber so ist deine Fehler Meldung behoben.

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Ergebnisse</title>

</head>
<body>
<?php

include('config.php');

if(!isset($abfrage))
{
$realm = $_POST["realm"];
$addspecial = $_POST["add_special"];
$equip = $_POST["equip"];
$weapon_kind = $_POST["weapon_kind"];
$weapon_hand = $_POST["weapon_hand"];
$armor_kind = $_POST["armor_kind"];
$armor_place = $_POST["armor_place"];
$special = $_POST["special"];
$epic_class = $_POST["epic_class"];
}


if($realm!="all" and $addspecial=="yes")
{
    $abfrage = "SELECT * FROM ids WHERE realm ='no' OR realm = '$realm'";
}
else
{
    $abfrage = "SELECT * FROM ids WHERE realm ='$realm'";
}

if($equip != "all")
{
    $abfrage .= "AND equip = '$equip'";
}

if($weapon_kind != "all")
{
    $abfrage .= "AND weapon_kind = '$weapon_kind'";
}

if($weapon_hand != "all")
{
    $abfrage .= "AND weapon_hand = '$weapon_hand'";
}

if($armor_kind != "all")
{
    $abfrage .= "AND armor_kind = '$armor_kind'";
}

if($armor_place != "all")
{
    $abfrage .= "AND armor_place = '$armor_place'";
}

if($special != "all")
{
    $abfrage .= "AND special = '$special'";
}

if($epic_class != "all")
{
$abfrage .= "AND epic_class = '$epic_class'";
}

$ergebnis = mysql_query($abfrage);
$anzahl_ergebnisse = mysql_num_rows($ergebnis);
?>

<div name="anzahl">
<p>
Es wurden
<?php echo $anzahl_ergebnisse; ?>
Ausrüstungsgegenstände gefunden.
</p>
</div>

<div name="ergebnisse">
<table>
<tr>
<td>ID</td>
<td>Name</td>
<td>Realm</td>
<td>Equip</td>
<td>Weapon_kind</td>
<td>Weapon_hand</td>
<td>Armor_kind</td>
<td>Armor_place</td>
<td>Special</td>
<td>Epic_class</td>
</tr>
<?php

while($row = mysql_fetch_object($ergebnis))
    {
    echo "<tr>";
    echo "<td>" . $row ->id . "</td>";
    echo "<td>" . $row ->name . "</td>";
    echo "<td>" . $row ->realm . "</td>";
    echo "<td>" . $row ->equip . "</td>";
    echo "<td>" . $row ->weapon_kind . "</td>";
    echo "<td>" . $row ->weapon_hand . "</td>";
    echo "<td>" . $row ->armor_kind . "</td>";
    echo "<td>" . $row ->armor_place . "</td>";
    echo "<td>" . $row ->special . "</td>";
    echo "<td>" . $row ->epic_class . "</td>";
    echo "<tr>";
    }
?>

</table>
</div>

</body>
</html>
Und hier das Script wie es die Vorgänger erklärt haben.

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Ergebnisse</title>

</head>
<body>
<?php
include('config.php');
if(!isset($abfrage))
{
$realm = $_POST["realm"];
$addspecial = $_POST["add_special"];
$equip = $_POST["equip"];
$weapon_kind = $_POST["weapon_kind"];
$weapon_hand = $_POST["weapon_hand"];
$armor_kind = $_POST["armor_kind"];
$armor_place = $_POST["armor_place"];
$special = $_POST["special"];
$epic_class = $_POST["epic_class"];
if($realm!="all") if($addspecial=="yes")$abfrage = "SELECT * FROM ids WHERE realm ='no' OR realm = '$realm'";
}
else{$abfrage = "SELECT * FROM ids WHERE realm ='$realm'";
if($equip != "all") $abfrage .= "AND equip = '$equip'";
if($weapon_kind != "all") $abfrage .= "AND weapon_kind = '$weapon_kind'";
if($weapon_hand != "all") $abfrage .= "AND weapon_hand = '$weapon_hand'";
if($armor_kind != "all") $abfrage .= "AND armor_kind = '$armor_kind'";
if($armor_place != "all") $abfrage .= "AND armor_place = '$armor_place'";
if($special != "all") $abfrage .= "AND special = '$special'";
if($epic_class != "all") $abfrage .= "AND epic_class = '$epic_class'";
}
$ergebnis = mysql_query($abfrage);
$anzahl_ergebnisse = mysql_num_rows($ergebnis);
?>

<div name="anzahl">
<p>
Es wurden
<?php echo $anzahl_ergebnisse; ?>
Ausrüstungsgegenstände gefunden.
</p>
</div>

<div name="ergebnisse">
<table>
<tr>
<td>ID</td>
<td>Name</td>
<td>Realm</td>
<td>Equip</td>
<td>Weapon_kind</td>
<td>Weapon_hand</td>
<td>Armor_kind</td>
<td>Armor_place</td>
<td>Special</td>
<td>Epic_class</td>
</tr>
<?php
while($row = mysql_fetch_object($ergebnis))
{echo "<tr>";
echo "<td>" . $row ->id . "</td>";
echo "<td>" . $row ->name . "</td>";
echo "<td>" . $row ->realm . "</td>";
echo "<td>" . $row ->equip . "</td>";
echo "<td>" . $row ->weapon_kind . "</td>";
echo "<td>" . $row ->weapon_hand . "</td>";
echo "<td>" . $row ->armor_kind . "</td>";
echo "<td>" . $row ->armor_place . "</td>";
echo "<td>" . $row ->special . "</td>";
echo "<td>" . $row ->epic_class . "</td>";
echo "<tr>";}?>
</table>
</div>

</body>
</html>


Das 2te ist auch Ohne Fehler und so wie du es Wolltest von der Ausführung her.
Das 1te ist da Übersichtlicher Gestalltet, ich hoffe du weist jetzt wo der Fehler war.
 
Zuletzt bearbeitet von einem Moderator:

Rum0

PSler

AW: PHP Parse Error in der letzten Zeile

Danke Euch allen...
Ich wusste, dass das so ein dummer Fehler sein wird :p
aber nicht dass es in der letzten Zeile ausgewiesen wird ;(

@sglog: Danke für die beiden Versionen, aber wenn ich das richtig verstehe, wird die Abfrage der $abfrage auch dann hinzugefügt, wenn sie bereits entsteht, oder?
Das soll ja gerade nicht so sein ^^
jetzt muss ich nur noch herausfinden, warum er behauptet, dass 0 Datensätze gefunden werden, obwohl ich in der Suchmaske jedes Mal all eingegeben habe...

Danke für Eure Hilfe...

Rum0
 

Haetti

Nicht mehr ganz neu hier

AW: PHP Parse Error in der letzten Zeile

am besten machst du das mal ohne die Suchmaske und kontrollierst, ob die Query überhaut Datensätze ausgibt. Wenn es klappt, kannst du schrittweise ein Kriterium der Suchmaske einbinden.
 

afr0kalypse

Allwissendes Karmameerschweinchen!

AW: PHP Parse Error in der letzten Zeile

bitte vermeide Spaghetti Code
wenn solche 'wenn($var==wert)dann;wenn($var==wert)dann;.....' sehe, wird mein gesicht immer spontan grün :mrgreen: ^^
 

Rum0

PSler

AW: PHP Parse Error in der letzten Zeile

bitte vermeide Spaghetti Code
wenn solche 'wenn($var==wert)dann;wenn($var==wert)dann;.....' sehe, wird mein gesicht immer spontan grün :mrgreen: ^^

Dann ist es ja gut, dass ich nicht wirklich Spaghetti Code habe, oder!?
jede if-Bedingung gilt zu einer Variable... ansonsten würde ich natürlich switch nehmen...
Ich hätte das ganze denke ich mit einer Schleife lösen können... vielleicht meinst du das... abe rich bin noch Anfänger, wie gesagt meine erste PHP Seite und das hier ist erst der Anfang...
Ich denke mal ich habe meinen Fehler selbst gefunden... also den dass die Datensätze nicht angezeigt werden...
Ich muss noch einbauen, dass wenn $realm = all ist der $abfrage die grundsätzliche Abfrage hinzugefügt wird...

Das komt nachher...

MfG,

Rum0

Edith sagt:
Ersetze:
PHP:
if($realm!="all" and $addspecial=="yes")
{
    $abfrage = "SELECT * FROM ids WHERE realm ='no' OR realm = '$realm'";
}
else
{
    $abfrage = "SELECT * FROM ids WHERE realm ='$realm'";
}
durch

PHP:
if($realm!="all" and $addspecial=="yes")
{
    $abfrage = "SELECT * FROM ids WHERE realm ='no' OR realm = '$realm'";
}
elseif($realm == "all") 
{
    $abfrage = "SELECT * FROM ids";
    if($equip != "all" or $weapon_kind != "all" or $weapon_hand != "all" or $armor_kind != "all" or 
    $armor_place != "all" or $special != "all" or $epic_class != "all")
    {
        $abfrage .= "WHERE"
    }
}
else
{
    $abfrage = "SELECT * FROM ids WHERE realm ='$realm'";
}
So müsste es denke ich gehen... ja ich weiß Spaghetticode udn so... aber ich ahbs hier grad in 5 min in Mathe-Info gebastelt... Juhu, ich hab die PHP Funktion benutz (im Thread-Schreiben) :p Mir fällt grade auf, dass ich dann noch was bauen muss, dass danach nur AND dazukommt wenn $realm="all"... etwas ohne Spaghetti-Code

EDITH SAGT:
So, jetzt läuft es perfekt... DANKE EUCH ALLEN NOMMA... hier mein (vielleicht Spaghetti-Code-Lösung... mit freundlicher Unterstützung von SGLog :p
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Ergebnisse</title>

</head>
<body>
<?php

include('config.php');

if(!isset($abfrage))
{
$realm = $_POST["realm"];
$addspecial = $_POST["add_special"];
$equip = $_POST["equip"];
$weapon_kind = $_POST["weapon_kind"];
$weapon_hand = $_POST["weapon_hand"];
$armor_kind = $_POST["armor_kind"];
$armor_place = $_POST["armor_place"];
$special = $_POST["special"];
$epic_class = $_POST["epic_class"];



if($realm != "all" and $addspecial == "yes")
{
    $abfrage = "SELECT * FROM ids WHERE realm ='no' OR realm = '$realm'";
}
elseif($realm == "all") 
{
    $abfrage = "SELECT * FROM ids";
    if($equip != "all" or $weapon_kind != "all" or $weapon_hand != "all" or $armor_kind != "all" or $armor_place != "all" or $special != "all" or $epic_class != "all")
    {
        $abfrage .= " WHERE";
        $firstand = " ";
    }
}
else
{
    $abfrage = "SELECT * FROM ids WHERE realm ='$realm' ";
}
if($equip != "all")
{
    $abfrage .= "$firstand equip = '$equip' ";
    $firstand = "AND ";
}

if($weapon_kind != "all")
{
    $abfrage .= "$firstand weapon_kind = '$weapon_kind' ";
    $firstand = "AND ";
}

if($weapon_hand != "all")
{
    $abfrage .= "$firstand weapon_hand = '$weapon_hand' ";
    $firstand = "AND ";
}

if($armor_kind != "all")
{
    $abfrage .= "$firstand armor_kind = '$armor_kind' ";
    $firstand = "AND ";
}

if($armor_place != "all")
{
    $abfrage .= "$firstand armor_place = '$armor_place' ";
    $firstand = "AND ";
}

if($special != "all")
{
    $abfrage .= "$firstand special = '$special' ";
    $firstand = "AND ";
}

if($epic_class != "all")
{
    $abfrage .= "$firstand epic_class = '$epic_class' ";
}
}
$ergebnis = mysql_query($abfrage);
$anzahl_ergebnisse = mysql_num_rows($ergebnis);
?>

<div name="anzahl">
<p>
Es wurde(n)
<?php echo $anzahl_ergebnisse; ?>
 Ausrüstungsgegenständ(e) gefunden.
</p>
</div>

<div name="ergebnisse">
<table border=1>
<tr>
<td>ID</td>
<td>Name</td>
<td>Realm</td>
<td>Equip</td>
<td>Weapon_kind</td>
<td>Weapon_hand</td>
<td>Armor_kind</td>
<td>Armor_place</td>
<td>Special</td>
<td>Epic_class</td>
</tr>
<?php

while($row = mysql_fetch_object($ergebnis))
    {
    echo "<tr>";
    echo "<td>" . $row ->id . "</td>";
    echo "<td>" . $row ->name . "</td>";
    echo "<td>" . $row ->realm . "</td>";
    echo "<td>" . $row ->equip . "</td>";
    echo "<td>" . $row ->weapon_kind . "</td>";
    echo "<td>" . $row ->weapon_hand . "</td>";
    echo "<td>" . $row ->armor_kind . "</td>";
    echo "<td>" . $row ->armor_place . "</td>";
    echo "<td>" . $row ->special . "</td>";
    echo "<td>" . $row ->epic_class . "</td>";
    echo "<tr>";
    }
?>

</table>
</div>

</body>
</html>
MfG,

Rum0
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.342
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben