PHP urlencode 不起作用还是别的什么


php urlencode does not work or is it something else

我正在尝试使用PHP,但卡在了urlencode上。请参阅两个代码

第一document@

<HTML>
   <HEAD>
      <TITLE>My Movie Site</TITLE>
   </HEAD>
   <BODY>
    <?php 
    // delete as per page 34 define ('FAVMOVIE', 'The life of Brian'); 
    echo    'My favorite movie is ';
    echo    $_GET['favmovie'];
    echo '<br/>';
    $movierate = 5;
    echo 'My movie rating for this movie is: ';
    echo $movierate;
    ?>
   </BODY>
</HTML>

第二份文件

<HTML>
   <HEAD>
   <TITLE>Find my Favorite Movie!</TITLE>
   </HEAD>
   <BODY>
            <?php 
                $myfavmovie = urlencode ('Life of Brian');
                echo    '<a href = "http://php.aryapratinidhisabha.org.uk?favmovie=$myfavmovie'">'  ;
                echo    'Click here to see information about my favorite movie!' ;
                echo    '</a>'  ;
            ?>
   </BODY>
</HTML>

我一直得到以下结果:

第一行:"我最喜欢的电影是$myfavmovie">

第二行:"我对这部电影的电影评分是:5">

我的追求是:

  1. 为什么我没有进入第一行:"我最喜欢的电影是布莱恩的生活"?
  2. 这本书说,在网址中,结果应该是"http://php.aryapratinidhisabha.org.uk/?favmovie=$Life+of+Brian,而是给出了这个 http://php.aryapratinidhisabha.org.uk/?favmovie=$myfavmovie。为什么?

谢谢

纳文

你应该使用双撇号。变量不会在单个变量之间进行评估。

这边:

echo    "<a href = '"http://php.aryapratinidhisabha.org.uk?favmovie=$myfavmovie'">"  ;

除非使用双引号,否则您不能像在几乎所有其他情况下那样通过引用字符串将字符串插入字符串。意思是:你应该反转单引号和双引号的链,如下所示:

echo "<a href='http://php.aryapratinidhisabha.org.uk?favmovie=$myfavmovie'>";

或者连接字符串,如下所示:

echo '<a href="http://php.aryapratinidhisabha.org.uk?favmovie='.$myfavmovie.'">';