Thomas Z.: php.ini register_globals = off

0 52

php.ini register_globals = off

Thomas Z.
  • php
  1. 0
    wahsaga
  2. 0
    Joachim
  3. 0
    Vinzenz Mai
    1. -1
      Thomas Z.
      1. 0
        wahsaga
        1. 0
          Thomas Z.
        2. 0
          Thomas Z.
      2. 0
        Vinzenz Mai
        1. 0
          Thomas Z.
          1. 0
            Thomas Z.
            1. 0
              wahsaga
              1. 0
                Thomas Z.
                1. 0
                  fastix®
                  1. 0
                    Thomas Z.
                    1. 0
                      Vinzenz Mai
                      1. 0
                        Thomas Z.
                        1. 0
                          Rouven
                          1. 0
                            Thomas Z.
                            1. 0
                              Rouven
                              1. 0
                                Thomas Z.
                                1. 0
                                  Ashura
                                2. 0
                                  fastix®
                                  1. 0
                                    Thomas Z.
                                    1. 0
                                      fastix®
                                      1. 0
                                        Thomas Z.
                                        1. 0
                                          wahsaga
                    2. 0
                      fastix®
                      1. 0
                        Thomas Z.
                        1. 0
                          fastix®
                        2. 0
                          Vinzenz Mai
                          1. 0
                            Thomas Z.
                            1. 0
                              Vinzenz Mai
                              1. 0
                                Thomas Z.
                2. 0
                  wahsaga
                  1. -1
                    Thomas Z.
            2. 0
              Vinzenz Mai
            3. 0
              fastix®
          2. 0
            dedlfix
  4. 0
    fastix®
    1. 0
      fastix®
      1. 0
        Thomas Z.
        1. 0
          fastix®
          1. 0
            Tobias Kloth
            1. 0
              fastix®
    2. 0
      dedlfix
      1. 0
        fastix®
        1. 0
          Tobias Kloth
          1. 0
            fastix®
            1. 0
              Tobias Kloth
              1. 0
                fastix®
  5. 0
    Tom

Tach zusammen

Hab da ein Problem welches ich mir nicht so ganz erklären kann.
Stelle ich in der php.ini register_globals = Off und rufe meine Seite auf bekomme ich folgende Fehlermeldung

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ausgabe.php on line 128

dort steht in Zeile 128

while ($row = mysql_fetch_row ($result))

stelle ich register_globals = On

läuft die abfrage und ich bekomme meine Datensaetze angezeigt.

Was kann das sein, bzw. wie kann ich das Script ändern damit ich register_globals = off stehen lassen kann ...

