2

潜在的な従業員が参照をリストできるようにする小さなアプリケーションを作成しています。URLリストされた参照は、最後に一意の文字列を持つを含む電子メールを受け取ります。

(例: www.the-address.com?url=503241c65b8fe4_07914393)。URL参照は、従業員に代わってレターをアップロードするために、この一意に従います。

ただし、フォームが送信されるたびに、URL のランダムな文字列部分が消えます

(例: www.the-address.com?url=)。

次のようなフォームを送信するため、なぜこれが起こるのかわかりません。

<form action="upload_letter.php?url="' . $url . '" id="form_id" method="POST">;

どこで$url = $_GET['url']

これが起こる一般的な理由はありますか?必要に応じて、さらにコードを提供できます。

4

6 に答える 6

2

あなたが書いたようなコードが本当にある場合は、2番目の文字actionで属性を時期尚早に閉じています。"代わりにこれを試してください:

echo '<form action="upload_letter.php?url='.urlencode($url).'" id="form_id" method="POST">';

あなたが持っている方法は、次のような HTML になります。

<form action="upload_letter.php?url="google.de" id="form_id"...>

属性値の外側に google.de を使用。

于 2012-08-20T19:04:04.353 に答える
2
<?php
$data = array('url' => $url);

?>
<form action="upload_letter.php?<?php echo http_build_query($data) ?>" id="form_id" method="POST">

または、URLを非表示として追加することもできます<input>

<form action="upload_letter.php" id="form_id" method="POST">
    <input type="hidden" name="url" value="<?php echo htmlentities($url); ?>">
    .
    .
    .
</form>

その後、 経由で URL にアクセスできます$_POST['url']

于 2012-08-20T19:02:07.600 に答える
0

あなたのコードが PHP ファイルに書いたものである場合: それは間違っています。いいえ ";" HTML 行の最後にあり、"." で文字列を連結することはできません。HTMLで。PHP タグを開き、内部に PHP コードを記述する必要があります。例えば:

<form action="upload_letter.php?url=<?php echo $url; ?>" id="form_id" method="POST">

ただし、Wolfgang answer のように echo を使用することもできます

于 2012-08-20T19:14:33.100 に答える
0

method="POST"に変更method="GET"

于 2012-08-20T18:57:36.083 に答える
-1

おそらく $url は空か未定義です。HTML コードをチェックして、フォームのアクションに記述されているかどうかを確認します。

于 2012-08-20T18:58:53.217 に答える
-2

一重引用符で囲む理由:

 . $url . 

?

編集: これを別の言い方をすると: 本当に<?php ?>タグを付けていますか?

于 2012-08-20T18:59:15.227 に答える