Seite 1 von 2

Problem mit Löschfunktion

Verfasst: 14.03.2013 18:03
von waldkatze
Ich bastele gerade an einer Löschfunktion für eine eigene Tabelle.
Der richtige Datensatz ist ausgewählt und das Löschen selbst geht auch.
Jetzt habe ich aber noch einen Fehler drin.
Wenn ich löschen bestätige, bekomme ich eine weiße Seite. Keine Fehlermeldung.
Wenn ich auf Webbrowser aktualisieren gehe, ist der Datensatz wie gewünscht weg.
Aber wie bekomme ich jetzt die weiße Seite noch weg ?

Code: Alles auswählen

// Datensatz löschen
if ($mode == 'delete' && $preview == false)
{
    if (confirm_box(true))
    {
        $sql = 'DELETE FROM ' . TEST_TABLE . '
        WHERE id = ' . $id;
        $db->sql_query($sql);
        $cache->destroy('sql', TEST_TABLE);
        return true;
    }
    else
    {
     confirm_box(false, $user->lang['DATENSATZ_DEL']); // Hier Fehler (weiße Seite wird angezeigt)    
     // Browser aktualisieren. Dann ist Datensatz ist gelöscht  
   trigger_error($user->lang['DATENSATZ_DELETED'] . '<br />' 
   
   // zurück zu DATEN-LISTE Ab hier OK, Zielseite wird angezeigt
    . sprintf($user->lang['BACK_DATEN_LISTE'], '<a href="' . append_sid("{$phpbb_root_path}daten_liste.$phpEx") . '">', '</a>'));
    }
}

Re: Problem mit Löschfunktion

Verfasst: 14.03.2013 18:13
von BNa

Code: Alles auswählen

$user->lang['DATENSATZ_DEL'] 
ist sicher in der Language Datei (meinetwegen language/de/common.php) via 'DATENSATZ_DEL' => 'Irgendwas', definiert und diese wurde auch richtig bearbeitet und via UTF8 ohne Bom abgespeichert?

Könnte aber auch ein zusätzlicher syntaktischer Fehler der Funkion confirm_box() sein
https://wiki.phpbb.com/Function.confirm_box

Re: Problem mit Löschfunktion

Verfasst: 14.03.2013 20:39
von waldkatze
Danke BNa,

Eintrag ist in /language/de/common.php und in /language/de/mods/meine_sprachdatei.php drin.
Siehe Code.

Code: Alles auswählen

'DATENSATZ_DEL'         => 'Datensatz löschen',
'DATENSATZ_DELETED'     => 'Datensatz wurde gelöscht',
Ich verwende immer PlainEdit als Editor. Geht sehr gut. Speichert in UTF8 ohne Bom
siehe: http://www.gaijin.at/dlplainedit.php
Wenn es an der confirm_box liegt, ist mir jetzt leider noch nicht klar was ich falsch mache ?

Re: Problem mit Löschfunktion

Verfasst: 14.03.2013 20:41
von BNa
Tu Dir selbst einen Gefallen und benutze stets und immer Notepad++
Da hast Du die Satisfaction Garantie.
'Datensatz wurde gelöscht',

Re: Problem mit Löschfunktion

Verfasst: 14.03.2013 21:05
von waldkatze
Ich habe auch Notepad++ auf meinem PC.
Bloß das Ergebnis ist leider das gleiche wie bei PlainEdit. :(

Wenn ich das mit Notepad++ speichere kommt das selbe raus.
Weiße Seite nach Löschen bestätigen...

Und "ö" wird doch eigentlich als "ö" in Sprachdatei geschrieben oder liege ich da falsch ?

Re: Problem mit Löschfunktion

Verfasst: 14.03.2013 21:27
von BNa
waldkatze hat geschrieben:Und "ö" wird doch eigentlich als "ö" in Sprachdatei geschrieben oder liege ich da falsch ?
Das ö wird als ö geschrieben und dann in Notepad++ mit UTF8 ohne Bom gespeichert.

Code: Alles auswählen

    'DATENSATZ_DEL'         => 'Datensatz löschen',
    'DATENSATZ_DELETED'     => 'Datensatz wurde gelöscht',
ö ist definitiv falsch.

Re: Problem mit Löschfunktion

Verfasst: 15.03.2013 19:34
von waldkatze
BNa,
ich habe deinen Rat befolgt. Alles mit Notepad++ geändert und gespeichert.
Das Problem wie oben beschrieben habe ich aber immer noch. Fehlt da noch Code oder habe da noch was vergessen?

Re: Problem mit Löschfunktion

Verfasst: 15.03.2013 19:50
von BNa
Scheint evtl ein logischer Fehler in der Schaltung als solches zu sein.
BNa hat geschrieben:Könnte aber auch ein zusätzlicher syntaktischer Fehler der Funkion confirm_box() sein
https://wiki.phpbb.com/Function.confirm_box

Re: Problem mit Löschfunktion

Verfasst: 15.03.2013 20:02
von waldkatze
BNa,
also könnte ich erst mal davon ausgehen das der eigentliche Löschcode richtig ist?
In den Fehler mit der confirm_box muss ich mich erst mal tiefer beschäftigen.

Re: Problem mit Löschfunktion

Verfasst: 15.03.2013 21:15
von BNa
Probier mal das hier und berichte:

vorher

Code: Alles auswählen

    confirm_box(false, $user->lang['DATENSATZ_DEL']); // Hier Fehler (weiße Seite wird angezeigt)    
     // Browser aktualisieren. Dann ist Datensatz ist gelöscht  
   trigger_error($user->lang['DATENSATZ_DELETED'] . '<br />'  
nachher

Code: Alles auswählen

    //confirm_box(false, $user->lang['DATENSATZ_DEL']); // Hier Fehler (weiße Seite wird angezeigt)    
     // Browser aktualisieren. Dann ist Datensatz ist gelöscht  
   trigger_error($user->lang['DATENSATZ_DELETED'] . '<br />'