Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Frage zu "if isset ..." (Leeren Wert nicht ausgeben)

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Frage zu "if isset ..." (Leeren Wert nicht ausgeben)

    Hallo,

    ich bin gerade dabei, mich in PHP einzuarbeiten.

    Nun habe ich ein kleines Testbeispiel erstellt, in dem zunächst per HTML-Formular ein Wert eingegeben werden soll, welcher dann nach dem Absenden des Formulars in PHP wieder ausgegeben wird. Wenn allerdings kein Wert eingegeben wurde, dann soll auch keine Ausgabe erfolgen.

    Soweit zur Theorie. Wie kann ich sowas nun realisieren? Über die Funktion "if isset"?

    So sieht mein Beispiel aus:

    Eingabe:

    Code:
    <form action = "verbunden.php" method = post>
    Verraten Sie mir Ihren Namen? <input name="USERNAME"><br>
    <input type="submit" name="SENDEN" value="Absenden">
    Ausgabe:

    PHP-Code:
    <?php
    $USERNAME 
    $_POST["USERNAME"];
      
    //User begrüssen
      
    if (isset($_POST["USERNAME"]))
      {
       echo 
    'Hallo '; echo $USERNAME;
      }
    ?>
    Das Ganze funktioniert im Prinzip auch, aber wenn man keinen Wert eingibt, wird trotzdem ein "Hallo" ausgegeben. Kann man das umgehen oder muss ich das anders lösen?

  • #2
    Hi,

    isset() fragt ja nur ob die Variable gesetzt wurde und auch eine leere Variable ist ein Variable die existieren kann. Du könntest statt des if(isset()) zum Beispiel ein if($_POST["USERNAME"]!="") machen, != bedeutet ungleich. Und wenn du das ganze auch noch willst falls jemand ein Leerzeichen eingegeben hat, dann kannst du auch if(trim($_POST["USERNAME"])!="") benutzen. trim() schneidet dir Leerzeichen am Anfang und am Ende eines Strings ab.

    Es gibt viele Wege um an dein Ziel zu kommen, z.B. könntest du auch die Funktion empty() benutzen oder strlen()

    Gruß
    Cy

    Kommentar


    • #3
      Hallo und Willkommen im Forum!

      Du könntest aber auch mit einem einfachen Regex alles in einem Aufwasch erledigen. Da kannst die Länge eines Strings vorgeben,die Zeichen die vorkommen dürfen und damit kannst auch das !="" sparen.

      Aber mit regex schiese ich wohl grad ein bisschen übers Ziel eines reinen Anfängers hinaus!

      PHP-Code:
      if(!preg_match("#^([0-9a-zäöü _-]+)$#i",$_POST['feld']) 
      Hier legst du die Zeichen fest die drin vorkommen dürfen,nachträglich kannst du auch mit so was {9} die Stringlänge bestimmen!

      mfg der Litter
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      [URL]http://www.lit-web.de[/URL]

      Kommentar


      • #4
        Vielen Dank für die schnellen Antworten, es funktioniert nun!

        Kommentar


        • #5
          du könnetst auch auf empty() prüfen? dann wird geschaut ob isset und dann noch ob was drin steht außer 0 oder garnix.. müsste doch auch gehen...?
          Under Construktion

          Kommentar


          • #6
            Zitat von Hu5eL Beitrag anzeigen
            du könnetst auch auf empty() prüfen? dann wird geschaut ob isset und dann noch ob was drin steht außer 0 oder garnix.. müsste doch auch gehen...?
            Ich zitiere mich mal selbst:

            Zitat von cycap
            Es gibt viele Wege um an dein Ziel zu kommen, z.B. könntest du auch die Funktion empty() benutzen oder strlen()

            Kommentar


            • #7
              peinlich sorry...
              Under Construktion

              Kommentar

              Lädt...
              X