Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Variable $x1-5 prüfen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Variable $x1-5 prüfen

    Hallo,
    und zwar geht es um folgendes. Ich habe 5 Variablen.
    Code:
    $x1;$x2;$x3;$x4;$x5;
    Diese möchte ich prüfen ob in allen was drin steht.
    Das kann ich ja machen mit:
    PHP-Code:
    if($_POST["x1"]==NULL AND $_POST["x2"]==NULL AND ... 
    Jetzt meine Frage. Gibt es einen kompfortableren Weg das zu prüfen?
    Also mit weniger Schreibarbeit
    Als Array kann ich die Variable leider nicht nutzen.

  • #2
    Machs doch in einer For Schleife.

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      da gibts noch die funktion isset($Parameter):
      http://de2.php.net/manual/de/function.isset.php

      das ist auf jeden fall besser als immer auf NULL abzufragen

      mfg
      car

      Kommentar


      • #4
        Kann man ja alles kombinieren (Schleife + isset etc.).

        Wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          Joa oder halt nur mit isset(), da kannst du auch mehrere Variablen in isset() als Argument übergeben.

          Was genau steht den da drin? Macht es vielleicht Sinn gleich ein Array zu übergeben?

          Kommentar


          • #6
            Könnte auch noch helfen:

            http://php.net/manual/en/language.va...s.variable.php
            http://tut.php-q.net/de/concat.html
            [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

            Kommentar


            • #7
              Das man mehrere Variablen bei [MAN]isset()[/MAN]übergeben
              ist ja schon mal nicht schlecht.
              Aber leider kann ich das nicht nehmen, weil da ja nur TRUE
              zurückgegeben wird wenn alle gesetzt sind.

              Es soll ja aber so sein, das nur FALSE zurück gegeben wird
              wenn alle leer sind.

              Kommentar


              • #8
                Naja du hast schon geschrieben du möchtest checken ob in ALLEN was drin ist ... von daher Musst du dich schon richtig ausdrücken ...

                Kommentar


                • #9
                  Sorry mein Fehler

                  Ich möchte natürlich prüfen ob alle leer sind.
                  Also wenn in allen 5 Variablen nichts drin steht dann Fehler

                  Kommentar


                  • #10
                    Jo dann machs in ner Schleife, oder überleg dir ob du die Variablen nicht direkt als Arrays übergeben lässt ...

                    Kommentar


                    • #11
                      Zitat von pfump Beitrag anzeigen
                      Als Array kann ich die Variable leider nicht nutzen.
                      Und warum nicht ...?

                      Wenn jemand anfängt, Variablennamen „durch zu nummerieren“, dann ist das i.a.R. ein deutliches Indiz dafür, dass ein Array als zusammenhaltende Datenstruktur angebracht wäre.
                      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                      Kommentar


                      • #12
                        Lösungsansätze dafür haben wir dir gepostet, musste nur noch umsetzen! Zudem ist deine Variablenbenamsung eigentlich optimal für Arrays (aber zukünftig solltest du evtl., wegen der lesbarkeit, andere Variablennamen in dienem eigenen Interesse nehmen!).

                        Wolf29
                        while (!asleep()) sheep++;

                        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                        Kommentar


                        • #13
                          Puuuuuuhhhhh
                          PHP-Code:
                          <?php

                             $hasError 
                          false;
                             
                             for (
                          $i 1$i <= 5$i++)
                             {
                                 if (empty(
                          $_POST['x' $i]))
                                 {
                                    
                          $hasError true;
                                    break;
                                 }
                             }
                             
                             if (
                          $hasError)
                               echo 
                          "Shit, da hätte ich auch mal selber drauf kommen können.";
                             else
                               echo 
                          "Beim nächsten Mal denke ich erst mal selber nach";
                          ?>

                          Kommentar


                          • #14
                            Man könnte es so machen:
                            PHP-Code:
                            $keys array_flip(array('x1','x2','x3','x4','x5'));
                            if(
                            count(array_intersect_key($keys$_POST))==0) {
                                
                            // alle Variablen leer

                            Anmerkung: Das ist zwar schön kurz aber nicht unbedingt intuitiv. Du musst also wissen, was dir wichtiger ist.
                            [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
                            [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

                            Kommentar


                            • #15
                              Array wär schon nicht schlecht.
                              Das Problem ist folgendes:
                              Ich habe ein Formular. So siehts aus:
                              PHP-Code:
                                 echo "<form enctype='multipart/form-data' method='post' action='?was=log' >\n";
                                 echo 
                              "<p><input type='checkbox' name='check1' id='verein' onclick=\"change_field('verein')\" /><label for='verein'>Vereine aktualisieren</label>\n";
                                 echo 
                              "<input disabled='disabled' type='file' name='datei1' id='verein_datei'  /></p>\n";
                                   echo 
                              "<p><input type='checkbox' name='check2' id='dirigent' onclick=\"change_field('dirigent')\" /><label for='dirigent'>Dirigenten aktualisieren</label>\n";
                                 echo 
                              "<input disabled='disabled' type='file' name='datei2' id='dirigent_datei'  /></p>\n";
                                   echo 
                              "<p><input type='checkbox' name='check3' id='schrift' onclick=\"change_field('schrift')\" /><label for='schrift'>Schriftf&uuml;hrer aktualisieren</label>\n";
                                 echo 
                              "<input disabled='disabled' type='file' name='datei3' id='schrift_datei'  /></p>\n";
                                   echo 
                              "<p><input type='checkbox' name='check4' id='vorstand1' onclick=\"change_field('vorstand1')\" /><label for='vorstand1'>Vorsitzende aktualisieren</label>\n";
                                 echo 
                              "<input disabled='disabled' type='file' name='datei4' id='vorstand1_datei'  /></p>\n";
                                   echo 
                              "<p><input type='checkbox' name='check5' id='vorstand2' onclick=\"change_field('vorstand2')\" /><label for='vorstand2'>Stellv. Vorsitzende aktualisieren</label>\n";
                                 echo 
                              "<input disabled='disabled' type='file' name='datei5' id='vorstand2_datei'  /></p>\n";
                                   echo 
                              "<input type='submit' name='send' value='Hochladen'  /></p>\n"
                              Wie man sieht hab ich zu jeder Checkbox ein Datei-Feld.
                              Diese Felder sind deaktiviert. Wählt man eine Checkbox aus, so kann man dazu eine Datei auswählen.
                              Später wird geprüft ob bei jeder aktivierter Checkbox auch eine Datei angegeben wurde.

                              Jetzt wart mal kurz. Das kann ich ja doch mit Array's machen

                              Wenn 2 Checkboxen ausgewählt sind, dann gibt es auch maximal bloß 2 Dateien. Dann brauch ich ja nur die Größe der 2 Array's zu vergleichen.

                              Vorausgesetzt, ich lösche den Eintrag der Datei dieder, wenn die Checkbox wieder abgewählt wird.
                              Man da hab ich ja mal wieder geschlafen

                              Kommentar

                              Lädt...
                              X