php POST проблема получения данных - PullRequest
0 голосов
/ 19 октября 2011

Я получаю данные из $ _GET на странице, на которую ссылаются:

<a class="send" href="<?php echo sendData.php?user=somebody&password=any; ?>">Send POST info</a>

локально, используя XAMPP с

            <?php
                $user = urlencode($_GET['user']);
                $password = urlencode($_GET['password']);
                echo '<strong>user: </strong>'.$user.' <strong>password: </strong>'.$password;                
            ?>

, и работает нормально, однако при кодировании

        <?php
            $url=rawurlencode('sendData.php');
            $url .= urlencode('?user=somebody&password=any');
        ?>
        <a class="send" href="<?php echo $url; ?>">

             Send POST info
        </a>

Доступ к связанной странице запрещен

Access forbidden!

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

If you think this is a server error, please contact the webmaster.

Error 403

localhost
18.10.2011 ã. 23:00:31 ÷.
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1

Есть идеи, что напортачить?

Ответы [ 2 ]

4 голосов
/ 19 октября 2011

Не кодировать всю строку запроса. В своем коде вы конвертируете "?" и "&" и "=".

Кодировать значения по отдельности и объединять значения.

Итак

$query = "?user=" . urlencode($user) . "&password=" . urlencode($password);

В конечном счете, это также позволит вам обезвредить их.

1 голос
/ 19 октября 2011

Попробуйте это

<?php
        $url= 'sendData.php?';
        $url .= rawurlencode('user=somebody&password=any');
    ?>

Необходимо только кодировать строку запроса.

...