-1

地址;

   http://www.site.com/page?Channel=CNNi

ChannelDatas.php

ChannelDatas.php 包含(在)_VideoPanel.php

   $CNNi_JSON = 'http://edition.cnn.com/CNNI/schedules/json/CSI.NA.html'; 

“_VideoPanel.php”中的代码

   74  <?php
   75  $DosyaJson = $var = $_GET['Channel'] . '_JSON'; print($$var);
   76  $html = file_get_contents($DosyaJson);

   ....

   ?>

我收到这样的错误:

   http://edition.cnn.com/CNNI/schedules/json/CSI.NA.html
   Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in /****/_VideoPanel.php on line 76

   Warning: Invalid argument supplied for foreach() in /****/_VideoPanel.php on line 87

我在 $DosyaJson 中犯了一个错误 - 错误在哪里?

图形经验:

http://img708.imageshack.us/img708/2438/3bse.png

ps:

$var = $_GET['Channel'] . '_JSON'; print($$var);

GET 和命令 - 不正确

4

1 回答 1

0

您的代码似乎有错误的标记,

<?php
   $DosyaJson = $var = $_GET['Channel'] . '_JSON'; print($$var);
   $html = file_get_contents($DosyaJson);

应该

<?php
    $var = $_GET['Channel']; //mind capital letters to, case sensitivity in linux.
    $DosyaJson = $var .'_JSON'; //Appending the string in a correct way.
    print_r($DosyaJson);
    $html = file_get_contents($DosyaJson);

这段代码对我们和您来说都更具可读性,并且您不能在定义另一个变量时定义一个变量。

例如

$var = $var2 = '3';

是无效标记。您应该始终首先创建变量,然后将其附加到您的代码中。

这将提高您的可读性并帮助您更轻松地定位错误。

这也可能是 $_GET['Channel'] 全局的问题。如果没有设置它会抛出一个未定义的索引错误,这可能会弄乱你的代码。

您应该始终检查是否$_POST通过$_GET使用设置变量isset()

于 2013-10-22T09:46:34.453 回答