Я использовал JQuery, чтобы показать / скрыть элементы, основанные на состоянии входа в систему, однако я столкнулся с некоторыми неожиданными результатами, вот код:
<script>
$(document).ready(function(){
$("#uploadform").hide();
});
</script>
Это скрывает форму, если пользователь не вошел в систему.
<h2 id="needlogon"> You need to be logged in </h2>
<a id="needlogon" href="index.php"> Back to start </a>
Они должны отображаться, только если пользователь не вошел в систему
<?php
if (isset($_SESSION['cid'])){
echo '<script>
$(document).ready(function(){
$("#uploadform").show();
$("needlogon").hide();
});
</script>';
}
?>
Форма загрузки отображается / скрывается как намеренная, но элементы Needlogon не скрываются, когда установлено условие ($ _SESSION [‘cid’]). Единственный способ, которым это работает, — это изменить идентификаторы элементов на needlogon1 и needlogon2 и изменить JQuery на:
<?php
if (isset($_SESSION['cid'])){
echo '<script>
$(document).ready(function(){
$("#uploadform").show();
$("#needlogon1").hide();
$("#needlogon2").hide();
});
</script>';
}
?>
Я уверен, что просто скучаю по чему-то глупому, кто-нибудь знает, что это такое?
Для начала, ваш селектор jQuery отключен:
// $("needlogon").hide();
$("#needlogon").hide(); // you forgot the #
Сказав это, вы используете идентификатор — который должен быть уникальный. Вы могли бы хотеть изменить два использования needlogin
к class
вместо id
и тогда ваш селектор будет .needlogon
вот так:
$(".needlogon").hide();
Других решений пока нет …