Передача переменных из PHP в Perl с использованием POST - PullRequest
0 голосов
/ 02 ноября 2011

Это немного расстраивает.

Если я запускаю этот Perl-скрипт ...

#!/usr/bin/perl

use CGI qw/:standard/;              # load standard CGI routines
my $query = new CGI;

my $club5   = $query->param('club5');
my $messagetext = $query->param('messagetext');

print header,                       # create HTTP header
    start_html('Hello World'),      # start of HTML
    h1('Hello World'),              # level 1 headers
    h1($club5),
    h1($messagetext),
    end_html;                       # end of HTML

1;

из удаленного браузера Chrome с

http://www.<hostname>/cgi-bin/message_test.pl?club5=coop9&messagetext=test

правильная страница производится.Но если я затем выполню эту программу PHP ...

<?php

$user_id = "10006";

echo <<<END
<html>
<head>

<title>Send Message</title>
</head>

<BODY bgcolor="#e8e8e8">
<br>
<table width="450px" height="150px" align="center" valign="top" bgcolor="#e8e8e8">

<form action="http://<hostname>/cgi-bin/message_test.pl" method="post">

<INPUT TYPE="hidden" NAME="user_id" VALUE="$user_id">

<tr align="center" valign="top">
<td>
<br>
<font face="Verdana" size="2">

<input name="messagetext" type="text" size="64">
<br>
<br>
<br><center>
<input name="submit" type="submit" value="SEND">
</font>
</td>
</tr>

</form>

</table>

</body>
</html>
END;

?>

из того же браузера с

http://<hostname>/message_test.php

, ничего не вернется.Клянусь, у меня было что-то похожее, это год назадЕсть ли что-то новое, что я должен знать при передаче (скрытых) переменных в Perl с помощью HTTP POST?

Ответы [ 2 ]

1 голос
/ 02 ноября 2011

Это сбой, потому что ваш браузер неправильно угадывает, что вы имели в виду под вашим недействительным HTML.

Это сработало после того, как я изменил

<table ...>
<form ...>
<INPUT TYPE="hidden" NAME="user_id" VALUE="$user_id">
...
</form>
</table>

на

<form ...>
<INPUT TYPE="hidden" NAME="user_id" VALUE="$user_id">
<table ...>
...
</table>
</form>
0 голосов
/ 02 ноября 2011

В PHP не должно

<INPUT TYPE="hidden" NAME="user_id" VALUE="$user_id">

быть

<INPUT TYPE="hidden" NAME="user_id" VALUE="<? echo $user_id; >">

?

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