wylogowanie z panelu po usunięciu rekordu z bazy
Wyniki 1 do 5 z 5

Temat: wylogowanie z panelu po usunięciu rekordu z bazy

  1. #1
    Debiutant
    Dołączył
    16-12-2010
    Wpisy
    10
    Punkty
    10

    Domyślny wylogowanie z panelu po usunięciu rekordu z bazy

    store() ładnie śmiga, przyszedł czas na delete().
    Otóż po wywołaniu funkcji delete() rekord zostaje usunięty, ale także z niewiadomych mi przyczyn zostaję wylogowany z panelu admina. Czy ktoś już spotkał się z czymś takim, albo ma pomysł w czym jest problem?

    Kod:
      function updatedelete()
        {    
            global $mainframe;
            JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
            
            $iferror = 0;
            
            for($i = 1; $_POST['h'.$i]; $i++) // jeżeli istnieje input typu hidden o nazwie 'h'.$i
            {
                if (isset($_POST['ch'.$i])) // jeżeli checkbox jest zaznaczony
                {
                    $row =& JTable::getInstance('calendar', 'Table'); 
                    $row->id = JRequest::getVar('h'.$i, '0', 'post', 'string', JREQUEST_ALLOWRAW); 
                    $row->day = (int) JRequest::getVar('day'.$i, '', 'post', 'string', JREQUEST_ALLOWRAW ); 
                    $row->month = (int) JRequest::getVar('month'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW ); 
                    $row->year = (int) JRequest::getVar('year'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW );
                    $row->event = JRequest::getVar('event'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW );   
                    $row->group = (int) JRequest::getVar('group'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW );
                    
                    if( $_POST['submit'] == 'edit' )
                    {
                        if(!$row->store()) 
                        { 
                            $iferror = 1;
                        }
                    }    
                    if( $_POST['submit'] == 'delete' )
                    {
                        if(!$row->delete()) 
                        { 
                            $iferror = 1;
                        }    
                    }                        
                }
            }
            
            if($iferror == 1) 
            { 
                echo "********** alert('Wystąpił błąd!'); window.history.go(-1); </script>\n"; 
                exit(); 
            }
            else 
            { 
                if( $_POST['submit'] == 'edit' )
                {
                    $mainframe->redirect('index.php?option=com_calendar','Edytowano poprawnie.'); 
                }
                if( $_POST['submit'] == 'delete' )
                {
                    $mainframe->redirect('index.php?option=com_calendar','Usunięto poprawnie.'); 
                }
            }            
            
        }

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Bywalec Craft awatar
    Dołączył
    17-07-2007
    Skąd
    Warszawa
    Wpisy
    119
    Punkty
    20

    Domyślny

    a zakomentuj poniższą linijkę i przetestuj:
    Kod PHP:
    $mainframe->redirect('index.php?option=com_calendar','Usunięto poprawnie.'); 

  4. #3
    Debiutant
    Dołączył
    16-12-2010
    Wpisy
    10
    Punkty
    10

    Domyślny

    wtedy otrzymuję pustą stronę w panelu, o adresie
    Kod:
    /index.php?option=com_calendar&task=updatedelete
    i tym razem nie wylogowuje mnie, mogę wybrać komponent z listy itd.
    Ale nie rozumiem dlaczego następuje to wylogowanie, przecież przy opcji 'edit' wszystko działa w taki sam sposób, jednak edit działa poprawnie.

    EDIT: A pomyślałem sobie: trzeba spróbować. Zmieniłem wyraz "Usunięto" na "Usunieto". I już nie wylogowyguje, działa ok. Ale nie rozumiem dlaczego jest problem z polskimi znakami i objawia się on w taki sposób.
    Ostanio edytowane przez kfinto : 27-01-2011 12:45

  5. #4
    Pawelo31
    Gość

    Domyślny

    przekonwertuj plik na utf-8 i zamień na np:
    $mainframe = JFactory::getApplication();
    $mainframe->redirect('index.php?option=com_aukcje&view=aukcja &id='.$id_aukcji, JText::_('Wzięto udział w licytacji'));
    u mnie działa

  6. #5
    Debiutant
    Dołączył
    16-12-2010
    Wpisy
    10
    Punkty
    10

    Domyślny

    indeks.jpg

    Teraz już tego nie sprawdzę, bo skończyłem to jakieś 1,5 roku temu, ale zapewne masz rację, bo notepad++ zawsze mieszał mi coś z kodowaniem, jak tego nie pilnowałem. Mimo wszystko - dzięki za odpowiedź ;)

Podobne tematy

  1. Database Error po usunięciu użytkownika
    przez cmk na forum Administracja - ogólne
    Odpowiedzi: 4
    Ostatni post/autor: 20-01-2011, 20:27
  2. Pobranie jednego rekordu z bazy i sformatowanie go
    przez robwor na forum Programowanie pod Joomla!
    Odpowiedzi: 8
    Ostatni post/autor: 13-07-2010, 11:50
  3. Błąd po usunięciu Joomla Fish
    przez michal1233 na forum Wydajność, optymalizacja
    Odpowiedzi: 1
    Ostatni post/autor: 24-02-2010, 22:48
  4. Kunena - Błąd po usunięciu tematu.
    przez BenLomax na forum Komunikacja: fora, czaty, poczta, biuletyny
    Odpowiedzi: 0
    Ostatni post/autor: 13-01-2010, 10:42
  5. Błąd po usunięciu main menu
    przez miooodek na forum Joomla 1.5 BŁĘDY
    Odpowiedzi: 4
    Ostatni post/autor: 25-08-2008, 13:57

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •