problem.php?level=werdwahnsinnig

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

  • problem.php?level=werdwahnsinnig

    HI !

    Ok ich geb zu das ich eventuell nicht alle Möglichkeiten ausgeschöpft hab außer die Suchfunktion hier wo ich nix gefunden habe. Vorallem denk ich das das echt ne ganz leichte frage is aber ich find nix und komm selbts nicht dahinter

    Ihr könnt mich steinigen aber ich mag nicht mehr suchen sondern frag jetzt einfach.

    Also Vorweg. Ich beschäftige mich seid ca 5 tagen mit PHP und kenn mich dementsprechend schlecht aus.

    Also ich frage in meinem PHP script
    PHP-Code:
    $_GET["newsid"
    ab. Den wert erhalte ich natürlich indem ich die Seite mit editnews.php?newsid=<wert> aufrufe.

    Wenn ich die seite allerdings ohne parameter aufrufe erhalte ich natürlich eine fehlermeldung weil die Variable nicht initialisiert wurde. Logisch.

    Also kann ich vorher schon prüfen ob parameter geliefert wurden ?

  • #2
    isset()

    Kommentar


    • #3
      ich würde dazu noch empty() zur Hilfe nehmen...

      weil es kann vielleicht vervig sein, wenn einer die seite so aufruft und keine Inhalte für die Variable mitliefert...

      seite.php?newsid=
      tata
      moqui

      [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

      Kommentar


      • #4
        jupp, kann ganz hilfreich sein. ist die Frage, ob du nur willst, dass PHP korrekt ist, oder ob du die Variable direkt überprüfen willst.

        Aber: empty() kannst du auch erst einsetzten, wenn due geprüft hast, ob die variable gesetzt ist.

        EDIT:
        Codes waren falsch!
        Zuletzt geändert von TobiaZ; 07.06.2003, 22:07.

        Kommentar


        • #5
          @TobiaZ: Falsch. PHP bricht beim && und || Operator die Untersuchung weiterer Ausdrücke ab, wenn der Wert des gesamten Ausdrucks schon fest steht.

          Folgender Code ist absolut gültig und liefert keine Fehlermeldung, wenn $var nicht initiliasiert ist. Wenn isset($var) nämlich false ergibt, ist der gesamte Ausdruck false (da ein logisches Und verwendet wird). Dank && bricht PHP die Überprüfung der weiteren Ausdrücke ab, sodass !empty($var) gar nicht erst ausgeführt wird und gar keine Fehlermeldung liefern kann.
          PHP-Code:
          if(isset($var) && !empty($var)) {
           
          // tu was
           // liefert KEINE Fehlermeldung

          [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
          [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
          [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

          © Harald Schmidt

          Kommentar


          • #6
            f*ck!

            Hast recht. die ifs werden ja gar nicht ganz durchgegangen. Ich glaub da hatte ich dann mit etwas anderem als dem oben geposteten probleme.

            wollte auch eigentlich nur sagen, dass isset() immer klappt, und empty() nur dann, wenns die auch gibt. -> Beispiel war danebengeriffen.

            Kommentar


            • #7
              danke


              Klappt hervorragend mit dem code.

              Super <froi>

              PHP-Code:
              if(isset($_GET["newsid"]) && !empty($_GET["newsid"]))
                  {
                    if (
              $_GET["newsid"]>0)
                     {
                        echo 
              'So denn mal ran an speck';
                     };
                  }; 
              Ich zwar hab nur das gefühl das ich mir mindestens eine prüfung sparen kann, aber die millisekunde mehr zeit machts nu auch nichtmehr. So oft werden News nu auch nicht editiert

              Kommentar


              • #8
                entweder:

                if(isset($_GET["newsid"]) && !empty($_GET["newsid"] && $_GET["newsid"]>0))

                oder was auch reichen sollte:

                if(isset($_GET["newsid"]) && $_GET["newsid"]>0)

                Kommentar


                • #9
                  jo stimmt ... eigendtlich logisch das so zusammenzufassen

                  also nochmal danke für die extrem schnelle Hilfe

                  Kommentar

                  Lädt...
                  X