2016-09-22 1 views
0

Привет всем У меня есть проблемаесли входное изменение значение от инспектировать элемент

if(isset($_POST['submit'])) {$cars = $_POST['cars']; echo $cars;} 

<form> 
<input type="checkbox" name="cars[]" value="1" /> 
<input type="checkbox" name="cars[]" value="2" /> 
<input type="checkbox" name="cars[]" value="3" /> 
<input type="checkbox" name="cars[]" value="4" /> 
<button>add</button> 
</form> 

как я могу остановить changeing значение, если пользователь изменит значение входного сигнала от инспектировать элемент, или если пользователь изменит значение оповещать меня

я попробовать это

$allowe = ['1','2','3','4']; 
if(in_array($_POST['cars'],$allowe)) {echo $_POST['cars'];} 

но не работает работа только для одного значения

+0

$ _POST ['cars'] - это многодисковый массив, который вам нужно будет контактировать – nogad

ответ

1

Конечно, вы не можете просто остановить пользователя от подделки значений формы. Вы можете просто сравнить его в своих допустимых значениях, которые вы уже сделали. Вы можете использовать array_intersect для выбранных значений и разрешенных.

<?php 
$allowed = ['1','2','3','4']; 
if(!empty($_POST['cars'])) { 
    $selected = $_POST['cars']; 
    $compare = array_intersect($selected, $allowed); 
    if(!empty($compare)) { 
     echo 'values selected: ', implode(', ', $compare); 
     // foreach($compare as $value) { 
      // echo $value; 
     // } 
    } 

} 
?> 
<form method="POST"> 
    <input type="checkbox" name="cars[]" value="1" /> 
    <input type="checkbox" name="cars[]" value="2" /> 
    <input type="checkbox" name="cars[]" value="3" /> 
    <input type="checkbox" name="cars[]" value="4" /> 
    <button>add</button> 
</form> 
+0

он работает, спасибо вам большое :) –