私は本当に解決する方法が分からないという問題があります。私は同じプロジェクトの2つの異なるページを持っています。フォームを作成して別のWebページに送信することができます。また、フィールドのタイプ、名前、値を要求するバージョンと、ユーザーがフルフォームを手動で入力できるバージョンの2つのバージョンがあります。まったく同じhtmlですが、どうして違うのですか?
私の質問によれば、最初のケースでは完全に動作し、2番目のケースでは同じページに戻ってきて、それが私を狂わせてしまいます!最後にコードを記述しますが、エラーを再現する手順があります。
- ゴーフィールドでこれを入れてhttp://saveyourself.vacau.com/form/
に(これはこのページのために、実際にテストアカウントです):私はテスト目的のためにそれを使用しているとして、これまでのところ、それは自由のためにホストされているページです
- ページ:http://newfutureuniversity.org/
- 方法: "ポスト"
- 名1: "ユーザー"
- 値1: "ユーザー"
- タイプ1: "テキスト"
- 名2: "合格"
- 値2: "パスワード"
- タイプ3: "パスワード"
- 名3: "ログイン"
- 値3 : "1"
- タイプ3: "非表示"。
を押して「表示形式」、およびフォームは、今まで「
</form>
」- 移動このページhttp://saveyourself.vacau.com/form/manual/にページのソースコードを見て、「
<form...>
」からコピー - を表示しますそこに貼り付けてください。
- 「フォームを表示」を押すと、手順3の後に同じページが表示されます(htmlを確認してください.100%同じですが、アドレスは/ manual /です)。
ここでは、このトリックです。両方のページがまったく同じHTMLを持っているにもかかわらず、手順3の後に「フォームを送信」ボタンを押すと、新しいページにログインしますが、手順6の後に「フォームを送信」ボタンを押すと(/ form/manual /)、そのページがリフレッシュされ、貼り付けたフォームが削除されます。これはどのように可能ですか?私が知る限り、フォームが表示されているときには単純なhtmlであり、新しいページはPHP全体を処理する必要があるため、ここにはPHPは関係ありません。それで、同じフォームを受け取ったら、同じ方法で答える必要がありますよね? 2番目のページでは、 "$ _SERVER ['HTTP_REFERER'];" (訪問者がどこから来るか)、類似のものはありません。また、0のJavaScriptがあります。私はこれを助ける場合にはHTMLを、PHP(あまりにも多くのコードを入れないでください)のいくつかを投稿します。
したがって、質問は、誰にも2番目のフォームが機能しない理由を知っていますか?
ありがとうございました。
HTMLコード(それはステップ3の後、両方のページで同じだか6):
//Header, body and others go before of this
<?php
if ($_POST['sent']==1&&empty($_POST['source'])) //If form is submited
{
$i = 1;
?>
<form action="<?php echo $_POST['page']; ?>" method="<?php echo $_POST['method']; ?>">
Web page: <?php echo $_POST['page']; ?><br>
Method: <?php echo $_POST['method']; ?><br><br>
<table style="margin-left: auto; margin-right: auto;">
<?php
while (!empty($_POST['nam'.$i]))
{ ?>
<tr>
<td style="text-align: right;">
<?php echo $_POST['nam'.$i].":</td><td><input type='".$_POST['typ'.$i]."' name='".$_POST['nam'.$i]."' value='".$_POST['val'.$i]; ?>'></td>
</tr>
<?php
$i++;
}
?>
</table><br>
<input type="submit" value="Send form">
</form>
<?php
}
elseif (!empty($_POST['source'])) //If user just wants to create a form and see the code
{
//I think this bit is irrelevant codereview, so I skipped it.
}
else //Body of the first page shown
{ ?>
<form method="post">
Web page: <input type="text" name="page">
Method to send: <select name="method"><option value="POST">Post</option><option value="GET">Get</option></select><br>
<table style="border: 1px solid #AAA; margin-left: auto; margin-right: auto;">
<tr>
<td>Number</td>
<td>Name</td>
<td>Value</td>
<td>Type</td>
</tr>
<?php for ($i = 1; $i <= 10; $i++)
{ ?>
<tr>
<td><?php echo $i; ?></td>
<td><input type="text" name="nam<?php echo $i; ?>"></td>
<td><input type="text" name="val<?php echo $i; ?>"></td>
<td>
<select name="typ<?php echo $i; ?>">
<option value="text">Text</option>
<option value="password">Password</option>
<option value="radio">Radio</option>
<option value="checkbox">Checkbox</option>
<option value="hidden">Hidden</option>
<option value="reset">Reset</option>
<option value="submit">Submit</option>
</select>
</td>
</tr>
<?php } ?>
</table><br>
Don't worry, a submit button is automatically added.<br>
<input type="hidden" name="sent" value="1">
<input type="submit" value="Show form">
<input type="submit" name="source" value="Form code">
</form><?php } ?>
</body>
</html>
:ページの作業(http://saveyourself.vacau.com/form/)から
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Send form</title>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
</head>
<body style="background: #DDFFFF; width: 80%; height:100%; margin: 0 10% 0 10%; text-align: center;">
<h1>Send form</h1>
<form action="http://newfutureuniversity.org/" method="POST">
Web page: http://newfutureuniversity.org/<br>
Method: POST<br><br>
<table style="margin-left: auto; margin-right: auto;">
<tr>
<td style="text-align: right;">
User:</td><td><input type='text' name='User' value=''></td>
</tr>
<tr>
<td style="text-align: right;">
Pass:</td><td><input type='password' name='Pass' value=''></td>
</tr>
<tr>
<td style="text-align: right;">
Login:</td><td><input type='text' name='Login' value='1'></td>
</tr>
</table><br>
<input type="submit" value="Send form">
</form>
</body>
</html>
簡体字PHPコードページの完全なPHPコードが機能しない(http://saveyourself.vacau.com/form/manual/):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Send form</title>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
</head>
<body style="background: #DDFFFF; width: 80%; height:100%; margin: 0 10% 0 10%; text-align: center;">
<h1>Send form</h1>
<?php
if ($_POST['sentbrr']==1) //If form is submited
echo stripslashes($_POST['code']);
else //First time
{ ?>
<form method="post">
Enter the code for the form manually<br>
<textarea name="code" style="width: 100%; min-height: 450px;"></textarea><br>
<input type="hidden" name="sentbrr" value="1">
<input type="submit" value="Show form">
</form>
<?php
} ?>
</body>
</html>
どのChrome版をお使いですか? – tutuDajuju
Google Chrome 17.0.963.46をLinuxで使用しています(debパッケージはUbuntu 11で動作しています)。10) –