Wo ist der fehler?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anweisung
arbeit
bearbeiten
benutzername
code
datei
datensatz
eintrag
fehler
fehlermeldung
ordner
post
sandrock
schleife
set
setzen
speichern
tabelle
update
zeile
-
Wo ist der Fehler in dem Quelltext?
Fehlermeldung: Parse error: parse error, unexpected $end in C:\\wamp\\www\\Neuer Ordner (2)\\arbeit.php on line 63.
<html> <head> </head> <body> <?PHP include(\'inc/config.php\'); if (isset($_GET[\'delete\']) && !empty($_GET[\'delete\']) && is_numeric($_GET[\'delete\'])){ $sql = \"DELETE FROM tabelle WHERE ID = \'\".$_GET[\'delete\'].\"\'\"; $query = mysql_query($sql) OR die(mysql_error()); echo \'Ihr Datensatz wurde erfolgreich gelöscht.\'; exit; } if (isset($_GET[\'edit\']) && !empty($_GET[\'edit\']) && is_numeric($_GET[\'edit\'])){ $sql = \"SELECT * FROM tabelle WHERE ID = \'\".$_GET[\'edit\'].\"\'\"; $query = mysql_query($sql) OR die(mysql_error()); $ds = mysql_fetch_object($query); ?> <form method=\"POST\" action=\"<? echo $_SERVER[\'PHP_SELF\']; ?>\"> <p>Benutzername : <input type=\"text\" name=\"Benutzername\" value=\"<? echo $ds->Benutzername; ?>\" size=\"35\"></p> <p>Eintrag: <textarea rows=\"6\" name=\"Eintrag\" cols=\"29\"><? echo $ds->Eintrag; ?></textarea></p> <p> <input type=\"submit\" value=\"Speichern\" name=\"speichern\"></p> <input type=\"hIDden\" name=\"ID\" value=\"<? echo $ds->ID; ?>\"> </form> <? exit; } if (isset($_POST[\'speichern\'])){ $sql = \"UPDATE tabelle SET Benutzername = \'\".$_POST[\'Benutzername\'].\"\', Eintrag = \'\".$_POST[\'Eintrag\'].\"\' WHERE ID = \'\".$_POST[\'ID\'].\"\'\"; $query = mysql_query($sql) OR die(mysql_error()); echo \'Ihr Datensatz wurde erfolgreich gespeichert.\'; exit; } $sql = \'SELECT * FROM tabelle\'; $query = mysql_query($sql) OR die(mysql_error()); if (!mysql_num_rows($query) > 0){ echo \'Keine Einträge vorhanden.\'; exit; } else { echo \'<table border=\"1\" bordercolor=\"#000000\" style=\"border-collapse: collapse\">\'; while ($ds = mysql_fetch_object($query)){ ?> <tr> <td><? echo $ds->Benutzername; ?></td> <td> </td> <td> </td> </tr> <tr> <td><? echo nl2br($ds->Eintrag); ?></td> <td><a href=\"?edit=<? echo $ds->ID; ?>\">Bearbeiten</a></td> <td><a href=\"?delete=<? echo $ds->ID; ?>\">Löschen</a></td> </tr> <? echo \'</table>\'; } ?> </body> </html>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du machst in Zeile 52 eine Klammer von einer while()-Schleife auf, du machst sie aber später nicht mehr zu. Du hast zwar ein } in Zeile 66, aber das gehört zu der if()-Anweisung in Zeile 47 bzw. 50.
Wo müsste ich diese \"Klammer-zu\" Klammer denn setzen? -
Ich habs mal gemacht: (ab Z. 61)
<td><a href=\"?edit=<? echo $ds->ID; ?>\">Bearbeiten</a></td> <td><a href=\"?delete=<? echo $ds->ID; ?>\">Löschen</a></td> </tr> <? } echo \'</table>\'; } ?> </body> </html>
Beitrag geändert: 22.12.2007 21:26:50 von sandrock-jonas -
Jetzt sagt er nur das:
Parse error: parse error, unexpected $end in C:\\wamp\\www\\Neuer Ordner (2)\\arbeit.php on line 64
<html> <head> </head> <body> <?PHP include(\'inc/config.php\'); if (isset($_GET[\'delete\']) && !empty($_GET[\'delete\']) && is_numeric($_GET[\'delete\'])){ $sql = \"DELETE FROM tabelle WHERE ID = \'\".$_GET[\'delete\'].\"\'\"; $query = mysql_query($sql) OR die(mysql_error()); echo \'Ihr Datensatz wurde erfolgreich gelöscht.\'; exit; } if (isset($_GET[\'edit\']) && !empty($_GET[\'edit\']) && is_numeric($_GET[\'edit\'])){ $sql = \"SELECT * FROM tabelle WHERE ID = \'\".$_GET[\'edit\'].\"\'\"; $query = mysql_query($sql) OR die(mysql_error()); $ds = mysql_fetch_object($query); ?> <form method=\"POST\" action=\"<? echo $_SERVER[\'PHP_SELF\']; ?>\"> <p>Benutzername : <input type=\"text\" name=\"Benutzername\" value=\"<? echo $ds->Benutzername; ?>\" size=\"35\"></p> <p>Eintrag: <textarea rows=\"6\" name=\"Eintrag\" cols=\"29\"><? echo $ds->Eintrag; ?></textarea></p> <p> <input type=\"submit\" value=\"Speichern\" name=\"speichern\"></p> <input type=\"hIDden\" name=\"ID\" value=\"<? echo $ds->ID; ?>\"> </form> <? exit; } if (isset($_POST[\'speichern\'])){ $sql = \"UPDATE tabelle SET Benutzername = \'\".$_POST[\'Benutzername\'].\"\', Eintrag = \'\".$_POST[\'Eintrag\'].\"\' WHERE ID = \'\".$_POST[\'ID\'].\"\'\"; $query = mysql_query($sql) OR die(mysql_error()); echo \'Ihr Datensatz wurde erfolgreich gespeichert.\'; exit; } $sql = \'SELECT * FROM tabelle\'; $query = mysql_query($sql) OR die(mysql_error()); if (!mysql_num_rows($query) > 0){ echo \'Keine Einträge vorhanden.\'; exit; } else { echo \'<table border=\"1\" bordercolor=\"#000000\" style=\"border-collapse: collapse\">\'; while ($ds = mysql_fetch_object($query)){ ?> <tr> <td><? echo $ds->Benutzername; ?></td> <td> </td> <td> </td> </tr> <tr> <td><? echo nl2br($ds->Eintrag); ?></td> <td><a href=\"?edit=<? echo $ds->ID; ?>\">Bearbeiten</a></td> <td><a href=\"?delete=<? echo $ds->ID; ?>\">Löschen</a></td> </tr> <? echo \'</table>\'; } } ?> </body> </html>
-
Es gehört doch noch eine Zeile drüber (hab meinen Post nochmal editiert). Aber so wie du es jetzt hast, funktioniert es bei mir, abgesehen davon, dass </table> zu oft ausgegeben wird. Das gehört halt nicht mehr in die while()-Schleife.
-
Es gehört doch noch eine Zeile drüber (hab meinen Post nochmal editiert). Aber so wie du es jetzt hast, funktioniert es bei mir, abgesehen davon, dass zu oft ausgegeben wird. Das gehört halt nicht mehr in die while()-Schleife.
Ja ich bekomme keine Fehlermeldung mehr.
Aber ich kenne die config Datei nicht aus dem scrip.
deshalb habe ich mir eine eigene Geschrieben.
Abera nscheinend fehlt noch etwas denn es kommt diese Meldung:
No database selected
Mein script sieht so aus:
<?php error_reporting(E_ALL); define(\'MYSQL_HOST\', \'mysql.lima-city.de\'); define(\'MYSQL_USER\', \'USER78544\'); define(\'MYSQL_PASS\', \'....\'); define(\'MYSQL_DATABASE\', \'db_78544_1\'); ?>
Ich vermute es Fehlt der Name der Tabelle, oder?
Aber den habe ich noch nie angegeben in so einer Datei.
Wie sehe das aus?
Beitrag geändert: 22.12.2007 21:44:32 von no-smoke -
Ändere die config.php mal so ab:
<?php error_reporting(E_ALL); define(\'MYSQL_HOST\', \'mysql.lima-city.de\'); define(\'MYSQL_USER\', \'USER78544\'); define(\'MYSQL_PASS\', \'....\'); define(\'MYSQL_DATABASE\', \'db_78544_1\'); mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS); mysql_select_db(MYSQL_DATABASE); ?>
-
nun, du hast einfach nochnicht zur Datenbank connected nehme ich an.
(kanns leider nicht auswendig. Einfach mal suchen ;) ) -
Ändere die config.php mal so ab:
<?php error_reporting(E_ALL); define(\'MYSQL_HOST\', \'mysql.lima-city.de\'); define(\'MYSQL_USER\', \'USER78544\'); define(\'MYSQL_PASS\', \'....\'); define(\'MYSQL_DATABASE\', \'db_78544_1\'); mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS); mysql_select_db(MYSQL_DATABASE); ?>
Wie du hier sehen kannst: http://www.ruanda-projekt.de/test/arbeit.php .
Gleicher Fehler.
Ich habe ihm doch noch garnicht gesagt wie die Tabelle heißt, oder?
-
Ich habe ihm doch noch garnicht gesagt wie die Tabelle heißt, oder?
Doch, das sagst du ihm bei jedem SQL-Befehl. Ich nehme einfach mal als Beispiel den ersten:
$sql = \"DELETE FROM tabelle WHERE ID = \'\".$_GET[\'delete\'].\"\'\";
Die Tabelle, von der du löschst, heißt \"tabelle\".
Das erklärt allerdings deinen Fehler nicht. Hast du die Datei auch neu hochgeladen, nachdem du sie geändert hast? Bzw. hast du die alte Datei auch wirklich überschrieben? Und hast du das Passwort vorm Hochladen wieder hingeschrieben?
Das wären jetzt die einigen Möglichkeiten, die mir einfallen, die deine Fehlermeldung verursachen könnten. -
Das Problem war das meine Tabelle nicht table sondern guestbook heißt.
Geh bitte nochmal auf die Seite und schau dir die Fehlermeldung nach dem bearbeiten an.
Wie mag ich diese verstehen?
( Diese hier :Table \'db_78544_1.tabelle\' doesn\'t exist)
Beitrag geändert: 22.12.2007 22:14:17 von no-smoke -
Du hast scheinbar bei noch einer SQL-Abfrage vergessen, \"tabelle\" in \"guestbook\" umzuwandeln.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage