我正在尝试获取一些PHP示例代码,以便在Windows上运行PHP版本5.3.4,Apache 2.2.17。
示例说我需要PHP 4.0及更高版本的CURL并包含:
<?
$function = $_GET['function-if-exist'];
$test = "Test";
?>
<? =$test ?>
我不明白为什么我会收到以下错误:
任何人都可以帮助我理解为什么他们的代码不适合我吗?
答案 0 :(得分:5)
1)<?
是“短标签”。大多数服务器配置为不允许短标签。这可以在php.ini
中更改。
2)再次,短标签。另外我认为你在=
之前没有空格,但主要问题是短标签的设置。
3)$_GET
访问查询字符串,因此在加载脚本时需要myscript.php?function-if-exist=something
答案 1 :(得分:0)
在继续防止抛出错误之前检查参数是否设置更为理想,例如
if(isset($_GET['function-if-exist']))
{
$functionexists = $_GET['function-if-exist'];
}
答案 2 :(得分:0)
答案 3 :(得分:0)
我不明白为什么我会收到以下错误:
我的PHP不明白
为了能够使用短标签,您必须通过配置启用它们... http://www.tomjepson.co.uk/tutorials/35/enabling-short-tags-in-php.html
我的PHP不喜欢并想要像
这样的东西一旦你打开短标签,你就可以使用...重要的是等号必须触及?不变。
$ function = $ _GET ['function-if-exist'];导致错误“未定义的索引”,但可能适用于开发它的人。
根据网址中的内容填充$ _GET。要获取$ _GET ['function-if-exist']中的值,访问脚本的url应该类似于mydemo.php?function-if-exist=hello
希望这有助于你
答案 4 :(得分:0)
对1和2的快速回答是将short_open_tag选项启用到php.ini文件中,因为最后一个选项将error_reporting设置为不太严格的模式。
不采取此类措施的原因是:
短标签与xml声明冲突并在不同主机上禁用,如果需要操作xml或者如果需要编写可移植代码,最好采用长标记语法。你失去了使用=
回复数据的能力,但这对我来说是一个小麻烦。
警告和通知,因为php原谅了很多程序员缺少变量声明是调试的祝福。保持然后提出,你将解决很多错误。
您确定function-if-exist
是散列的正确索引吗?我会首先检查索引访问它们。如果索引不存在,则可能暗示您的代码出现问题,您应该检查丢失的原因。
现在最好停下来,因为任何人都可以写一本关于这个主题的书,还有几本已经完成的书;)