Kris: GET Variable - mit vorherigen MySQL Connect

Halli Hallo ...

mir ist ein nerviger Fehler in einem meiner Scripten aufgefallen. Wenn ich eine $_GET['Variable'] in eine IF Abfrage einbaue ... diese jedoch gar nicht existiert - reagiert der PHP Interpreter noch sehr unsensibel und ignoriert diese Variable einfach !

Wenn ich jedoch kurz vorher einen mySQL DB Connect aufbaue und daraufhin er eine $_GET Variable findet die gar nicht existiert fängt er direkt an zu meckern :
Notice: Undefined index: er in /srv/www/htdocs/web25/html/admin/ac_umfrage.php on line xyz

kann mir jemand helfen wie ich das abstellen kann ? Es nervt ziemlich :(

mfg

KRIS

  1. echo $begrüßung;

    kann mir jemand helfen wie ich das abstellen kann ?

    Um etwas abstellen zu können muss man dessen Ursache kennen. Ich kann sie deiner Beschreibung nicht entnehmen.

    Es nervt ziemlich :(

    Emotionale Ausbrüche sind einem Computer egal. :-)

    Schau doch bitte entweder nochmal genau hin oder zeige uns, was genau du geschrieben hast.

    echo "$verabschiedung $name";

    1. Um etwas abstellen zu können muss man dessen Ursache kennen. Ich kann sie deiner Beschreibung nicht entnehmen.

      <?php
      #Fehler des Logins angeben
      if ($_GET['err'] > 0) {echo "
        <tr>
          <td colspan='2' align='center' class='bblack'>Bitte füllen sie alle Pflichtfelder aus</td>
        </tr>"
      ;}
      ?>

      ---
      wenn ich das ganze SO lasse, kriege ich KEINEN FEHLER angezeigt !

      wenn ich vorher jedoch noch ein "include" einfüge das einen Datenbank Connect aufbaut ... dann erhalte ich immer den vorher angegebenen Fehler !

      --> include 'db_connect.php' :
      <?php
            include 'config.php';
            @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) or die( "Es liegt ein Datenbankfehler vor ! /n Bitte schreiben sie dem Admin eine EMail");
            @mysql_select_db(MYSQL_DATABASE) or die( "Es liegt ein Datenbankfehler vor ! /n Bitte schreiben sie dem Admin eine EMail");
      ?>

      mfg

      KRIS

      1. include 'config.php'

        Hallo Kris,

        ich denke das bei dir die Register Globals auf off stehen, du aber durch eine nidrigen error reporting level die entstehnden Warnungen nicht siehst.

        In der config.php, wird sehr wahrscheinlich ein

        error_reporting(E_ALL) oder ähnliches den Level hoch setzen das du die Warnungen siehst.

        Lösungen:

        Entweder mit

        error_reporting(E_ERROR); die Warnungen ausblenden oder besser mit

        if(isset($_GET['meinevar']) && $_GET['meinevar'] == 'blah') {
        }

        korrekt prüfen.

        Gruß,

        ARne

      2. Moin!

        #Fehler des Logins angeben
        if ($_GET['err'] > 0) {

        Du musst Dich so dumm stellen, wie es ein Computer ist, dann klappt das schon:

        Wir setzen die leere Variable ein und kommen zu:

        Ist nichts größer als Null?
        Aha. Ist es nicht... Klar?

        Zur SQL-Abfrage. Der wichtige Teil fehlt:

        $sql='SELECT was FROM wo WHERE dies='.$_GET['err'].

        Es kommt heraus:

        'SELECT was FROM wo WHERE dies='  - Wenn Du das der Datenbank schickst meckert die natürlich, weil rechts des Gleichheitszeichens nichts steht. Merke SQL != PHP.

        Scheinbar prüfts Du auch die Eingabe in keinster Weise. In Deinem Fall würde ich zu einem schlichten:

        $_GET['interger']=$_GET['integer']*1 oder  $_GET['interger']= (int) $_GET['integer']

        raten. Dann hast Du im Falle, dass

        $_GET['integer'] nicht übertragen wurde wenigstes eine hübsche Null drin und im Falle, das böser Text drinsteht, der dir sonst die Datenbank löschen könnte, auch.

        Außerdem solltest Du error_reporting(E_ALL) einschalten, um soetwas zu sehen. Also Optimal:

        error_reporting(E_ALL);

        if (!isset($_GET['wasweissich'])) {
           $_GET['wasweissich']=0;
        } else {
           $_GET['wasweissich']= (int) $_GET['wasweissich'];
        }

        Prima! $_GET['wasweissich'] ist jetzt ganzzahlig oder Null (0) (nicht NULL).

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

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

    mir ist ein nerviger Fehler in einem meiner Scripten aufgefallen. Wenn ich eine $_GET['Variable'] in eine IF Abfrage einbaue ... diese jedoch gar nicht existiert - reagiert der PHP Interpreter noch sehr unsensibel und ignoriert diese Variable einfach !

    Wenn die "IF-Abfrage" gar nicht existiert, ist es doch auch kein Wunder, dass der Interpreter nicht meckert.

    *scnr*
    Harzliche Grüße vom Berg
    esst mehr http://www.harte-harzer.de

    Tom

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