Seite 1 von 1

Probleme beim Löschen von News in News script.

Verfasst: 20.02.2003 20:03
von Candy
Hi,
ich habe mir ein kleines Newsscript (Auf dem phpBB basierend) gebastelt in das die user meiner Site nach einer Anmeldung News schreiben dürfen nun wollte ich es so haben das die User die News auch selbst wieder löschen können dazu habe ich den folgenden abschnitt gecodet:

Code: Alles auswählen

case 'delete':
                //
                //  Delete News from news table
                //
                $sql = "DELETE
                        FROM " . NEWS_TABLE . "
                        WHERE user_id = $user_id AND news_id = $news_id";
                if ( !$db->sql_query($sql) )
                {
                        message_die(GENERAL_ERROR, 'Could not delete news from news table', '', __LINE__, __FILE__, $sql);
                }

                $message = '<b>' . $news_username . '</b>' . '&nbsp;' . $lang['News_delete_successful'] . '<br /><br />' . sprintf($lang['Click_return_news'], '<a href="' . append_sid("news.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_news_topic'], '<a href="' . append_sid("viewtopic.$phpEx?t=$news_topic") . '">', '</a>');

                $template->assign_vars(array(
                        'META' => $meta)
                );

                message_die(GENERAL_MESSAGE, $message);
break;
Aber das scheint net zu funzen denn ich bekomme einen parse error in Zeile 46 das wäre dann $sql = DELETE

Hat jemand ne idee wo der fehler liegen könnte?

Grüße Candy

Verfasst: 20.02.2003 20:12
von Mister_X
kannst du mal die genaue Fehlermeldung posten ? (ggf. mit link:debugmode auf on)

Verfasst: 20.02.2003 20:15
von Candy
öhm das war die ganze fehlermeldung die ich gepostet habe:
Parse error: parse error in news.php on line 46
Debug Mode ist schon aktiviert :)

Grüße Candy

Verfasst: 20.02.2003 20:19
von Mister_X
ich sehe in den von dir geposteten Zeilen gerade keinen Fehler (oder ich hab Tomaten auf den Augen ;))
poste mal noch ein paar Zeilen davor.

Verfasst: 20.02.2003 22:07
von Candy
Davor steht nur das:

Code: Alles auswählen

$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("news.$phpEx") . '">';

if ( $mode == 'delete' )
{
$topic_id = ( isset($HTTP_POST_VARS['topic_id']) ) ? $HTTP_POST_VARS['topic_id'] : $HTTP_GET_VARS['topic_id'];
}
Ich bin grade an einem 2 Script dran das den Usern ihre Topics die sie beobachten auflistet und diese können sie dann dort auch löschen dazu verwende ich die selbe funktion und auch dort bekomme ich den parse error aus diesem teil :(

Hier mal das komplette script zum auslesen der topics die,die User beobachten (Ist ähnlich aufgebaut wie mein News script):

Vieleicht kann mal jemand reinsehen ich kann nirgendwo einen fehler finden :(

Grüße Candy

Verfasst: 21.02.2003 14:23
von Candy
Niemand ne idee wo der fehler sein könnte? :cry:

Candy

Verfasst: 21.02.2003 14:43
von Xmopf
Hi,

probier das mal:

Line 41

Code: Alles auswählen

'U_DELETE' => append_sid("abonnements.$phpEx?mode=delete&topic_id=$delete_topic_id)) 
ändern in

Code: Alles auswählen

'U_DELETE' => append_sid("abonnements.$phpEx?mode=delete&topic_id=$delete_topic_id")) 
Am Ende fehlte glaube ich einmal die ".

Gruß
Xmopf

Verfasst: 21.02.2003 14:48
von Candy
Uuuh asche auf mein haupt :oops: Danke dir es funzt, ich hätte wahrscheinlich noch ewig weitergerätselt da der fehler ja aus einer ganz anderen Zeile kam :)

Grüße Candy

Verfasst: 22.02.2003 12:43
von Candy
Hi,
ich habe da noch ein kleines Problem dies ist ja der teil der die sachen aus der DB ausliest und ausgiebt:

Code: Alles auswählen

default:

$page_title = $l_title;
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$sql = "SELECT tw.user_id, tw.topic_id, t.topic_id, t.topic_title, t.topic_time
        FROM " . TOPICS_WATCH_TABLE . " tw
        LEFT JOIN " . TOPICS_TABLE . " t ON tw.topic_id = t.topic_id
        WHERE tw.user_id = " . $userdata['user_id'] . "
        ORDER BY t.topic_time";
if ( !$result = $db->sql_query($sql) )
        {
        message_die(GENERAL_ERROR, 'Could not queried watched topics', '', __LINE__, __FILE__, $sql);
        }

        while ( $row = $db->sql_fetchrow($result) )
        {

        $topic_start_date = ( isset($row['topic_time']) ) ? create_date($board_config['default_dateformat'], $row['topic_time'], $board_config['board_timezone']) : $lang['None'];
        $delete_topic_id = $row['topic_id'];
        $template->assign_block_vars('watched_topics', array(
        'TOPIC_TITLE' => $row['topic_title'],
        'U_DELETE' => append_sid("abonnements.$phpEx?mode=delete&topic_id=$delete_topic_id"),
        'TOPIC_TIME' => $topic_start_date)
        );
        }
        break;
Die Ausgabe sieht jetzt so aus:
Delete keine
Welche Browser nutzt du? Delete 28.08.2002 - 21:18
Was guckst du? Delete 31.08.2002 - 23:28
Sobald mehr als 2 Themen vorhanden sind also die schleife zum tragen kommt wird obendrüber (Das rot markierte) ein "Ghost" eintrag angezeigt also einfach nur der Link "Delete" der ins leere führt und der Text "keine" (Kommt vom Datum des Themas aber da kein Thema vorhanden ist wird der text "keine" angezeigt)!

Hat jemand ne idee woran das liegen könnte?

Grüße Candy

Verfasst: 22.02.2003 17:10
von Candy
Niemand ne idee woran das liegen könnte? :-? :cry:

Candy