У меня есть этот код здесь, и по какой-то причине он примет либо первые 3 ifs как истинные, либо последние, если. Кажется, я не могу заставить его идти к одному или другому, не удаляя одного из них.php strpos делает странные вещи
Ввод, например, является «TBN D664» или «Other», и он будет сортироваться там. Но независимо от того, какой вклад я набрасываю на него, «TAN D664» всегда верен.
Даже если я их перестрою, они все равно говорят, что любое утверждение является первым. Я использовал аналогичный код в другом месте в моей программе, и он отлично работает, только в этом месте это дает мне проблемы.
if($Category == 'Petrochemical') {
if (strpos($_SESSION['Petrochemical_app'],'TAN D664') !== false) {
$i=37;
}
elseif (strpos($_SESSION['Petrochemical_app'],'TBN D2869') !== false) {
$i=37;
}
elseif (strpos($_SESSION['Petrochemical_app'],'TBN D4739') !== false) {
$i=37;
}
elseif ((strpos($_SESSION['Petrochemical_app'],'H2S') !== false) ||
(strpos($_SESSION['Petrochemical_app'],'Other') !== false)) {
if((strpos($sample,'75to120') !==false) ||
(strpos($sample,'120to200') !==false) ||
(strpos($sample,'200ormore') !==false)){
$i=26;
}
if((strpos($sample,'10to30') !== false) ||
(strpos($sample,'less10') !== false)){
$i=24;
}
if(strpos($sample,'30to75') !== false) {
$i=25;
}
}
}
Если это помогает, это флажок, где он получает этот конкретный выбор.
<fieldset>
<b>Petrochemical</b><br />
<input onclick="document.getElementById('selector_button').disabled = false; document.getElementById('charstype').disabled = true;"name="Petrochemical_app[]" type="checkbox" value="TAN D664" id="D664"> <label for="D664">TAN: D664</label>
<input onclick="document.getElementById('selector_button').disabled = false; document.getElementById('charstype').disabled = true;"name="Petrochemical_app[]" type="checkbox" value="TBN D2869" id="D2869"> <label for="D2869">TBN: D2869</label>
<input onclick="document.getElementById('selector_button').disabled = false; document.getElementById('charstype').disabled = true;"name="Petrochemical_app[]" type="checkbox" value="TBN D4739" id="D4739"> <label for="D4739">TBN: D4739</label>
<input onclick="document.getElementById('selector_button').disabled = false; document.getElementById('charstype').disabled = true;"name="Petrochemical_app[]" type="checkbox" value="H2S and Mercaptan Bromine Number" id="H2S"> <label for="H2S">H2S and Mercaptan Bromine Number</label>
<input onclick="document.getElementById('selector_button').disabled = false; document.getElementById('charstype').disabled = true;"name="Petrochemical_app[]" type="checkbox" value="Other" id="Other"> <label for="Other">Other: specify below</label>
<label for="Other5">Please Specify:</label> <input name="Other5" type="text" id="Other5">
</fieldset>
Вот где я включаю его в сессию
$_SESSION['Petrochemical_app']=$_POST['Petrochemical_app'];
Кроме того, когда я делаю print_r(); Я получаю это или он меняется всякий раз, когда я сделать другой выбор с флажками
Array ([0] => TBN D4739)
Кроме того, если я их все галочка я получаю эту
Array ([0] => TAN D664 [1] => TBN D2869 [2] => TBN D4739 [3] => H2S and Mercaptan Bromine Number [4] => Other)
P.S. Спасибо, что помогли с форматом кода! Я долгое время переполнял stackoverflow, и это мой первый пост: P
Что такое вход, это то, что находится в '$ _SESSION ['Petrochemical_app']'? – Paul
Второе и третье - одно и то же, не так ли? – Barmar
знаете, что вы можете использовать ** elseif **? вы знаете, что в php ** switch() ** exsists? – donald123