Ankündigung

Einklappen
Keine Ankündigung bisher.

Ressource ID#29

Einklappen

Neue Werbung 2019

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

  • Ressource ID#29

    Hallo

    Ich hoffe ich bin hier im richtigen Forum.

    Habe ein Problem das bei einen bestimmten Code immer der Fehler ressource id#29 auftritt. kann mir da jemand bitte helfen?

    hier der code dazu

    PHP-Code:
    $awaygetinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['away_config']." WHERE away_id='1' LIMIT 1"));
    $away_list=$DB->query("SELECT user_id, user_nick FROM ".$db_tab['user']." ORDER by user_nick ASC");
    while (
    $away_list_info=$DB->fetch_array($away_list)) {
    unset(
    $selected);
    if (
    strstr($awaygetinfo['away_im'],'-'.$away_list_info['user_id'].'-')) {
    $selected=" selected";
    $user_list_away.="<a target=\"_blank\" href=\"./../include.php?path=login/userinfo.php&amp;id=".$away_list_info[user_id]."\">".htmlentities(html_entity_decode(trim($away_list_info[user_nick])))."</a>, ";
    }
    $user_nick_away=htmlentities(html_entity_decode(trim($away_list_info['user_nick'])));
    $user_id_away=htmlentities(html_entity_decode(trim($away_list_info['user_id'])));
    eval (
    "\$user_list.= \"".templateinclude("away/away_userlist_option")."\";");


  • #2
    Also zuerst würde ich dir empfehlen einheitliche Variablennamen zu verwenden und nicht die einen mit 2 _ und die anderen ganz ohne etc. Ist einfach übersichtlicher.
    Desweiteren würde ich bei assoziativen Arrays bei den Keys immer Anführungszeichen benutzen und nicht so wie bei der $user_list_away Zeile.

    Wo erfolgt die Ausgabe von resource id#29 denn genau? Sowas kriegt man nämlich zurück, wenn man einen echo auf eine Variable ausführt, der vorher die Rückgabe von einem normalen query zugewiesen wurde.

    Kommentar


    • #3
      Das ganze ist PHPKit und es gibt ja dort kein echo weil ja templates geladen werden.

      hier das template dazu:

      Code:
      <option value="$user_id_away" $selected">$user_nick_away</option>
      template 2

      Code:
      <tr>
        <td class="left" valign="top">User ausw&auml;hlen<br />
        <font class="small">Mehrfachselektierung durch gleichzeitiges drücken der STRG/CTRL-Taste.<br /><br />
        <b>Zugewiesene User:</b><br /> $user_list_away</font></td>
        <td class="right" valign="top">
          <select name="user_speichern[]" multiple size="10" class="w90" />
          $user_list
          </select>
        </td>
       </tr>
      mit der $user_list_away meinst du das so?

      PHP-Code:
      $user_list_away.='<a target=\"_blank\" href=\"./../include.php?path=login/userinfo.php&amp;id=".$away_list_info[user_id]."\">".htmlentities(html_entity_decode(trim($away_list_info[user_nick])))."</a>, '

      Kommentar


      • #4
        Ich kenne mich mit PHPKit leider nicht aus, aber die Ausgabe lässt definitiv darauf schliessen, dass irgendwo direkt eine Rückgabe von $DB->query() ausgegeben wird (über eine Variable) anstatt das ganze noch über ein fetch_array() laufen zu lassen.

        Nein das meinte ich eigentlich nicht so.... Du hast in der Zeile folgendes stehen:
        PHP-Code:
        $away_list_info[user_id
        und das Selbe auch mit user_nick als Key. Das solltest du immer folgendermassen benutzen:
        PHP-Code:
        $away_list_info['user_id'

        Kommentar


        • #5
          Danke erstmal das du helfen willst, finde ich klasse !

          Aber das Porblem besteht immer noch. Der Code sieht nun folgender Massen aus:

          PHP-Code:
          $awaygetinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['away_config']." WHERE away_id='1' LIMIT 1"));
          $away_list=$DB->query("SELECT user_id, user_nick FROM ".$db_tab['user']." ORDER by user_nick ASC");
          while (
          $away_list_info=$DB->fetch_array($away_list)) {
          unset(
          $selected);
          if (
          strstr($awaygetinfo['away_im'],'-'.$away_list_info['user_id'].'-')) {
          $selected=" selected";
          $user_list_away.="<a target=\"_blank\" href=\"./../include.php?path=login/userinfo.php&amp;id=".$away_list_info['user_id']."\">".htmlentities(html_entity_decode(trim($away_list_info['user_nick'])))."</a>, ";
          }
          $user_nick_away=htmlentities(html_entity_decode(trim($away_list_info['user_nick'])));
          $user_id_away=htmlentities(html_entity_decode(trim($away_list_info['user_id'])));
          eval (
          "\$user_list.= \"".templateinclude("away/away_userlist_option")."\";");

          Also der Fehler muss aber in der while schleife liegen weil wenn ich die auskommentiere dann ist der Ressource ID Fehler weg

          -----

          Kommentiere ich das aus

          PHP-Code:
          $awaygetinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['away_config']." WHERE away_id='1' LIMIT 1")); 
          erhalte ich Ressource ID#28 statt 29

          Kommentar


          • #6
            Das mit der ID 28 ist logisch, weil die Resourcen von der Datenbank durchnummeriert werden. Wenn du dann eine weglässt, ist die ID automatisch auch kleiner. Kannst du vielleicht mal jede Zeile (so gut wie möglich) einzeln auskommentieren, damit du den Fehler auf eine bestimmte Zeile begrenzen kannst?
            Kannst du vielleicht auch mal einen var_dump() von $away_list_info gleich am Anfang der while-Schleife machen?

            Kommentar


            • #7
              kommentiere ich das aus ist der fehler weg:

              PHP-Code:
              $awaygetinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['away_config']." WHERE away_id='1' LIMIT 1"));
              $away_list=$DB->query("SELECT user_id, user_nick FROM ".$db_tab['user']." ORDER by user_nick ASC");
              while (
              $away_list_info=$DB->fetch_array($away_list)) {

              ich hänge dir mal den kompletten code an

              PHP-Code:
              <?php
              if (adminaccess('awaykalender')) {

                  
              $user_speichern=$_POST['user_speichern'];
                  if (
              $user_speichern[0]=="0") {
                      unset(
              $user_speichern);
                  } elseif (
              is_array($user_speichern)) {
                      
              $user_speichern "-".implode("-",$user_speichern)."-";
                  }

                  if (isset(
              $_POST['action'])) {
                      
              $ACTION=$_POST['action'];
                  } else {
                      
              $ACTION='view';
                  }


                  if(
              $ACTION==$_POST['save']){

                      
              $DB->query(
                          
              "UPDATE 
                              "
              .$db_tab['away_config'].
                          SET
                              away_off         = '"
              .intval($_POST['away_off'])."',
                              away_off_eintrag = '"
              .intval($_POST['away_off_eintrag'])."',
                              away_eintrag     = '"
              .$_POST['away_eintrag']."', 
                              away_show        = '"
              .$_POST['away_show']."', 
                              away_seite       = '"
              .intval($_POST['away_seite'])."',
                              away_home        = '"
              .intval($_POST['away_home'])."',
                              away_im          = '"
              .addslashes($user_speichern)."'
                          WHERE 
                              away_id = '1'"
                      
              );
                              
                  }

                  
              $awaygetinfo $DB->fetch_array(
                      
              $DB->query(
                          
              "SELECT 
                              * 
                          FROM 
                              "
              .$db_tab['away_config'].
                          WHERE 
                              away_id='1' 
                          LIMIT 
                              1"
                      
              )
                  );
                  
              $away_list $DB->query(
                      
              "SELECT 
                          user_id, 
                          user_nick 
                      FROM 
                          "
              .$db_tab['user'].
                      ORDER BY 
                          user_nick ASC"
                  
              );
                  while (
              $away_list_info $DB->fetch_array($away_list)) {
                      unset(
              $selected);
                      if (
              strstr($awaygetinfo['away_im'],'-'.$away_list_info['user_id'].'-')) {
                          
              $selected=" selected";
                          
              $user_list_away .= '<a target="_blank" href="./../include.php?path=login/userinfo.php&amp;id='.$away_list_info['user_id'].'">
                                                '
              .htmlentities(html_entity_decode(trim($away_list_info['user_nick']))).'</a>, ';
                      }
                      
              $user_nick_away htmlentities(html_entity_decode(trim($away_list_info['user_nick'])));
                      
              $user_id_away htmlentities(html_entity_decode(trim($away_list_info['user_id'])));
                      eval (
              "\$user_list.= \"".templateinclude("away/away_userlist_option")."\";");
                  }

                  
              $awayinfo $DB->query(
                      
              "SELECT 
                          * 
                      FROM 
                          "
              .$db_tab['away_config'].
                      WHERE 
                          away_id = '1'"
                  
              );
                  while (
              $awayedit $DB->fetch_array($awayinfo)) {

                      
              $away_eintrag $awayedit['away_eintrag'];
                      
              $away_show    $awayedit['away_show'];
                      
              $away_seite   $awayedit['away_seite'];
                      
              $away_im      $awayedit['away_im'];

                      if (
              $awayedit['away_off']==1) {
                          
              $away_off1 'checked';
                      } else {
                          
              $away_off0 'checked';
                      }
                  
                      if (
              $awayedit['away_off_eintrag']==1) {
                          
              $away_off_eintrag1 'checked';
                      } else {
                          
              $away_off_eintrag0 'checked';
                      }

                      if (
              $awayedit['away_home']==1) {
                          
              $away_home1 'checked';
                      } else {
                          
              $away_home0 'checked';
                      }
                  
                      if (
              $away_eintrag=='user') {
                          
              $away_eintrag1 " selected";
                      } elseif (
              $away_eintrag=='member') {
                          
              $away_eintrag2 " selected";
                      } elseif (
              $away_eintrag=='mod') {
                          
              $away_eintrag3 " selected";
                      } elseif (
              $away_eintrag=='admin') {
                          
              $away_eintrag4 " selected";
                      }
                 
                        if (
              $away_show=='guest') {
                          
              $away_show1 " selected";
                      } elseif (
              $away_show=='user') {
                          
              $away_show2 " selected";
                      } elseif (
              $away_show=='member') {
                          
              $away_show3 " selected";
                      } elseif (
              $away_show=='mod') {
                          
              $away_show4 " selected";
                      } elseif (
              $away_show=='admin') {
                          
              $away_show5 " selected";
                      }

                  }
                  
                  eval (
              "\$site_body.= \"".templateinclude("away/awaykalender","")."\";");

              }

              $awayconfig $DB->fetch_array(
                  
              $DB->query(
                      
              "SELECT 
                          * 
                      FROM 
                          "
              .$db_tab['away_config'].
                      WHERE 
                          away_id = '1'"
                  
              )
              );
              list(
              $num) = $DB->fetch_array(
                  
              $DB->query(
                      
              "SELECT 
                          count(*) 
                      FROM 
                          "
              .$db_tab['user'].
                      WHERE 
                          user_awaystatus = '1'"
                  
              )
              );
              if (
              $num<1) {
                  eval (
              "\$site_body.= \"".templateinclude("away/away_empty","")."\";");
                  return;
              }

              $scrlink "admin.php?path=awaykalender.php";
              $epp     $awayconfig['away_seite'];

              if (!
              $epp) {
                  
              $epp 10;
              }

              if (
              $_REQUEST['entries']) {
                  
              $entries intval($_REQUEST['entries']);
                  
              $rank $entries+1;
              } else {
                  
              $entries 0;
                  
              $rank 1;
              }

              if (
              $entries>$num) {
                  
              $entries 0;
              }
              $total_side sidelinkfull($num,$epp,$entries,$scrlink);

              $getuserinfo $DB->query(
                  
              "SELECT 
                      * 
                  FROM 
                      "
              .$db_tab['user'].
                  WHERE 
                      user_awaystatus = '1' 
                  LIMIT 
                      "
              .$entries.", ".$epp.""
              );
              while (
              $userinfo $DB->fetch_array($getuserinfo)) {
                  
              $id              intval($userinfo['user_id']);
                  
              $info_nick       $userinfo['user_nick'];
                  
              $away_startday   $userinfo['user_away_startday'];
                  
              $away_startmonth $userinfo['user_away_startmonth'];
                  
              $away_startyear  $userinfo['user_away_startyear'];
                  
              $away_endeday    $userinfo['user_away_endeday'];
                  
              $away_endemonth  $userinfo['user_away_endemonth'];
                  
              $away_endeyear   $userinfo['user_away_endeyear'];
                  
              $awaytitle       $userinfo['user_awaytitel'];
                  
              $awaytext        $PARSE->parse($userinfo['user_awaytext'],1,1,1,1);
                  
                  if (
              $userinfo['user_imoption']==0) {
                       eval (
              "\$im.= \"".getTemplate("away/away_list_im_off")."\";");
                  } else {
                      eval (
              "\$im.= \"".getTemplate("away/away_list_im_on")."\";");
                  }
               
                  if (
              $userinfo['user_awayprofil']==1) {
                      eval (
              "\$profil.= \"".getTemplate("away/away_list_profil_off")."\";");
                  } else {
                      eval (
              "\$profil.= \"".getTemplate("away/away_list_profil_on")."\";");
                  }

                  eval(
              "\$away_list.= \"".templateinclude("away/away_list")."\";");
              }    
              eval(
              "\$site_body.= \"".templateinclude("away/away_list_kopf")."\";");
              ?>

              Kommentar


              • #8
                Du hast immer noch nicht gesagt, bei welcher Zeile genau der Fehler auftritt, und wie die ganze Fehlermeldung lautet.
                Gruss
                L

                Kommentar


                • #9
                  Also das hier:

                  PHP-Code:
                  if (strstr($awaygetinfo['away_im'], 
                  kann schon nicht funktionieren, denn in $awaygetinfo dürfte genau so eine Ressource stehen

                  Kommentar


                  • #10
                    Zitat von cycap Beitrag anzeigen
                    PHP-Code:
                    if (strstr($awaygetinfo['away_im'], 
                    kann schon nicht funktionieren, denn in $awaygetinfo dürfte genau so eine Ressource stehen
                    Hab ich eben zuerst auch gemeint, da diese Variable aber das Resultat einer fetch()-Funktion ist, dürfte es sich trotzdem um einen Array handeln.
                    Aber Fehler ressource id#29 ist ja sicher auch nicht die ganze Fehlermeldung
                    Gruss
                    L

                    Kommentar


                    • #11
                      Zitat von lazydog Beitrag anzeigen
                      Hab ich eben zuerst auch gemeint, da diese Variable aber das Resultat einer fetch()-Funktion ist, dürfte es sich trotzdem um einen Array handeln.
                      Aber Fehler ressource id#29 ist ja sicher auch nicht die ganze Fehlermeldung
                      Verdammt, übersehen. der Code ist aber auch unübersichtlich muss ich zu meiner Verteidigung sagen also weiter glaskugeln

                      Kommentar


                      • #12
                        Vielleicht läuft schon beim Eintragen etwas falsch und in der DB steht die Zeichenkette "resource #29".
                        Bitte einmal mit diesem Code versuchen
                        PHP-Code:
                        /*
                        while ($away_list_info = $DB->fetch_array($away_list)) {
                            unset($selected);
                            if (strstr($awaygetinfo['away_im'],'-'.$away_list_info['user_id'].'-')) {
                                $selected=" selected";
                                $user_list_away .= '<a target="_blank" href="./../include.php?path=login/userinfo.php&amp;id='.$away_list_info['user_id'].'">
                                '.htmlentities(html_entity_decode(trim($away_list_info['user_nick']))).'</a>, ';
                            }
                            $user_nick_away = htmlentities(html_entity_decode(trim($away_list_info['user_nick'])));
                            $user_id_away = htmlentities(html_entity_decode(trim($away_list_info['user_id'])));
                            eval ("\$user_list.= \"".templateinclude("away/away_userlist_option")."\";");
                        }
                        */
                        echo '<pre>';
                        while (
                        $away_list_info $DB->fetch_array($away_list)) {
                          
                        var_dump($away_list_info);
                          echo 
                        "\n\n";
                        }
                        exit(
                        '</pre>'); 

                        Kommentar


                        • #13
                          Zitat von cycap Beitrag anzeigen
                          also weiter glaskugeln
                          Nee, wenn die nötigen Informationen nicht kommen ignorieren
                          Gruss
                          L

                          Kommentar


                          • #14
                            So eine Ausgabe à la "Resource ID#xx" ist ja keine Fehlermeldung sondern einfach eine Ausgabe von etwas, was man nicht mit echo ausgeben sollte Deshalb steht da wohl auch keine Standard-Fehlermeldung mit entsprechender Zeilen-Angabe.

                            Habe den Code jetzt auch schon oft durchgesehen, kann aber nichts offensichtlich falsches entdecken.

                            Es wäre wirklich praktich, wenn du mal jede Zeile der while-Schleife für sich auskommentieren könntest (alle anderen nicht auskommentieren) und uns dann sagen könntest, wann die Ausgabe noch kommt und wann nicht. Dass der Fehler in der while-Schleife liegt, ist logisch, aber da sind ja mehrere Zeilen drin.

                            Der ganze Code nützt uns da leider auch nicht weiter, weil wir ihn ja nicht testen können.

                            Kommentar


                            • #15
                              - Also wie gesagt kommentiere ich das aus:

                              PHP-Code:
                              $away_list=$DB->query("SELECT user_id, user_nick FROM ".$db_tab['user']." ORDER by user_nick ASC"); 
                              Ist der Fehler weg!

                              - Aber Fehler ressource id#29 ist ja sicher auch nicht die ganze Fehlermeldung

                              Doch ist es ( siehe Bild )



                              - Wenn ich den Code von David nutze bekomme ich folgende Meldung

                              Code:
                              array(4) {
                                [0]=>
                                string(3) "437"
                                ["user_id"]=>
                                string(3) "437"
                                [1]=>
                                string(17) " -=]LCL[=-|Hanky|"
                                ["user_nick"]=>
                                string(17) " -=]LCL[=-|Hanky|"
                              }
                              - In der Datenbank ist alles in Ordnung dort steht nichts von RessourceID

                              Kann es an der anderen while schleife liegen?

                              Kommentar

                              Lädt...
                              X