データベースのフィールドを更新するために、簡単なオン/オフスライディングスイッチを使用しています。オン/オフチェックボックスを使用してSQLクエリを実行するスライドスイッチ
私はそれを「オン」にしても問題はありませんが、ユーザーが「オフ」にすることができて困っているようです。このページには複数のスイッチがあるので、elseifステートメントを削除しない限り、 "submit"すると値が "off"になります。
$ _POST ['check-twitter']はオンになっているときには「isset」、オンに切り替えたときには「!isset」と考えられているようです。
私のコードを "elseif(!isset ....)"に変更した場合、再びページに来ると、 "on"の位置が "isset"として認識されず自動的に回転しますそれをオフにします。それは "isset"と "!isset"とみなされるものと矛盾しているようです。
ユーザーがデータベースを変更したときにデータベースを更新するだけで、スイッチをオンまたはオフに切り替える必要があります。
// $twitter_check represents the field from the database which equals 'Yes' or 'No'
<label class="switch">
<input type="checkbox" name="check-twitter" <?php echo $twitter_check == 'Yes'?'checked':''; ?>>
<div class="slider"></div>
</label>
if(isset($_POST['check-twitter']) && $twitter_check == "No"){
//SQL UPDATE $twitter_check = 'Yes'
} elseif(isset($_POST['check-twitter']) && $twitter_check == "Yes") {
//SQL UPDATE $twitter_check = 'No'
}
<input class="button" type="submit" name="submit" value="Save"/>
?実際にポストメソッドが使用されている場合は、ここに十分なコードがありません。 –
@ Fred-ii-私の記事で述べたように、$ twitter_checkは、データベースのフィールドを 'Yes'または 'No'にします。明らかに私のページにはSQLクエリとフォームを示すコードがたくさんありますが、私が経験している問題を理解することとは関係ありません。問題のある場所にコードを提示しようとしています。 – Shane