新手PHP:我在运行简单的示例代码时遇到问题

时间:2011-10-04 09:02:00

标签: php php-5.3

我正在尝试获取一些PHP示例代码,以便在Windows上运行PHP版本5.3.4,Apache 2.2.17。

示例说我需要PHP 4.0及更高版本的CURL并包含:

<? 
$function = $_GET['function-if-exist'];
$test = "Test";
?>

<? =$test ?>

我不明白为什么我会收到以下错误:

  1. 我的PHP不理解&lt;?并希望&lt;?PHP代替。
  2. 我的PHP不喜欢&lt;? = $ test?&gt;并想要类似的东西 &lt;?PHP echo $ test?&gt;
  3. $ function = $ _GET ['function-if-exist'];导致错误“未定义的索引”,但可能适用于开发它的人。
  4. 任何人都可以帮助我理解为什么他们的代码不适合我吗?

5 个答案:

答案 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)

  1. 您的php.ini
  2. 中禁用了短标记符号
  3. 您需要在等号前删除空格
  4. 您的_get数组不包含预期的索引,您输入什么网址来访问该页面?

答案 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是散列的正确索引吗?我会首先检查索引访问它们。如果索引不存在,则可能暗示您的代码出现问题,您应该检查丢失的原因。

  • 现在最好停下来,因为任何人都可以写一本关于这个主题的书,还有几本已经完成的书;)