dongyuan1870 2014-11-03 19:03
浏览 76
已采纳

$ _GET变量问题中的PHP“&”字符

How can I put '&' symbol to URL GET variable so it is part of string? The problem is it always split the string to next variable.

How can I make this work?

localhost/test.php?variable='jeans&shirts'    // so it executes it like a string

<?php

require "connect.php";

$variable = $_GET['variable'];

echo $variable;

?>

output is 'jeans'

instead of 'jeans&shirts'

  • 写回答

1条回答 默认 最新

  • douruanfan3030 2014-11-03 19:04
    关注

    You will want to urlencode() your string:

    // Your link would look like this:
    'localhost/test.php?variable='.urlencode('jeans&shirts');
    

    When you want to use it, you would decode it:

    echo $variable = urldecode($_GET['variable']);
    

    ENCODE: http://php.net/manual/en/function.urlencode.php

    DECODE: http://php.net/manual/en/function.urldecode.php


    EDIT: To test write this:

    echo $url = 'localhost/test.php?variable='.urlencode('jeans&shirts');
    echo '<br />';
    echo urldecode($url);
    

    Your result would be:

    // Encoded
    localhost/test.php?variable=jeans%26shirts
    // Decoded
    localhost/test.php?variable=jeans&shirts
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?