Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Notice fehler beheben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • stayInside
    antwortet
    Zitat von TrueEdge Beitrag anzeigen
    Also dann so?
    PHP-Code:
        foreach($uebersicht2 AS $uebersicht2
        {
            
    $protokoll .=    "<tr>
                <td>
                    " 
    . ( isset( $uebersicht2['name'] ) ? $uebersicht2['name'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['stunden_casal'] ) ? $uebersicht2['stunden_casal'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['grund_casal'] ) ? $uebersicht2['grund_casal'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['datum_casal'] ) ? $uebersicht2['datum_casal'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['stunden_zipfelit'] ) ? $uebersicht2['stunden_zipfelit'] : "&nbsp;" ) . "
                </td>
                <td>
                    "
    . ( isset( $uebersicht2['grund_zipfel'] ) ? $uebersicht2['grund_zipfel'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['datum_zipfel'] ) ? $uebersicht2['datum_zipfel'] : "&nbsp;" ) . "
                </td>
            </tr>"
    ;
        } 
    So wird es nicht funktionieren.

    - Es gibt nun eine Kopie von dem Array mit dem gleichen Namen. Woher soll er wissen welches das richtige ist?

    PHP-Code:
    foreach ($uebersicht2 as $aktuellerWert
    Mit der foreach gehst du jeden Eintrag im Array durch. in $aktuellerWertsteht dann der Wert der Reihe.

    Damit du aber auch den Key hast muss die foreach noch angepasst werden.

    PHP-Code:
    foreach ($uebersicht2 as $aktuellerKey => $aktuellerWert

    Teste es einfach mit var_dump(); dann siehste schnell was für Werte und Schlüssel zu einem gewissen Zeitpunkt vorhanden sind.

    Einen Kommentar schreiben:


  • TrueEdge
    antwortet
    Also dann so?
    PHP-Code:
        foreach($uebersicht2 AS $uebersicht2
        {
            
    $protokoll .=    "<tr>
                <td>
                    " 
    . ( isset( $uebersicht2['name'] ) ? $uebersicht2['name'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['stunden_casal'] ) ? $uebersicht2['stunden_casal'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['grund_casal'] ) ? $uebersicht2['grund_casal'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['datum_casal'] ) ? $uebersicht2['datum_casal'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['stunden_zipfelit'] ) ? $uebersicht2['stunden_zipfelit'] : "&nbsp;" ) . "
                </td>
                <td>
                    "
    . ( isset( $uebersicht2['grund_zipfel'] ) ? $uebersicht2['grund_zipfel'] : "&nbsp;" ) . "
                </td>
                <td>
                    " 
    . ( isset( $uebersicht2['datum_zipfel'] ) ? $uebersicht2['datum_zipfel'] : "&nbsp;" ) . "
                </td>
            </tr>"
    ;
        } 

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Oder das^^

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Verwende statt einer for-Schleife eine foreach-Schleife, da kommt man gar nicht erst in die Verlegenheit...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    @Threadersteller: scahu dir mal count im Schleifenkopf = PFUI!!! | ragtek an

    Einen Kommentar schreiben:


  • TrueEdge
    antwortet
    Ok vielen Dank für die Info. =) Jetzt hab ich gar keine Meldungen mehr.

    @dennis81: Ja dann werde ich das mal so ändern. Ist ja auch viel kürzer. =) Danke auch für deine Hilfe.

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Zitat von TrueEdge Beitrag anzeigen
    Wo ich grad noch dabei bin. Bei einer anderen Datei von dem Template Engine, kommt bei der index.php diese Fehlermeldungen:
    Code:
    Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\seite\tbs_class.php on line 738
    Die Zeile ist in einer Funktion.

    PHP-Code:
                $Loc =& new clsTbsLocator;  //Das ist die Zeile 738 
    deprecated bedeutet wörtlich "abgelehnt" oder "mißbilligt"
    Es besagt eigentlich nur, das eine verwendete Funktion oder ein Konzept nicht mehr unterstützt werden wird - werden wird, weil man es noch verwenden darf, es aber in einer zukünftigen Version eventuell mal rausfliegt. (Wegfallende Funktionen werden eine Zeit lang als deprecated markiert, damit Programmierer Zeit haben, ihre Software umstellen zu können bis zu dem Zeitpunkt, an dem die Funktion entgültig verschwunden ist.)

    In deinem konkreten Fall musst du nur das Kaufmanns-Und entfernen (zu PHP 4 Zeiten wurde auf diese Art eine Referenz zugewiesen. PHP 5 hat aber einige Änderungen wiederfahren, eine davon war, daß diese Art der Zuweisung standardmäßig erfolgt, wodurch man die explizite Angabe weglassen kann/sollte).

    Einen Kommentar schreiben:


  • dennis81
    antwortet
    Nur mal so zum Vergleich (mein Vorschlag)
    PHP-Code:
    for ( $i=0$i count$uebersicht2 ); $i++ ) {
        
    $protokoll .=    "<tr>
            <td>
                " 
    . ( isset( $uebersicht2[$i]['name'] ) ? $uebersicht2[$i]['name'] : "&nbsp;" ) . "
            </td>
            <td>
                " 
    . ( isset( $uebersicht2[$i]['stunden_c'] ) ? $uebersicht2[$i]['stunden_c'] : "&nbsp;" ) . "
            </td>
            <td>
                " 
    . ( isset( $uebersicht2[$i]['grund_c'] ) ? $uebersicht2[$i]['grund_c'] : "&nbsp;" ) . "
            </td>
            <td>
                " 
    . ( isset( $uebersicht2[$i]['datum_c'] ) ? $uebersicht2[$i]['datum_c'] : "&nbsp;" ) . "
            </td>
            <td>
                " 
    . ( isset( $uebersicht2[$i]['stunden_z'] ) ? $uebersicht2[$i]['stunden_z'] : "&nbsp;" ) . "
            </td>
            <td>
                "
    . ( isset( $uebersicht2[$i]['grund_z'] ) ? $uebersicht2[$i]['grund_z'] : "&nbsp;" ) . "
            </td>
            <td>
                " 
    . ( isset( $uebersicht2[$i]['datum_z'] ) ? $uebersicht2[$i]['datum_z'] : "&nbsp;" ) . "
            </td>
        </tr>"
    ;

    Einen Kommentar schreiben:


  • TrueEdge
    antwortet
    Wo ich grad noch dabei bin. Bei einer anderen Datei von dem Template Engine, kommt bei der index.php diese Fehlermeldungen:
    Code:
    Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\seite\tbs_class.php on line 738
    Die Zeile ist in einer Funktion.

    PHP-Code:
    function meth_Locator_FindTbs(&$Txt,$Name,$Pos,$ChrSub) {
    // Find a TBS Locator

        
    $PosEnd false;
        
    $PosMax strlen($Txt) -1;
        
    $Start $this->_ChrOpen.$Name;

        do {
            
    // Search for the opening char
            
    if ($Pos>$PosMax) return false;
            
    $Pos strpos($Txt,$Start,$Pos);

            
    // If found => next chars are analyzed
            
    if ($Pos===false) {
                return 
    false;
            } else {
                
    $Loc =& new clsTbsLocator;  //Das ist die Zeile 738
                
    $ReadPrm false;
                
    $PosX $Pos strlen($Start);
                
    $x $Txt[$PosX];

                if (
    $x===$this->_ChrClose) {
                    
    $PosEnd $PosX;
                } elseif (
    $x===$ChrSub) {
                    
    $Loc->SubOk true// it is no longer the false value
                    
    $ReadPrm true;
                    
    $PosX++;
                } elseif (
    strpos(';',$x)!==false) {
                    
    $ReadPrm true;
                    
    $PosX++;
                } else {
                    
    $Pos++;
                }

                if (
    $ReadPrm) {
                    
    $this->f_Loc_PrmRead($Txt,$PosX,false,'\'',$this->_ChrOpen,$this->_ChrClose,$Loc,$PosEnd);
                    if (
    $PosEnd===false) {
                        
    $this->meth_Misc_Alert('','can\'t found the end of the tag \''.substr($Txt,$Pos,$PosX-$Pos+10).'...\'.');
                        
    $Pos++;
                    }
                }

            }

        } while (
    $PosEnd===false);

        
    $Loc->PosBeg $Pos;
        
    $Loc->PosEnd $PosEnd;
        if (
    $Loc->SubOk) {
            
    $Loc->FullName $Name.'.'.$Loc->SubName;
            
    $Loc->SubLst explode('.',$Loc->SubName);
            
    $Loc->SubNbr count($Loc->SubLst);
        } else {
            
    $Loc->FullName $Name;
        }
        if (
    $ReadPrm and isset($Loc->PrmLst['comm'])) {
            
    $Loc->PosBeg0 $Loc->PosBeg;
            
    $Loc->PosEnd0 $Loc->PosEnd;
            
    $comm $Loc->PrmLst['comm'];
            if ((
    $comm===true) or ($comm==='')) {
                
    $Loc->Enlarged $this->f_Loc_EnlargeToStr($Txt,$Loc,'<!--' ,'-->');
            } else {
                
    $Loc->Enlarged $this->f_Loc_EnlargeToTag($Txt,$Loc,$comm,false);
            }
        }

        return 
    $Loc;


    Ich glaube aber das ich da wohl wenig machen kann oder? Sonst könnte ich das vielleicht noch kaputt machen. Oder wie sieht das aus. Ich habe nämlich noch 3 mal diese Meldung, nur andere Zeilen betreffend in der Datei.

    Einen Kommentar schreiben:


  • TrueEdge
    antwortet
    Zitat von lstegelitz Beitrag anzeigen
    Kannst du genauso machen, aber achte darauf, das richtige Array anzusprechen ($uebersicht2[$i])
    Vielen Dank. Habe das jetzt so gemacht und es kommen keine Notices mehr =) Habe nämlich mal gelesen, dass man die auch beheben sollte und mache das gerade ^^ genau wie ich im mom das ganze php Maual durchlesen will.

    PHP-Code:
    for($i=0$i count($uebersicht2); $i++)
        {
            
    $protokoll .=    "<tr>
            <td>"
    ;
            if (
    array_key_exists('name',$uebersicht2[$i]))
                {
                    
    $protokoll .= $uebersicht2[$i]['name'];
                }
            
    $protokoll .= "&nbsp;
            </td>
            <td>"
    ;
            if (
    array_key_exists('stunden_c',$uebersicht2[$i]))
                {
                    
    $protokoll .= $uebersicht2[$i]['stunden_c'];
                }
            
    $protokoll .= "&nbsp;
            </td>
            <td>"
    ;
            if (
    array_key_exists('grund_c',$uebersicht2[$i]))
                {
                    
    $protokoll .= $uebersicht2[$i]['grund_c'];
                }
            
    $protokoll .= "&nbsp;
            </td>
            <td>"
    ;
            if (
    array_key_exists('datum_c',$uebersicht2[$i]))
                {
                    
    $protokoll .= $uebersicht2[$i]['datum_c'];
                }
            
    $protokoll .= "&nbsp;
            </td>
            <td>"
    ;
            if (
    array_key_exists('stunden_z',$uebersicht2[$i]))
                {
                    
    $protokoll .= $uebersicht2[$i]['stunden_z'];
                }
            
    $protokoll .= "&nbsp;
            </td>
            <td>"
    ;
            if (
    array_key_exists('grund_z',$uebersicht2[$i]))
                {
                    
    $protokoll .= $uebersicht2[$i]['grund_z'];
                }
            
    $protokoll .= "&nbsp;
            </td>
            <td>"
    ;
            if (
    array_key_exists('datum_z',$uebersicht2[$i]))
                {
                    
    $protokoll .= $uebersicht2[$i]['datum_z'];
                }
            
    $protokoll .= "&nbsp;
            </td>
        </tr>"
    ;
        } 

    Einen Kommentar schreiben:


  • dennis81
    antwortet
    Kannst den ternären Operator für so etwas nehmen

    PHP-Code:
    isset($uebersicht2[$i]['name'])?$uebersicht2[$i]['name']:'default' 

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Kannst du genauso machen, aber achte darauf, das richtige Array anzusprechen ($uebersicht2[$i])

    Einen Kommentar schreiben:

Lädt...
X