2014-09-26 3 views
3

В HTML-страницу У меня есть этот вход:Php: Если входное значение х, у, или г делать вещи

<input type="text" name="my_input" id="my_input"> 

Использование PHP, если пользователь вводит на входе слова «ВС», " луна "," звезды ", я хочу, чтобы сценарий делал что-то.

Что-то вроде этого, просто не знаю, как писать правильно:

if (my_input.value == "sun,moon,stars") { 
do stuff 
} 

Большое спасибо!

+3

Используйте 'in_array()' функция в вашем 'if' заявлении. – TiMESPLiNTER

+0

Можете ли вы предоставить полный код, пожалуйста? Очень хорошо с javascript, но полный начинающий php здесь ... – Malasorte

+2

Lucky guy, что кто-то уже сделал домашнее задание ;-) – TiMESPLiNTER

ответ

1

Или вы можете использовать РНР preg_match():

if(preg_match("/^(sun|moon|stars)$/i", $_POST['my_input']) === 1) { 
    // success 
} 
7

Использование in_array()

if(in_array($_POST['my_input'], array("sun", "moon", "stars"))) { 
    //Do stuff 
} 
+1

+1 для более простого и хорошего ответа –

1

Это легко Вы можете получить значение текстовых полей методом пост:

<input type="text" name="my_input" id="my_input"> 

if ($_POST['my_input'] == "sun" || $_POST['my_input'] == "moon" || $_POST['my_input'] == "stars") { 
do stuff 
} 

Или вы можете использовать in_array функцию.

+1

Это не так элегантно, как 'in_array()' решение. – TiMESPLiNTER

+1

Кроме того, оператор проверки равенства - '==', а не '='. – lafor

+0

Хорошо, ты прав .. –

4

Есть несколько способов, вы можете достичь этого. Некоторые лучше, чем другие, лично я предпочитаю in_array

in_array

if (in_array($value, array("sun", "moon", "stars"))) { 
    // Do something 
} 

, если заявление

if ($value == "sun" || $value == "moon" || $value == "stars") { 
    // Do something 
} 

Переключатель

switch ($value) { 
    case "sun": 
    case "moon": 
    case "stars": 
     // Do something 
    break; 
} 

Примечание Есть несколько способов, вы можете достичь этого. Выше всего лишь несколько.

1

Хотя это помечается PHP, ваш пример выглядит код JavaScript, поэтому здесь является Javascript решение:

<input type="text" name="my_input" id="my_input" onblur="doStuff(this.value);"> 
<script> 
function doStuff(val){ 

    if(["sun", "moon", "stars"].indexOf(val)!= -1){ 
     alert("found"); 
    } 

} 
</script> 
+0

Спасибо Стив. Это похоже на javascript, потому что это единственный язык программирования, который я знаю ... Просто не знал, как записать его в php .. :) – Malasorte

Смежные вопросы