Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中实现PHP逻辑_Javascript_Php_Jquery - Fatal编程技术网

Javascript 在jQuery中实现PHP逻辑

Javascript 在jQuery中实现PHP逻辑,javascript,php,jquery,Javascript,Php,Jquery,在一个系统中,我有3个用户,Ben、Shane和Payne,网站对所有用户都正常运行,并且有相同的菜单系统。然而,我的任务是从核心添加一个菜单项,并且只对Ben可见 因此,我在菜单项中添加了Candy,因为Ben还是个孩子,但现在我无法更改PHP中的核心 if('Ben' === $user->name) { // Show the Candy Menu } 但我希望糖果菜单只显示给本,并对其他人隐藏 如何使用jQuery 我不想把PHP代码搞砸,比如: <?php if('B

在一个系统中,我有3个用户,Ben、ShanePayne,网站对所有用户都正常运行,并且有相同的菜单系统。然而,我的任务是从核心添加一个菜单项,并且只对Ben可见

因此,我在菜单项中添加了Candy,因为Ben还是个孩子,但现在我无法更改PHP中的核心

if('Ben' === $user->name) {
  // Show the Candy Menu
}
但我希望糖果菜单只显示给本,并对其他人隐藏

如何使用jQuery

我不想把PHP代码搞砸,比如:

<?php if('Ben' === $user->name):?>
  <script ></script>
<?php endif; ?>

我该怎么做?

您必须对PHP进行某种更改,否则您的JS无法知道当前用户是谁

如果你的意思是你不想在你的JavaScript代码中间混合PHP,你可以在文档顶部设置一个一次性PHP来设置任何全局:

<script>
var myAppGlobals = {};

myAppGlobals.showCandyMenu = <?php echo ($user->name === 'Ben' ? 'true': 'false'); ?>;
// or
myAppGlobals.userName = '<?php echo addslashes($user->name); ?>';
</script>
稍后从您的Javascript。你仍然在混合使用PHP和JS,但至少你是在做所有的事情,而不是到处混合


当然,请记住,从客户端设置菜单可见性的任何方法都有可能被滥用——任何具有JS知识的人都可以深入研究并显示该菜单选项。这是否是一个问题取决于您。

您必须对PHP进行某种更改,否则您的JS无法知道当前用户是谁

如果你的意思是你不想在你的JavaScript代码中间混合PHP,你可以在文档顶部设置一个一次性PHP来设置任何全局:

<script>
var myAppGlobals = {};

myAppGlobals.showCandyMenu = <?php echo ($user->name === 'Ben' ? 'true': 'false'); ?>;
// or
myAppGlobals.userName = '<?php echo addslashes($user->name); ?>';
</script>
稍后从您的Javascript。你仍然在混合使用PHP和JS,但至少你是在做所有的事情,而不是到处混合


当然,请记住,从客户端设置菜单可见性的任何方法都有可能被滥用——任何具有JS知识的人都可以深入研究并显示该菜单选项。这是否是问题取决于您。

您可以将值存储在JavaScript变量中:

var user = '<?php echo $user->name; ?>';

$('#CandyMenu').toggle(user === 'Ben');
var user='';
$('#CandyMenu')。切换(用户=='Ben');

然而,这应该在服务器端完成,当一个元素被隐藏时,它仍然在页面上。使用jQuery(JavaScript)不是正确的方法,特别是当您回送敏感数据时。

您可以将值存储在JavaScript变量中:

var user = '<?php echo $user->name; ?>';

$('#CandyMenu').toggle(user === 'Ben');
var user='';
$('#CandyMenu')。切换(用户=='Ben');

然而,这应该在服务器端完成,当一个元素被隐藏时,它仍然在页面上。使用jQuery(JavaScript)不是正确的方法,特别是在回送敏感数据时。

可以使用appendTo()吗?需要为用户变量提供JavaScript访问权限。如果它已经输出到html中,那么您可以从那里获取它,否则您将需要对后端(php)进行更改扫描您使用appendTo()?您需要为用户变量提供javascript访问权限。如果它已经输出到html中,那么您可以从那里获取它,否则您将需要进行后端(php)更改