基本上,我是PHP的新手 - 使用Dreamweaver cs6(我的全部)
我必须获取查询字符串的值(someurl.com/id=something)。 获得该值后,我需要根据ID显示一个div。
虽然我知道PHP确实没有任何真正的“页面加载”事件,但我想在页面打开时使用它。
那么,我该如何做到这一点?
我从这开始:
<?php
$stringId = $_GET['id']
?>
<script language="javascript">
document.getElementById('$stringId').style.display = "block";
</script>
<?
?>
由于我没有服务器设置,这样的工作会有效吗? 你会推荐别的吗? 我完全错了吗?
任何输入都将不胜感激。 谢谢。
答案 0 :(得分:2)
您应该依靠javascript设置内联样式,因为某些用户可能已关闭javascript。
<div <?php if($_GET['id'] == 'X'){ ?>style="display: block;"<?php } ?>>
your div content
</div>
使用其他请求
<div style="<?php if($_GET['id'] == 'X'){ ?>display: block;<?php } else { ?>display: none;<?php } ?">
your div content
</div>
你也可以使用预定义的css类
基于你的评论,如果你需要将它混合起来,只需插入此
即可让许多人进行切换<script language="javascript">
document.getElementById('<?php echo $_GET['id']; ?>').style.display = "block";
</script>
答案 1 :(得分:2)
它应该是这样的:
<?php
switch($_GET['id']) {
case 'asdf':
echo '<div>ASDF in QS</div>';
break;
case 'bcd':
echo '<div class="some-class-because-i-can">something else</div>';
}
你不能简单地将javascript与php混合。
当然,您需要服务器设置,内置于php(http://php.net/manual/en/features.commandline.webserver.php)的服务器应该足以满足您的需求。
答案 2 :(得分:1)
PHP是服务器端脚本语言,这意味着它只在服务器上运行(任何输出都在用户屏幕上呈现),据说你需要像WAMP XAMP这样的本地服务器来调试/运行你的代码。
你要做的是不会工作PHP在服务器上执行,就像我之前提到的那样,Javascript在浏览器浏览器中运行,当你的javascript代码运行时,变量$ stringID将不会出现。
为什么在PHP可以呈现该元素且仅显示该元素时,为什么要隐藏具有url ID的元素。
<?php
if(isset($_GET['id'])) { //checks weather the link has data in the id field
$stringId = $_GET['id'];
echo "<div> content here </div>"; //anything you echo will be rendered in the
//pages source code be it HTML, Javascript etc.
}
>?
如果你想从php中获取这些数据而不刷新页面,请使用jQuery中的AJAX(google it:D)