Ergebnis 1 bis 7 von 7

Thema: Fehlermeldung nach update auf PHP 7.1

  1. #1
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard Fehlermeldung nach update auf PHP 7.1

    Hi, ich habe hier ein älteres Template:

    PHP-Code:
    <?php

    $list
    ='';
    $O='';
    $msg '';


    // Listenansicht (nicht genutzt)
    /*
    if($GLOBALS[_GET]['details']!='1') {
        $result = $this->Database->execute('SELECT distinct(NAME),DESC_TEXT, substring(NAME,5,1) as x FROM TblSiebelTrainingCourses where substring(NAME,5,1)>\'0\' order by NAME');
        if($result->numRows) {
            $rows = $result->fetchAllAssoc();
            $count=0;
            foreach ($rows as $row) {
                $count++;
                $list{$count}{'name'}=$row['NAME'];
                $list{$count}{'descr'}=$row['DESC_TEXT'];
            }
            $list[0]=$count;
            
            $O.='<br><b>Enfinity Suite 6</b><br>';
            $O.='<ul>';
            for($i=1;$i<=$list[0];$i++) {
                $querystring = Array('details' => '1', 'course' => $list{$i}{'name'}, 'no_cache' => '1');
                $O.='';
                $O.='<li>'.$list{$i}{'name'}.'&nbsp;&nbsp;<a href="#">'.$list{$i}{'descr'}.'</a></li>';        
            }
            $O.='</ul>';
            $O.='<br>';
        }
    }
    */

    // Detailansicht
    if($this->Input->get('course')!='') {

        
    $this->import('Database');
        
    $courserelpath $_SERVER['DOCUMENT_ROOT'];
        
    $coursefilepath '/files/layout/media/downloads/de/training/';
        
    $downloadpath 'training-kursdetails?file=files/layout/media/downloads/de/training/';
        
    $registerpath 'training-kursdetails?register=1&amp;cid=';
        
    $course $this->Input->get('course');
        
    $result $this->Database->execute('SELECT Id, NAME, START_DT, END_DT, DESC_TEXT, LOCATION_DESC, STATUS_CD, DURATION_DESC, LST_PRI_CURCY_CD, LST_PRI_AMT from TblSiebelTrainingCourses where NAME=\''.$course.'\' order by START_DT, NAME');
        
        if(
    $result->numRows) {
            
    $rows $result->fetchAllAssoc();
            
    $count=0;
            foreach (
    $rows as $row) {
                
    $count++;
                
    $list{$count}{'id'}=$row['Id'];
                
    $list{$count}{'name'}=$row['NAME'];
                
    $list{$count}{'start'}=substr($row['START_DT'],8,2).'.'.substr($row['START_DT'],5,2).'.'.substr($row['START_DT'],0,4);
                
    $list{$count}{'end'}=$row['END_DT'];
                
    $list{$count}{'descr'}=$row['DESC_TEXT'];
                
    $list{$count}{'location'}=$row['LOCATION_DESC'];
                
    $list{$count}{'status'}=$row['STATUS_CD'];
                
    $list{$count}{'duration'}=$row['DURATION_DESC'];
                
    $list{$count}{'currency'}=$row['LST_PRI_CURCY_CD'];
                
    $list{$count}{'price'}=$row['LST_PRI_AMT'];
            }
            
    $list[0]=$count;
            
            if(
    $list[0]){
                
                
    $O.='<h1>'.$list{1}{'descr'}.' ('.$course.')</h1>';

                if (
    file_exists($courserelpath.$coursefilepath.$course.'-DE.pdf')) {
                    
    $O.='
                    <div class="ce_download block">
                    <ul>
                    <li><a class="pdf" href="'
    .$downloadpath.$course.'-DE.pdf">Kursbeschreibung</a></li>
                    </ul>
                    </div>'
    ;
                }
                            
                
    $O.='<h3>Trainingskalender für '.$list{1}{'descr'}.' ('.$course.')</h3>';
                
    $O.='<div class="ce_table block"><table cellspacing="0" cellpadding="0" summary="Trainingskalender">';
                
    $O.='<thead><tr><th class="head_0 col_first">Datum</th><th class="head_1">Dauer</th><th class="head_2">Ort</th><th class="head_3">Preis</th><th class="head_4 col_last">&nbsp;</th></tr></thead><tbody>';
                    
                for(
    $i=1;$i<=$list[0];$i++) {
                    if(
    $i != 0)
                        
    $className 'even';
                    else
                        
    $className 'odd';
                    
    $querystring = Array('register' => '1''cid' => $list{$i}{'id'}, 'no_cache' => '1');
                    
    $O.='<tr class="'.$className.'"><td>'.$list{$i}{'start'}.'</td><td>'.$list{$i}{'duration'}.'</td><td>'.$list{$i}{'location'}.'</td><td>'.$list{$i}{'currency'}.' '.$list{$i}{'price'}.'</td><td><a href="'.$registerpath.$list{$i}{'id'}.'">Anmelden</a>';
                }

                
    $O.='</tbody></table></div>';
            }
        }
    Und bekomme diese Fehlermeldung:

    Code:
    [10-Jan-2018 14:30:37 Europe/Berlin] PHP Fatal error: Uncaught exception 'Error' with message 'Cannot use string offset as an array' thrown in /wwwroot.wwwnew/templates/training-courses-de.php on line 51
    #0 /wwwroot.wwwnew/system/modules/core/library/Contao/InsertTags.php(1113): include()
    #1 /wwwroot.wwwnew/system/modules/core/library/Contao/Controller.php(692): Contao\InsertTags->replace('<!DOCTYPE html>...', false)
    #2 /wwwroot.wwwnew/system/modules/core/classes/FrontendTemplate.php(100): Contao\Controller::replaceInsertTags('<!DOCTYPE html>...', false)
    #3 /wwwroot.wwwnew/system/modules/core/pages/PageRegular.php(190): Contao\FrontendTemplate->output(true)
    #4 /wwwroot.wwwnew/system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #5 /wwwroot.wwwnew/index.php(20): Contao\FrontendIndex->run()
    #6 {main}
    Der Fehler bezieht sich auf:
    PHP-Code:
        $list{$count}{'id'}=$row['Id']; 
    Nur wo liegt da der Fehler?^^

    LG & Danke

  2. #2
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.470
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Unter PHP 7 wird aus „string” -> „stringUtil” - so war es bei einigen Erweiterungen.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  3. #3
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard

    Also wirklich nur "string" durch "stringUtil" ersetzen?

  4. #4
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.470
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  5. #5
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard

    Ok, bin jetzt kein PHP pro und finde keine "string" Bezeichnung.

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich denke es liegt einfach daran, dass $list oben als (leerer) String initialisiert ist, unten aber als Array verwendet wird.

  7. #7
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Ich denke es liegt einfach daran, dass $list oben als (leerer) String initialisiert ist, unten aber als Array verwendet wird.
    Stimmt, dass leeren des $list weg, und es funktioniert.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •