2016-10-25 2 views
0

Мне было интересно, почему мой код не работает. Вот мой HTML:If (isset()) с опциями выбора

<select class="form-control" name="trademarktm">    
    <option name='empty'></option> 
    <option name='copyright'>©</option> 
    <option name='trademark'>™</option> 
    <option name='rmark'>®</option> 
</select> 

я дал авторскую лексему имени «авторское право», так что я мог бы назвать это в моем PHP как я сделал здесь:

if(isset($_POST['copyright'])) { 
echo "<div id='generated_footer_date' style='background-color:$backgroundColor; color:$fontColor; opacity: $opacity; ' >$trademark $date $company </div>";   
} else { 
echo "error"; 
} 

В этом случае я получаю только string Ошибка, даже если установлено авторское право.

+1

попробовать '$ _POST [ 'торговая марка'] ===«авторское право "' – Scott

+1

if ($ _ POST ['trademark'] === "copyright") {} – JYoThI

ответ

1

select получает name, не option. option должен иметь value.

<select class="form-control" name="trademarktm">    
    <option value='empty'></option> 
    <option value='copyright'>©</option> 
    <option value='trademark'>™</option> 
    <option value='rmark'>®</option> 
</select> 

Тогда ...

if(isset($_POST['trademarktm']) && $_POST['trademarktm'] == 'copyright') { 
    echo "<div id='generated_footer_date' style='background-color:$backgroundColor; color:$fontColor; opacity: $opacity; ' >$trademark $date $company </div>";   
} else { 
    echo "error"; 
} 
1

Изменить Это:

if(isset($_POST['copyright'])) 

К

if(isset($_POST['trademarktm']) && $_POST['trademarktm'] === 'copyright') 
+0

, но как узнать, когда выбран вариант авторского права – Kevin

+0

Я хочу запустить сценарий, когда люди выбирают вариант авторского права – Kevin

+0

, он пройдет одно из выбранного значения в столбце – Amy

2

HTML:

<select class="form-control" name="trademarktm">    
<option value='empty'></option> 
<option value='copyright'>©</option> 
<option value='trademark'>™</option> 
<option value='rmark'>®</option> 

PHP:

if(isset($_POST['trademarktm']) && $_POST['trademark']=== "copyright") { } 
1

пытаются это ..

if($_POST['trademarktm'] == 'copyright') { 
echo "<div id='generated_footer_date' style='background-color:$backgroundColor; color:$fontColor; opacity: $opacity; ' >$trademark $date $company </div>";   
} else { 
echo "error"; 
} 
1

Вы не имеете никаких пустых вариантов. Поэтому, если вы не выбираете другой вариант, тогда будет использоваться первый.

Первый вариант должен быть что-то вроде этого:

<option value='nogood'></option> 

затем использовать, если/другое для проверки значения:

if ($_POST['trademarktm'] == 'nogood') { 
    echo 'error'; 
} 
else { 
    echo "<div id='generated_footer_date' style='background-color:$backgroundColor; color:$fontColor; opacity: $opacity; ' >$trademark $date $company </div>"; 
} 
Смежные вопросы