Gruss und Danke Thomas

  1. hi,

    Hab da ein Problem welches ich mir nicht so ganz erklären kann.
    Stelle ich in der php.ini register_globals = Off und rufe meine Seite auf bekomme ich folgende Fehlermeldung

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ausgabe.php on line 128
    [...]
    Was kann das sein,

    Diese Meldung deutet lediglich darauf hin, dass bei einer _vorher_ ausgeführten SQL-Query etwas schief ging.

    Hättest du dort ein ordentliches Fehlerhandling eingebaut - mysql_error() abfragen o.ä. - dann wüsstest du auch schon, was das ist.

    bzw. wie kann ich das Script ändern damit ich register_globals = off stehen lassen kann ...

    Duhast vermutlich per GET/POST/COOKIE hereinkommende Werte in deiner Query verwendet, ohne dort die korrekte Schreibweise zu verwenden.
    (Darauf, sie gegen SQL Injections abzusichern, hast du aber hoffentlich wenigstens gedacht?)

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi,

    Was kann das sein, bzw. wie kann ich das Script ändern damit ich register_globals = off stehen lassen kann ...

    Möglicherweise kommen Deine Parameter nicht mehr an, weil Du direkt auf die Variablen, nicht aber auf $_POST, $_GET, $_REQUEST etc. zugreifst:
    http://de2.php.net/register_globals

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
  3. Hallo Thomas,

    Stelle ich in der php.ini register_globals = Off und rufe meine Seite auf bekomme ich folgende Fehlermeldung

    das PHP-Handbuch, Abschnitt Verwendung von Register Globals sollte Deine erste Anlaufstelle sein.

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ausgabe.php on line 128

    Meine Glaskugel sagt mir: Das SQL-Statement, das Du MySQL zur Ausführung übergibst, sieht nicht so aus wie Du glaubst.
    Poste doch bitte Deinen Code, der das SQL-Statement zusammenbaut, das SQL-Statement wie es Deiner Ansicht nach aussehen sollte und das SQL-Statement, das tatsächlich übergeben wird.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz

      Danke für deine prompte Antwort...

      Hier ein Teil meines Codes....

      <?php

      include("admin/zugang.inc.php");
      switch ($jahr)

      {
      case "1992"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";
                 break;
      case "1993"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";
                 break;
       default        : $sql="SELECT * FROM nodata";
                 break;

      }

      $ergebnis = mysql_query($sql,$verbindung);

      echo "<table width='471' border='1' bordercolor='#FF9900'  cellspacing='1'cellpadding='1' align='center'>";
      echo "<tr bgcolor='#FFAC05'>";
      echo "<td align='center'><font color='#000000'><FONT FACE='Arial' SIZE=2><b>Charts Fuer Die Woche Vom</td>";
      echo "</tr>";
      while ($row = mysql_fetch_object($ergebnis))

      {
      echo "<tr bgcolor='#000080'>
      <td align='center'><font color='#FFFF00'><b>$row->datum</b></td>
      </tr>";

      }
      echo "</table>";
      echo "<p>";
      mysql_free_result($ergebnis);

      mysql_close($verbindung);
      ?>

      <?php

      $db = @MYSQL_CONNECT($server,$benutzer,$kennwort);  mysql_select_db("top100",$db);
      //$bioId = mysql_escape_string($bioId);
      $result = mysql_query("SELECT top100.*,(SELECT count(*) from top100 as top100 WHERE top100.interpret= top100.interpret AND top100.titel= top100.titel) AS ANZAHL FROM top100, woche WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' and top100.KW='$kw' AND woche.kw='$kw' ORDER BY 'Platz' LIMIT $pos");

      while ($row = mysql_fetch_row ($result))
      {
      if ($row[19] == '<img border="0" src="images/single/new.gif" width="53" height="16">')
              $change = '<font color="#FF0000">Neu';
      else if ($row[19] == '<body bgcolor="#FF0000"><font size ="1" color="#000000">Wiedereinsteiger</font></p>')
              $change = '<img border="0" src="images/single/point.gif" width="12" height="10">';
      else if ($row[6] == $row[19])
              $change = '<img border="0" src="images/single/point.gif" width="12" height="10">';
          else if ($row[6] < $row[19])
              $change = '<img border="0" src="images/single/a_up.gif" width="12" height="10">';
      else if ($row[6] > $row[19])
              $change = '<img border="0" src="images/single/a_down.gif" width="12" height="10">';

      echo"<center>";
      echo"<table border='1' width='49%' height='35' bgcolor='#000080' border='2' bordercolor='#FFAC05'>";

      echo"  <tr>";
             echo" <td width='9%' height='1' rowspan='3' align='center' border='2' bordercolor='#FFAC05'>";
               echo" <p align='center'border='2' bordercolor='#FFAC05'><font color='#FFAC05'><i><b><FONT FACE='Arial' SIZE='2'>$row[6]</p>";
           echo"   </td>";
              echo"<td width='9%' height='33' align='center'><font color='#FFFFFF'><i><b><FONT FACE='Arial' SIZE='2'><i><b><FONT FACE='Arial' SIZE='2'>$change</td>";
              echo"<td width='62%' height='1' rowspan='2' align='center' colspan='4'>";
                echo"<p align='center'><font color='#FFFFFF'><i><b><FONT FACE='Franklin Gothic Medium' SIZE='3'>$row[1]</p>";
            echo" </td>";
              echo"<td width='20%' height='29' rowspan='4' align='center'><font color='#FFFFFF'><i><b><FONT FACE='Arial' SIZE='2'><i><b><FONT FACE='Arial' SIZE='2'>$row[8]</td>";
           echo" </tr>";
            echo"<tr>";
             echo" <td width='9%' height='1' rowspan='2' align='center'><font color='#FFAC05'><i><b><FONT FACE='Arial' SIZE='2'>$row[19]</td>";
            echo"</tr>";
            echo"<tr>";
              echo"<td width='62%' height='29' align='center' colspan='4'>";
               echo" <p align='center'><font color='#FFFF00'><i><b><FONT FACE='Arial' SIZE='2'>$row[2]</td>";
          echo"  </tr>";
           echo" <tr>";
              echo"<td width='18%' height='32' colspan='2' align='center'><font color='#FFAC05'><i><b><FONT FACE='Arial' SIZE='2'>KW $kw</td>";
              echo"<td width='11%' height='16' align='center'><a href='biografien.php?bioId=$row[1]'><img border='0' src='images/biografie.gif' width='65' height='15'></td>";
              echo"<td width='1%' height='16' align='center'>$row[9]</td>";
            echo"  <td width='9%' height='16' align='center'>$row[14]</td>";
             echo" <td width='10%' height='16' align='center'><font color='#FFAC05'><i><b><FONT FACE='Arial' SIZE='2'>$row[21]</td>";
           echo" </tr>";
          echo"</table>";

      echo" </center>";
         echo" </div>";
      echo"<p>";
      echo mysql_error();

      ?>

      Den Code hab ich mal vor cirka 5 Jahren geschrieben.

      1. hi,

        Danke für deine prompte Antwort...

        Hier ein Teil meines Codes....

        Was soll das?
        Vinzenz' Antwort und auch die anderen enthielten Tipps, wo _du_ den Fehler suchen sollst - also wieso lädst du jetzt einfach deinen kompletten Code hier ab - "macht ihr mal für mich"?

        Den Code hab ich mal vor cirka 5 Jahren geschrieben.

        Schön für dich.
        Dann bringe jetzt bitte dein Wissen auf einen halbwegs aktuellen Stand, und aktualisiere anschließend deinen Code.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo wahsaga

          Sorry, mit "macht mal für mich" hat das nixhts zu tun.

          Nur fang ich mit Fachbegriffen im ersten Moment nix an...

          Jeder glaub ich hat so seine Stärken.... ich könnte dir auch was über Einbauküchen und Möbel erzählen und dann sagen....

          MACH MAL....

          Gruss Thomas

        2. Hallo wahsaga

          Das ich den Code gepostet habe war aufgrund der Antwort von Vinzenz der mich drun gebeten hatte.

          Gruss Thomas

      2. Hallo Thomas,

        switch ($jahr) {
            case "1992"    : $sql = [...]; break;
            case "1993"    : $sql = [...]; break;
            default        : $sql = "SELECT * FROM nodata"; break;
        }

        Meine Glaskugel sagt mir: $sql enthält den Wert

        SELECT * FROM nodata

        Möchtest Du dieses Statement absetzen?
        Sollte das SQL-Statement etwa anders aussehen? Wenn ja, wie?

        Ich wollte von Dir mehr als nur Code.
        Ich wollte z.B. SQL-Statements sehen.

        Freundliche Grüße

        Vinzenz

        1. Vinzenz ->YOU ARE THE BEST

          ->     SELECT * FROM nodata

          das war der Fehler.....

          S U P E R.......

          gibt es noch etwas was ich aendern sollte ??

          Gruss Thomas

          1. Hallo Vinzenz

            Ähhh sorry, hatte vergessen nach dem aendern der php.ini den Webserver neu zu starten.

            Gleiches Problem wie am Anfang....

            Die SQL Statements sind die, die ich gepostet habe..

            case "1992"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";
                       break;

            $result = mysql_query("SELECT top100.*,(SELECT count(*) from top100 as top100 WHERE top100.interpret= top100.interpret AND top100.titel= top100.titel) AS ANZAHL FROM top100, woche WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' and top100.KW='$kw' AND woche.kw='$kw' ORDER BY 'Platz' LIMIT $pos");

            Wenn der Fehler in $sql liegt, weiss ich nicht wie ich das anders übergeben soll......

            sind doch nur 3 Variablen...

            1. hi,

              Gleiches Problem wie am Anfang....

              Ja, sieht so aus - fragt sich bloß, warum immer noch? Was du bei register_globals=off zu beachten hast, sollte doch jetzt eigentlich klar sein.

              case "1992"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";

              Woher sollen die Werte für $jahr und $kw kommen?

              sind doch nur 3 Variablen...

              _Wenn_ sie das sind. Zweifel sind angebracht.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              1. Die drei Variablen kommen aus einem weiteren Script

                guckst du

                <html>

                <div align="center">
                  <center>
                <pre align="center"><font face="Arial" size="3"><b>Jahr : </b><select name="jahr" size="1" background-color="#FFFFE0"><option>&nbsp;&nbsp;&nbsp;</option>
                <option value="1992">1992</option>

                </select><b> KW: </b><select name="kw" size="1" background-color="#FFFFE0">

                </select> <b>Pl&aumltze: </b></select><select name="pos" size="1" background-color="#FFFFE0">
                <option>&nbsp;&nbsp;&nbsp;</option>
                <option value="10"SELECTED>10</option>
                <option value="50">50</option>
                <option value="100">100</option>
                </select>&nbsp;&nbsp;<input type="submit" value="Go !"></font></center>
                </div>
                </form>
                </html>

                1. Moin!

                  Die drei Variablen kommen aus einem weiteren Script

                  Wie soll das gehen? Es wird immer nur genau ein Formular gesendet. Oder arbeitest Du mit einer Session?

                  MFFG (Mit freundlich- friedfertigem Grinsen)

                  fastix®

                  --
                  Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
                  1. Sieht aus als läge der Fehler in der Syntax

                    SELECT top100.*,(
                       SELECT count(*) from top100 as top100
                       WHERE top100.interpret= top100.interpret
                         AND top100.titel= top100.titel) AS ANZAHL
                         FROM top100, woche WHERE top100.jahr='$jahr'
                         AND woche.jahr='$jahr' and top100.KW='$kw'
                         AND woche.kw='$kw' ORDER BY 'Platz'
                     LIMIT $pos";

                    und zwar an LIMIT $pos, so deute ich zumindest die Fehlerausgabe..

                    1. Hallo Thomas,

                      SELECT top100.*,(
                         SELECT count(*) from top100 as top100
                         WHERE top100.interpret= top100.interpret
                           AND top100.titel= top100.titel) AS ANZAHL
                           FROM top100, woche WHERE top100.jahr='$jahr'
                           AND woche.jahr='$jahr' and top100.KW='$kw'
                           AND woche.kw='$kw' ORDER BY 'Platz'
                      LIMIT $pos";

                      ein einfaches echo $sql; würde ein für Dich überraschendes Ergebnis liefern. Warum weigerst Du Dich so standhaft, diese Ausgabe zu erzeugen. Um diese Ausgabe bitte ich Dich doch bereits seit meinem ersten Posting.

                      Wie fastix bereits schrieb sollte es wohl $_GET['jahr'] bzw. $_POST['jahr'], $_GET['kw'] bzw. $_POST['kw'] heißen (analoges gilt für $pos), aber ich verlinkte Dir schon in meinem ersten Posting den betreffenden Handbuchabschnitt und damit war ich nicht allein.

                      Freundliche Grüße

                      Vinzenz

                      1. Hey Vinzenz

                        so hab ich gemacht

                        SELECT top100.*,( SELECT count(*) from top100 as top100 WHERE top100.interpret= top100.interpret AND top100.titel= top100.titel) AS ANZAHL FROM top100, woche WHERE top100.jahr='2006' AND woche.jahr='2006' and top100.KW='6' AND woche.kw='6' ORDER BY 'Platz' LIMIT 10

                        das war das ergebnis.....

                        die Variablen sind übergeben worden

                        1. Hi,

                          ich hab leider in diesem Thread den Überblick verloren, wo du eigentlich gerade bist und was klappt und was nicht...

                          SELECT top100.*,( SELECT count(*) from top100 as top100 WHERE top100.interpret= top100.interpret AND top100.titel= top100.titel) AS ANZAHL FROM top100, woche WHERE top100.jahr='2006' AND woche.jahr='2006' and top100.KW='6' AND woche.kw='6' ORDER BY 'Platz' LIMIT 10

                          Sind das bei ORDER BY 'Platz' Backticks (`) oder normale Single-Quotes ('). Falls letzteres gilt, ist das ebenso wie die Join-Bedingung top100.titel = top100.titel nicht wirklich sinnvoll. Auf die Join-Bedingung wurdest du ja schon hingewiesen... ORDER BY 'Platz' sortiert alle Einträge nach dem String 'Platz' der also für alle Einträge gleich ist, damit wird also nichts sortiert. Wenn du nach der Spalte Platz sortieren möchtest, dann lass die Quotes weg...

                          Zu den Variablen einfach nochmal der Hinweis:
                          PHP-FAQ: register_globals
                          PHP-FAQ: Variablenübergabe

                          MfG
                          Rouven

                          --
                          -------------------
                          ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
                          1. so jetzt ja, musste mal eben Opa und Oma besuchen gehen, sind ins Krankenhaus gekommen.

                            hier mal das was erstmal aufgerufen wird und die kw etc auflisten

                            <pre align="center"><font face="Arial" size="3"><b>Jahr : </b><select name="jahr" size="1" background-color="#FFFFE0"><option>&nbsp;&nbsp;&nbsp;</option>
                            <option value="1992">1992</option>
                            <option value="1993">1993</option>
                            <option value="1994">1994</option>
                            </select><b> KW: </b><select name="kw" size="1" background-color="#FFFFE0">
                            </select> <b>Pl&aumltze: </b></select><select name="pos" size="1" background-color="#FFFFE0">
                            <option>&nbsp;&nbsp;&nbsp;</option>
                            <option value="10"SELECTED>10</option>
                            <option value="50">50</option>
                            <option value="100">100</option>
                            </select>&nbsp;&nbsp;<input type="submit" value="Go !"></font></center>^M
                            </div>^M
                            </form>^M
                            </html>

                            ausgabe.php

                            <?php

                            include("admin/zugang.inc.php");
                            switch ($jahr)

                            {
                            case "1992"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";
                                       break;
                            case "1993"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";
                                       break;
                            case "1994"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";
                                       break;

                            default        : $sql="SELECT * FROM nodata";
                                       break;

                            }

                            $ergebnis = mysql_query($sql,$verbindung);

                            echo "<table width='471' border='1' bordercolor='#FF9900'  cellspacing='1'cellpadding='1' align='center'>";
                            echo "<tr bgcolor='#FFAC05'>";
                            echo "<td align='center'><font color='#000000'><FONT FACE='Arial' SIZE=2><b>Charts Fuer Die Woche Vom</td>";
                            echo "</tr>";
                            while ($row = mysql_fetch_object($ergebnis))

                            {
                            echo "<tr bgcolor='#000080'>
                            <td align='center'><font color='#FFFF00'><b>$row->datum</b></td>
                            </tr>";

                            }
                            echo "</table>";
                            echo "<p>";
                            mysql_free_result($ergebnis);

                            mysql_close($verbindung);
                            ?>

                            <?php

                            ich hab dann mal ein echo auf $sql gesetzt

                            Ergebnis :

                            You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 8

                            das aber nur bei register_globals = Off

                            1. Hi Thomas,

                              hast du irgendwas gelesen von dem, was ich verlinkt habe? Ich sehe immer noch keine Stelle, an der du die Variablen aus dem Formular übernimmst...

                              MfG
                              Rouven

                              --
                              -------------------
                              ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
                              1. Hi Rouven
                                was ich nicht begreife ist warum funktioniert die Uebergabe der Variablen bei register_globals = On und bei Off nicht..

                                Ich weiss beim besten Willen nicht was ich bzw. wie ich das aendern soll.

                                Hab mir gerade das html raus gesucht und mir das angeschaut.
                                Hab den MySQL Statement bis aufs geringste Reduziert, alles beim alten.

                                Gruesse Thomas

                                1. Hallo Thomas.

                                  was ich nicht begreife ist warum funktioniert die Uebergabe der Variablen bei register_globals = On und bei Off nicht..

                                  Ganz einfach. Bei aktivierten register_globals werden folgende Schritte von PHP intern automatisch vorgenommen:

                                  $_POST['foo'] → $_POST['foo'] und $foo

                                  $_GET['bar'] → $_GET['bar'] und $bar

                                  etc.

                                  Greifst du in deinen Scripten auf $foo oder $bar zu, geht dies nur bei aktivierten register_globals gut, da PHP diese Variablen erstellt.
                                  Deaktivierst du dieses nun, wird die automatische Bereitstellung der Kurzvariablen nicht mehr vorgenommen, so dass du auf die superglobalen Variablen direkt zugreifen „musst“ (was du eigentlich immer tun solltest).

                                  Einen schönen Montag noch.

                                  Gruß, Ashura

                                  --
                                  sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                                  mathbr:del.icio.us/ mathbr:w00t/
                                2. Moin!

                                  Hi Rouven
                                  was ich nicht begreife ist warum funktioniert die Uebergabe der Variablen bei register_globals = On und bei Off nicht..

                                  Dann gehe Dein Skript Zeile für Zeile durch, schreibe ein die("$kw, $jahr") darunter...

                                  Und wenn Du die Option register_globals = Off  (Mit großem O!) gesetzt hast (denk dran: rcapache2 restart), dann übernimm die Daten so wie ich es oben beschrieben habe.

                                  In der Ruhe liegt die Kraft...

                                  Nochwas. Sorge dafür, dass Dein Browser nichts cachet.

                                  MFFG (Mit freundlich- friedfertigem Grinsen)

                                  fastix®

                                  --
                                  Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
                                  1. Okay wie im ersten Thread stand da was von
                                    mysql_escape_string

                                    nun hab ich mal folgendes gemacht

                                    $kw = mysql_escape_string($kw);

                                    Ergebnis :

                                    SELECT top100.*,( SELECT count(*) from top100 as top100 WHERE top100.interpret= top100.interpret AND top100.titel= top100.titel) AS ANZAHL FROM top100, woche WHERE top100.jahr='' AND woche.jahr='' and top100.KW='' AND woche.kw='' ORDER BY 'Platz' LIMIT ''
                                    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ausgabe.php on line 138

                                    Leute ich geb auf, ich hab das Verständniss nicht mehr dafür.
                                    Ich hab das mal intensiv vor 4 - 5 Jahren gemacht, nur ist kaum noch was hängen geblieben.

                                    $sql = "SELECT top100.*,(
                                        SELECT count(*) from top100 as top100
                                        WHERE top100.interpret= top100.interpret
                                          AND top100.titel= top100.titel) AS ANZAHL
                                          FROM top100, woche WHERE top100.jahr='$jahr'
                                          AND woche.jahr='$jahr' and top100.KW='$kw'
                                          AND woche.kw='$kw' ORDER BY 'Platz'
                                       LIMIT '$pos'";
                                    echo $sql;

                                    Trotzdem Danke an alle die versucht haben mir zu helfen, muss ich es halt so lassen wie es ist, denn mich intensiv damit zu beschäftigen fehlt mir ehrlich gesagt die Zeit.

                                    Grueße Thomas

                                    1. Moin!

                                      nun hab ich mal folgendes gemacht

                                      $kw = mysql_escape_string($kw);

                                      Mann-Oh-Mann. Du musst schon versuchen zu verstehen, was ich da schrieb:

                                      html:

                                      <form method="post" ... >
                                      <input type="[egal]" name="iKw">
                                      ...
                                      </form>

                                      skript:

                                      <?php
                                         if (! isset($_POST['iKw'])) {
                                               die('Wert für iKw wurde nicht gesendet.');
                                         } else {
                                               $iKw=$_POST['iKw']*1;
                                         }

                                      echo 'iKw='.$iKw;
                                      ?>

                                      MFFG (Mit freundlich- friedfertigem Grinsen)

                                      fastix®

                                      --
                                      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
                                      1. Hallo fastix...

                                        Das hätte ich niemals raus gefunden.
                                        Hab die Scripte dorthingehend geändert und funzt auch.

                                        Eines noch...

                                        Da läuft noch ein Statistikscript...

                                        <?php
                                        include("my_zugriff1.inc.php");^M
                                        if(isset($REMOTE_ADDR)){^M
                                                        $ip="'$REMOTE_ADDR'";^M
                                                        }else{^M
                                                        $ip="NULL";^M
                                        }^M
                                        ^M
                                        if(isset($SCRIPT_NAME)){^M
                                                        $seite="'$SCRIPT_NAME'";^M
                                                        }else{^M
                                                        $seite="NULL";^M
                                        }^M
                                        if(isset($HTTP_USER_AGENT)){^M
                                                        $browser="'$HTTP_USER_AGENT'";^M
                                                        }else{^M
                                                        $browser="NULL";^M
                                        }
                                        if(isset($HTTP_USER_AGENT)){^M
                                                        $ursprung="'$HTTP_REFERER'";^M
                                                        }else{^M
                                                        $ursprung="NULL";^M
                                        }
                                        $datum=date("j.n.y");
                                        $sql="INSERT INTO singlecharts (ip, seite, browser, zeit, ursprung)";^M
                                        $sql.="VALUES($ip, $seite, $browser, NULL, $ursprung)";^M
                                        $db->sql_befehl($sql) ;^M
                                        ?>      ^M

                                        was muss ich hier denn noch ändern, das ist ja total anders als meine Abfragescripte ??

                                        1. hi,

                                          Das hätte ich niemals raus gefunden.

                                          Wie auch ... dir wurden ja nur schon mit den allerersten Antworten Links zur Erklärung gepostet ...

                                          Da läuft noch ein Statistikscript... [...]
                                          was muss ich hier denn noch ändern, das ist ja total anders als meine Abfragescripte ??

                                          Die dort verwendeten Variablen stehen mit register_globals=off _so_ auch nicht mehr zur Verfügung.

                                          Aber wenn du http://www.php.net/manual/de/security.globals.php und das dort wiederum verlinkte http://www.php.net/manual/de/language.variables.predefined.php mal aufmerksam gelesen hättest, könntest du jetzt auch schon wissen, wo du diese Werte jetzt stattdessen finden kannst.

                                          Les' ma jetzt mal ein bisschen, oder warten wir wieder darauf, dass die Antwort vorgekaut wird?

                                          gruß,
                                          wahsaga

                                          --
                                          /voodoo.css:
                                          #GeorgeWBush { position:absolute; bottom:-6ft; }
                    2. Moin!

                      Sieht aus als läge der Fehler in der Syntax

                      SELECT top100.*,(
                         SELECT count(*) from top100 as top100
                         WHERE top100.interpret= top100.interpret
                           AND top100.titel= top100.titel) AS ANZAHL
                           FROM top100, woche WHERE top100.jahr='$jahr'
                           AND woche.jahr='$jahr' and top100.KW='$kw'
                           AND woche.kw='$kw' ORDER BY 'Platz'
                      LIMIT $pos";

                      und zwar an LIMIT $pos, so deute ich zumindest die Fehlerausgabe..

                      SELECT top100.*,(
                              SELECT count(*) from top100 as top100
                              WHERE top100.interpret= top100.interpret
                              AND top100.titel= top100.titel
                                      ) AS ANZAHL
                           FROM top100,woche
                           WHERE top100.jahr='$jahr'
                           AND woche.jahr='$jahr'
                           and top100.KW='$kw'
                           AND woche.kw='$kw'
                           ORDER BY 'Platz'
                           LIMIT $pos";

                      Was soll das eigentlich werden?

                      WHERE top100.interpret= top100.interpret
                              AND top100.titel= top100.titel

                      lässt sich zu einem WHERE=1 zusammenfassen, es trifft auf alle Datensätze zu.

                      SELECT top100.* ... Der Asterix ist auch nicht beliebt, weil niemand weiss, wie die Tabelle morgen aussieht... Frage also konkret nach Spaltennamen.

                      SELECT count(*) Dito...

                      MFFG (Mit freundlich- friedfertigem Grinsen)

                      fastix®

                      --
                      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
                      1. Ich glaube die Variable $pos wird nicht uebergeben

                        SELECT top100.*,(
                           SELECT count(*) from top100 as top100
                           WHERE top100.interpret= top100.interpret
                             AND top100.titel= top100.titel) AS ANZAHL
                             FROM top100, woche WHERE top100.jahr=''
                             AND woche.jahr='' and top100.KW=''
                             AND woche.kw='' ORDER BY 'Platz'
                          LIMIT ''

                        Limit ist leer

                        1. Moin!

                          LIMIT ''

                          Dann musst Du schauen, wo die herkommt und entsprechend meinem ersten Posting als Integer oder Zahl übernehmen...

                          MFFG (Mit freundlich- friedfertigem Grinsen)

                          fastix®

                          --
                          Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
                        2. Hallo Thomas,

                          SELECT top100.*,(
                             SELECT count(*) from top100 as top100
                             WHERE top100.interpret= top100.interpret
                               AND top100.titel= top100.titel) AS ANZAHL
                               FROM top100, woche WHERE top100.jahr=''
                               AND woche.jahr='' and top100.KW=''
                               AND woche.kw='' ORDER BY 'Platz'
                            LIMIT ''

                          Limit ist leer

                          Jahr und KW auch, aber das schreiben wir hier schon seit geraumer Weile :-)

                          Freundliche Grüße

                          Vinzenz

                          1. Okay ich habs

                            $sql = "
                               SELECT * from top100,woche
                               WHERE top100.jahr='$jahr'
                                 AND woche.jahr='$jahr' and top100.kw='$kw'
                                 AND woche.kw='$kw' ORDER BY 'Platz'
                              LIMIT $pos";

                            so jetzt register_globals = off

                            und nu diese Fehlerausgabe

                            You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

                            WAS ist das ???????

                            1. Hallo Thomas,

                              You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

                              Was ist das ?

                              Was liefert

                              echo $sql;

                              als Ausgabe? Das ist das Statement, das MySQL bekommt.

                              Freundliche Grüße

                              Vinzenz

                              1. $sql liefert mir leere Felder, also stimmt bei der Uebergabe was nicht....

                                Leute Leute, ich bin kein Proficrack, meine Birne raucht schon...

                                aber trotzdem macht es wieder Spass, wenn ich nur wüsste was bei der Übergabe nicht funzt.

                                Gruss Thomas

                2. hi,

                  Die drei Variablen kommen aus einem weiteren Script

                  Nein, tun sie höchstvermutlich nicht - schließlich ist register_globals jetzt auf off gestellt.

                  gruß,
                  wahsaga

                  --
                  /voodoo.css:
                  #GeorgeWBush { position:absolute; bottom:-6ft; }
                  1. Ich könnte mich hier weg schreien vor lachen, Sorry, aber glaub mir ich finde den verka***n Fehler nicht....

                    Liegt also doch an der Uebergabe der Variablen....

            2. Hallo Thomas,

              Die SQL Statements sind die, die ich gepostet habe..

              ich muss blind sein, ich habe noch keine SQL-Statements gesehen.
              Nein, ich meine damit _keinen_ PHP-Code, der ein Statement zusammenbaut.
              Ich meine den zusammengebauten Code.

              Meine Glaskugel sagte mir, dass folgender case-Fall

              case "1992"    : $sql="SELECT * FROM top100, woche  WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' AND top100.kw='$kw' and woche.kw='$kw' LIMIT 0,1";
                         break;

              _nicht_ ausgeführt wird, sondern der default-Fall zum Tragen kommt.
              Gib vor Übergabe an die Datenbank den Inhalt von $sql aus.

              $result = mysql_query("SELECT top100.*,(SELECT count(*) from top100 as top100 WHERE top100.interpret= top100.interpret AND top100.titel= top100.titel) AS ANZAHL FROM top100, woche WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' and top100.KW='$kw' AND woche.kw='$kw' ORDER BY 'Platz' LIMIT $pos");

              Wie wäre es, wenn Du hier zunächst Dein SQL-Statement in einem String zusammenbaust wie oben, (diesen zu Debugzwecken ausgibst) und erst dann an mysql_query weiterleitest und danach mysql_error() nach Fehlern befragst.
              Ja, unmittelbar nach Absetzen des SQL-Statements.

              Selbstverständlich solltest Du die Tipps von fastix hinsichtlich mysql_real_escape_string() nicht ignorieren - auch nicht die anderen hilfreichen Tipps in diesem Thread.

              Freundliche Grüße

              Vinzenz

            3. Moin!

              $result = mysql_query("SELECT top100.*,(SELECT count(*) from top100 as top100 WHERE top100.interpret= top100.interpret AND top100.titel= top100.titel) AS ANZAHL FROM top100, woche WHERE top100.jahr='$jahr' AND woche.jahr='$jahr' and top100.KW='$kw' AND woche.kw='$kw' ORDER BY 'Platz' LIMIT $pos");

              Das ist Schrott.
              Notiere Deine Abfrage vernünftig und schreibe diese in eine Variable:

              $sql = "
              SELECT top100.*,(
                 SELECT count(*) from top100 as top100
                 WHERE top100.interpret= top100.interpret
                   AND top100.titel= top100.titel) AS ANZAHL
                   FROM top100, woche WHERE top100.jahr='$jahr'
                   AND woche.jahr='$jahr' and top100.KW='$kw'
                   AND woche.kw='$kw' ORDER BY 'Platz'
                LIMIT $pos";

              Da stimmt doch was nicht...

              $result = mysql_query($sql) or die ("<hr><pre>$sql<pre><hr>".mysql_error()."<hr>");

              Lass Dir den Fehler und Deine Abfrage auch ausgeben.

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix®

              --
              Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
          2. echo $begrüßung;

            gibt es noch etwas was ich aendern sollte ??

            Jede Menge. Zumindest ist mir aufgefallen:

            Du übernimmst Benutzereingaben ungeprüft in deine SQL-Statements und verlässt dich vermutlich darauf, dass die Magic Quotes für dich die SQL-Injection verhindert.

            echo mysql_error(); einmal am Scriptende auszuführen hat keinen gesteigerten Wert. Jede mysql-Funktion setzt den Fehlermeldungsspeicher wieder zurück. Beispielsweise wird ein Fehler von mysql_connect() durch den Aufruf von mysql_select_db() wieder gelöscht.

            Statt vieler echos hintereinander kannst du die Heredoc-Syntax verwenden. Oder aber auch ?> PHP verlassen und erst zu weiteren PHP-Teilen <?php wieder starten.

            echo "$verabschiedung $name";

  4. Moin!

    Ich mache das ganze gleich mal "sicher".

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ausgabe.php on line 128

    dort steht in Zeile 128

    while ($row = mysql_fetch_row ($result))

    stelle ich register_globals = On

    läuft die abfrage und ich bekomme meine Datensaetze angezeigt.

    Das ist ein Hinweis darauf, dass Deine Datenbankabfrage aus Benutzereingaben zusammengebaut wird. Der eigentliche Fehler ist weiter oben.

    Was kann das sein, bzw. wie kann ich das Script ändern damit ich register_globals = off stehen lassen kann ...

    Du hast ein Formular:
    <form method="GET" action="datei.php" ><!-- oder method="POST" //-->
    <input type="text" name="intWert">
    <input type="text" name="strWert">
    <input type="submit">
    </form>

    In Deinem Skript übernimmst Du den Wert mit

    wird bei register_globals = On der value aus dem Inputfeld direkt in die Variable $wert übernommen.

    Ohne diese gefähliche Einstellung übernimmst Du im Idealfall: (Sollten Dein Formular die Versandmethode POST unterstützen: s/GET/POST/g)

    So werden Zahlen-Werte übernommen

    if (! isset ($_GET['intWert'])) {
       # was willst Du tun, wenn das Skript direkt aufgerufen wurde
       die ("Kein Wert übergeben.");
    } else {
       $intWert=$_GET['intWert']*1; # Multiplizieren von Text mit Zahl führt zu Ergebnis 0
    }

    So werden Texteingaben übernommen:

    if (! isset ($_GET['strWert'])) {
       # was willst Du tun, wenn das Skript direkt aufgerufen wurde?
       die ("Kein Wert übergeben.");
    } else {
       # Hier gibt es wieder zwei Möglichkeiten:
       # magic_quotes_gpc = On sorgt dafür, das bestimmte Zeichen maskiert werden werden
       # Leider stimmt das oft nicht nicht mit Deinen Wünschen überein
       # Das ist unabhängig von register_globals = On/Off
          if (ini_get('magic_quotes_gpc')) {
             # magic_quotes_gpc = On
             $strWert=stripslashes($_GET['strWert']);
          } else {
             # magic_quotes_gpc = Off
             $strWert=($_GET['strWert']);
          }
    }
    ...

    ich muss befürchten, auch daran wurde nicht gedacht: Du musst einige Sonderzeichen maskieren.

    $sql="SELECT spalte1, spalte2 from table where spalte3=$intWert AND spalte4="".mysql_real_escape($strWert).'"';
    ...

    Auch an das Abfangen des Fehlers wurde wohl nicht gedacht:

    $result=mysql_query($sql; $DB) or die("$sql<br>".mysql_error();)
    ...

    http://de3.php.net/manual/de/function.stripslashes.php
    http://de3.php.net/manual/de/function.ini-get.php

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
    1. Moin!

      Fehler:
      s/mysql-real-escape/mysql-real-escape-string/g !

      Richtig:
      http://de3.php.net/manual/de/function.mysql-real-escape-string.php

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix®

      --
      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
      1. Ohje davon hab ich ja noch nie etwas gehört

        s/mysql-real-escape/mysql-real-escape-string/g !

        An welcher stelle muesste denn das geändert werden ??

        Sorry, ich hab da nicht mehr so den Plan von, ist lange her....

        1. Moin!

          Ohje davon hab ich ja noch nie etwas gehört
          s/mysql-real-escape/mysql-real-escape-string/g !
          An welcher stelle muesste denn das geändert werden ??

          /g - also an jeder :)

          Gemeint war: mysql-real-escape ist falsch, verwende statt dessen mysql-real-escape-string($string)

          MFFG (Mit freundlich- friedfertigem Grinsen)

          fastix®

          --
          Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
          1. Hallo fastix,

            Gemeint war: mysql-real-escape ist falsch, verwende statt dessen mysql-real-escape-string($string)

            Die Funktionen schreiben sich immernoch mit Unterstrichen - außerdem gibt es mysql_real_escape() überhaupt nicht, du meinst vermutlich dass man mysql_escape_string() nicht verwenden sollte.

            Grüße aus Nürnberg
            Tobias

            1. Moin Tobias!

              Gemeint war: mysql-real-escape ist falsch, verwende statt dessen mysql-real-escape-string($string)
              Die Funktionen schreiben sich immernoch mit Unterstrichen - außerdem gibt es mysql_real_escape() überhaupt nicht, du meinst vermutlich dass man mysql_escape_string() nicht verwenden sollte.

              Nö. Ich hatte mich total vertippt. Wobei Du natürlich prinzipiel recht hast. Mit den Unterstrichen und mit dem Nichtverwenden von mysql_escape_string()- das berücksichtigt im Gegensatz zu mysql_real_escape_string() nämlich keinerlei spezielle Zeichen der jweiligen Zeichensatzeinstellung von mysql.

              mysql_real_escape() gibts gar nicht- das war 'vollkommen vertippt' und es sollte (natürlich) mysql_real_escape_string() genommen werden.

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix®

              --
              Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
    2. echo $begrüßung;

      $intWert=$_GET['intWert']*1; # Multiplizieren von Text mit Zahl führt zu Ergebnis 0

      PHP kennt für diese Funktionalität die Funktion inval() (und floatval() für Fließkommazahlen). Das Multiplizieren (oder auch Addieren von 0) mag seinen Zweck erfüllen, ist aber alles andere als intuitiv.

      # magic_quotes_gpc = On sorgt dafür, das bestimmte Zeichen maskiert werden werden

      Es ist recht umständlich, diese Maskierung, so man sie als überflüssig betrachtet, mit der von dir vorgestellten Methode jede Variable einzeln davon zu befreien.

      Im Abschnitt Disabling Magic Quotes des PHP-Handbuch-Kapitels Magic Quotes ist eine Funktion zu finden, die sich um alle GET/POST/COOKIE-Werte kümmert.

      Hier noch ein paar nebensächliche Kleinigkeiten:

      if (ini_get('magic_quotes_gpc')) {

      Dafür gibt es auch eine eigene Funktion: get_magic_quotes_gpc().

      Auch an das Abfangen des Fehlers wurde wohl nicht gedacht:

      $result=mysql_query($sql; $DB) or die("$sql<br>".mysql_error();)

      Unter Abfangen verstehe ich nicht das gewaltsame Beenden eines Scripts. Damit ist dem Seitenbesucher meist überhaupt nicht gedient. Aber gut, es fängt das Script ab, bevor Folgefehler entstehen...

      s/GET/POST/g

      Du mögst zwar den vi (sed, ...) bedienen können, ich würde mich nicht darauf verlassen, dass Neulinge dessen Syntax kennen.

      echo "$verabschiedung $name";

      1. Moin!

        Es ist recht umständlich, diese Maskierung, so man sie als überflüssig betrachtet, mit der von dir vorgestellten Methode jede Variable einzeln davon zu befreien.

        Ja... ich weiss schon, man auch den gesamten Array $_POST damit behandeln. Und es ist effektiv, richtig, sonstwas. Aber ich bin wohl immer etwas stolz, wenn ich sofort übersehen kann, was ich mit welcher Variable alles schickes angestellt habe. Laufzeitprobleme sind kaum zu befürchten, regelmäßig hält sich die Zahl der Elemente des Arrays und damit meiner Variablen in Grenzen.

        Ich habe noch einen persönlichen Grund: Ich übersetze meinen Stuff zwar selten, aber doch immer mal in andere Sprachen. Die können dann irgendwas spezielles nicht und ich fürchgte bitter, dass ich in meinem hohen Alter dann den Überblick verliere...

        Im Abschnitt Disabling Magic Quotes des PHP-Handbuch-Kapitels Magic Quotes ist eine Funktion zu finden, die sich um alle GET/POST/COOKIE-Werte kümmert.

        Dafür gibt es auch eine eigene Funktion: get_magic_quotes_gpc().

        Ja. Nur, was macht die besser als ini_get('magic-quotes-gpc')? Zusätzliche Syntax für etwas, wofür es eine allgemeine Sytax bereits gibt, braucht eigentlich keiner. In dem Fall aus meiner Sicht: Lernaufwand für nichts.

        Unter Abfangen verstehe ich nicht das gewaltsame Beenden eines Scripts. Damit ist dem Seitenbesucher meist überhaupt nicht gedient. Aber gut, es fängt das Script ab, bevor Folgefehler entstehen...

        Naja. Ich brauchte für mein Beispielscript "was passendes". In dem Fall gabs ein Problem mit der Query. Dafür ist mein Abbruch ideal, weil er genau die benötigte Information direkt in den Browser liefert.

        s/GET/POST/g

        Du mögst zwar den vi (sed, ...) bedienen können, ich würde mich nicht darauf verlassen, dass Neulinge dessen Syntax kennen.

        Damit hast Du absolut recht. Es scheint eine Macke zu sein, die ich auch habe: Was ich weiss, das wissen andere auch...

        Ab hier üble Werbung!

        Für die anderen: sort, tr, sed, awk, grep, wc, cat, cut, tail, head sind absolut lohnende Tools, die es jetzt auch für Windows gibt und die am Prompt für eine Menge effektiven Spaß sorgen.

        http://unxutils.sourceforge.net/ sogar recode ist dabei :)

        Besser noch cygwin, das fast komplette Linux-Feeling auf Windosen: http://www.cygwin.com/

        Und so holt man sich den Inhalt der dritten und vierten Zeile von unten aus einer Datei: cat datei | tail -n4 | head -n2

        (Übersetzt: Die dritte und vierte Zeile von unten sind die ersten beiden der vier letzten :)
        Da rauchen mir immer die Seminarteilnehmer ab....)

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
        1. Hallo fastix,

          Dafür gibt es auch eine eigene Funktion: get_magic_quotes_gpc().
          Ja. Nur, was macht die besser als ini_get('magic-quotes-gpc')? Zusätzliche Syntax für etwas, wofür es eine allgemeine Sytax bereits gibt, braucht eigentlich keiner.

          ... bis auf die, deren Provieder (aus welchem Grund auch immer) ini_get() abgeschaltet hat.

          Grüße aus Nürnberg
          Tobias

          1. Moin!

            Hallo fastix,

            ... bis auf die, deren Provieder (aus welchem Grund auch immer) ini_get() abgeschaltet hat.

            Also bei ini_set() könnte ich es mir vorstellen. Aber ini_get()?

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
            1. Hallo fastix,

              ... bis auf die, deren Provieder (aus welchem Grund auch immer) ini_get() abgeschaltet hat.
              Also bei ini_set() könnte ich es mir vorstellen. Aber ini_get()?

              Wer weiß auf welche Ideen Provider alles kommen - afaik habe ich auch schonmal irgendwo (es kann sein, dass es hier im Forum war) von einem gelesen der phpinfo() deaktiviert hat ...

              Grüße aus Nürnberg
              Tobias

              1. Moin!

                afaik habe ich auch schonmal irgendwo (es kann sein, dass es hier im Forum war) von einem gelesen der phpinfo() deaktiviert hat ...

                Ich mag wie ein Fanatiker klingen, aber die URI einer phpinfo.php mit '<?php phpinfo(); >' drin würde ich auch nicht gerade veröffentlichen wollen. Das wurde im Forum aber schon besprochen. Viele sehen das anders, ich halte es aber für zumindest unschädlich, wenn ich bei meiner Meinung bleibe. Der hoster aber, der verbietet, übertreibt...

                MFFG (Mit freundlich- friedfertigem Grinsen)

                fastix®

                --
                Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
  5. Hello,

    mMn sollte der erste Schritt sein, die Fehleranzeige auf "volles Rohr" zu stellen.

    • Alle Fehler anzeigen lassen
        error_reporting(E-ALL);

    • nach allen DB-Abfragen auch den Status-Code auswerten
        z.B. MySQL:
        $result = mysql_query(...);
        if(mysql_errno($con) > 0)
        {
          # Fehlerbehandlung durchführen
        }

    Dann hättest Du garantiert noch mehr Fehler angezeigt bekommen und wüsstest jetzt auch, wo die Fehlerkette begonnen hat.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau