2016-07-21 12 views
0

So habe ich Eingabefelder und wenn sie eingereicht werden, überprüfe ich, ob ihr eingegebenen Text in einem Feld angezeigt:nicht Regel für bestimmtes Eingabefeld hinzufügen

<form method="post"> 
    <input type="text" name="1"> 
    <input type="text" name="2"> 
    <input type="text" name="3"> 
    <input type="submit" name="submit"> 
</form> 

<?php 

if(isset($_POST['submit'] { 

    $array = array('432423', '434', '3', '2', '213'); 

    $success = true; 

    foreach ($_POST as $key=>$value) { 
     if (!empty($value) && $key != "submit") { 
      if (!in_array($value, $array)) { 
       $success = false; 
      } 
     } 
    } 


    var_dump($success); 
    // TRUE if all contains, FLASE if any one doesn't contain 

} 

?> 

Aber wenn ich ein bestimmtes Eingabefeld wollte nicht um gegen das Array überprüft zu werden, wie würde ich das tun

+0

Sie tun bereits GENAU was Sie fragen mit dem '$ key! = 'submit'', also .... was genau ist das Problem? –

+0

@MarcB es ist nicht nur der Submit-Button Ich möchte nicht überprüft werden. Ich möchte, dass ein anderes Eingabeformular nicht überprüft wird –

+0

also '$ key! = 'submit' && $ key! = 'whateverelse'' –

Antwort

1

Dann möchten Sie wahrscheinlich nach einem anderen $key != something suchen?

z.

if (!empty($value) && $key != "submit" && $key != "2") { 
    ... 

Dies ist der zweite Eingang ausschließen würde ...

+0

Muss ich den Wert für das Eingabefeld setzen? –

+0

@bob Oh, verwirrt mich. Siehe die Bearbeitung ... – nicael

+0

Ich habe es versucht, aber es löst nicht das Problem –

-1

Verwendung https://jqueryvalidation.org

<form id="my_form" method="post"> 
    <input type="text" name="a1"> 
    <input type="text" name="a2"> 
    <input type="text" name="a3"> 
    <input type="checkbox" name="chk1" id="chk1"> 
    <input type="submit" name="submit"> 
</form> 

<script type="text/javascript"> 
    $("#my_form").validate({ 
     rules: { 
      "a1": { 
       required: true 
      }, 
      "a2": { 
       required: true 
      }, 
      "a3": { 
       required: true 
      }, 
      "chk1": { 
       required: { 
        depends: function() { 
         return !$("#chk1").is(":checked"); 
        } 
       } 
      } 
     } 
    }); 
</script> 
+0

Sorry, ich kann jquery nicht verwenden –

+0

also, warum hast du meine Antwort als nicht nützlich markiert, weil du didn nicht angeben, dass Sie js überhaupt nicht verwenden können? –

+0

bob hat die Frage nicht mit [jquery] markiert, also wollen sie sie nicht verwenden. Aber Sie haben irgendwie angenommen, dass sie die jQuery-Methode sehen möchten. Wer hat dir das gesagt? .. – nicael

0

Sie alle Namen in einem Array = "Namen []" für die wollte nur Satznamen sammeln können Ein- und Sie werden alle Eingaben als ein Array ($ _POST [ ‚Namen‘])

<form method="post" action=""> 
    <input type="text" name="names[]"> 
    <input type="text" name="names[]"> 
    <input type="text" name="names[]"> 
    <input type="submit" name="submit"> 
</form> 
zugreifen können

und Schleife durch sie so

if (! empty($_POST['names'])) { 

$names = $_POST['names']; 
    foreach ($names as $value) { 
     if (!empty($value)) { 
      if (!in_array($value, $array)) { 
       $success = false; 
      } 
     } 
    } 

} 
Verwandte Themen