не может отправить форму через POST с PHP через SSL - PullRequest
0 голосов
/ 27 ноября 2009

Я не могу отправить форму через POST с PHP через SSL. Вот быстрый взгляд на мой код, может кто-нибудь сказать мне, что не так?

Мой файл .htaccess

RewriteEngine On
RewriteBase /test

RewriteCond %{HTTP_HOST} !^www\.helloworld\.org$ [NC]
RewriteRule ^(.*)$ http://www.helloworld.org/test/$1 [L,R=301]

# If i comment out these 3 lines, everything works fine
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (myaccount|register|registration|login)
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

Вот index.php

<?php $myurl = "http://www.helloworld.org".$_SERVER['REQUEST_URI']; ?>
<form method="post" action="<?=$myurl ?>">
<input name="text" />
<input type="submit" />
<?php print_r($_POST); ?>

Я предпринимаю следующие действия:

1) Перейдите на http://www.helloworld.org/test/login/ (мой браузер автоматически покажет версию https)

2) Я что-то набираю в форме и нажимаю кнопку отправки

3) print_r ($ _ POST) ничего не печатает! Я ожидал, что это будет населено!

Если я закомментирую три строки в файле .htaccess, относящихся к HTTPS, и повторю тот же эксперимент, то print_r ($ _ POST) даст мне результаты отправки формы.

Как мне заставить мою форму сообщения работать постоянно?

1 Ответ

1 голос
/ 27 ноября 2009

О, я понял проблему

Мой адрес веб-браузера говорит https://www.helloworld.org/test/login/ с https, но у моего [form action = "http://www.helloworld.org/test/login"] нет https. Когда я нажимаю на кнопку submit, .htaccess перенаправляет обратно на https, что, вероятно, уничтожает ПОЧТА информация.

Поэтому все, что я делал, это использовал PHP для печати того же протокола http или https, который отображал URL браузера в действии тега формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...