ホームページ > バックエンド開発 > PHPチュートリアル > PHP フォームでのパラメータの受け渡しと取得に関する問題

PHP フォームでのパラメータの受け渡しと取得に関する問題

WBOY
リリース: 2016-06-23 13:53:40
オリジナル
997 人が閲覧しました

<html><head><title>Register</title></head><body>	<?php	if (!isset($_POST['register1']) || ( $_POST['register1'] != 'Register'))	{			#echo "test1";	?>	<h1>Registration</h1>	<form method = "post" action = "register.php">		<table>			<tr><td>E-mail address:</td>				<td><input type='text' name = 'email'/></td>			</tr>			<tr><td>First Name:</td>				<td><input type = 'text' name = 'first_name'/></td>			</tr>			<tr><td>Last Name:</td>				<td><input type = 'text' name = 'last_name'/></td>			</tr>			<tr><td>PassWord:</td>				<td><input type = 'password' name = 'password'/></td>			</tr>			<tr>				<td colspan = '2'>					<input type = 'submit' name = 'register1' value = 'Register'/>				</td>			</tr>		</table>	</form>	<?php		}		else		{	?>	E-mail:	<?php 		echo $_POST['email']; 	?>	<br />	Name:	<?php 		echo $_POST['last_name']; 	?>	<br />	Password:	<?php 		echo $_POST['password']; 	?>	<?php		}	?></body></html>
ログイン後にコピー


PHP 初心者の方はこちらから質問してください
E-mail:
echo $_POST['email'] ?>

br />
パスワード:

これらのメッセージは 1 つだけ出力しても問題ありません
複数出力する場合は次のようになります
E-mail:
echo $_POST['email'];

名前:
echo $_POST['last_name'];
?> 彼は間違いを犯しました - -! ! !
常に表示されます。
エラーが発生しました。
探しているページは現在利用できません。
後でもう一度お試しください。
このリソースのシステム管理者である場合は、エラー ログを確認してください。
忠実に、nginx
これは 1 回だけ出力します
マスターの皆様、アドバイスをお願いします



ディスカッションへの返信 (解決策)

SF は残りません

<html><head><title>Register</title></head><body>    <?php    if (!isset($_POST['register1']) || ( $_POST['register1'] != 'Register'))    {            #echo "test1";    ?>    <h1>Registration</h1>    <form method = "post" action = "">        <table>            <tr><td>E-mail address:</td>                <td><input type='text' name = 'email'/></td>            </tr>            <tr><td>First Name:</td>                <td><input type = 'text' name = 'first_name'/></td>            </tr>            <tr><td>Last Name:</td>                <td><input type = 'text' name = 'last_name'/></td>            </tr>            <tr><td>PassWord:</td>                <td><input type = 'password' name = 'password'/></td>            </tr>             <tr>                <td colspan = '2'>                    <input type = 'submit' name = 'register1' value = 'Register'/>                </td>            </tr>        </table>    </form>    <?php        }        else        {    ?>    E-mail:    <?php         echo $_POST['email'];     ?>    <br />    Name:    <?php         echo $_POST['first_name'].$_POST['last_name'];     ?>    <br />    Password:    <?php         echo $_POST['password'];     ?>    <?php        }    ?></body></html>
ログイン後にコピー
ログイン後にコピー

のように設定します。これでローカルでテストできます。




<html><head><title>Register</title></head><body>    <?php    if (!isset($_POST['register1']) || ( $_POST['register1'] != 'Register'))    {            #echo "test1";    ?>    <h1>Registration</h1>    <form method = "post" action = "">        <table>            <tr><td>E-mail address:</td>                <td><input type='text' name = 'email'/></td>            </tr>            <tr><td>First Name:</td>                <td><input type = 'text' name = 'first_name'/></td>            </tr>            <tr><td>Last Name:</td>                <td><input type = 'text' name = 'last_name'/></td>            </tr>            <tr><td>PassWord:</td>                <td><input type = 'password' name = 'password'/></td>            </tr>             <tr>                <td colspan = '2'>                    <input type = 'submit' name = 'register1' value = 'Register'/>                </td>            </tr>        </table>    </form>    <?php        }        else        {    ?>    E-mail:    <?php         echo $_POST['email'];     ?>    <br />    Name:    <?php         echo $_POST['first_name'].$_POST['last_name'];     ?>    <br />    Password:    <?php         echo $_POST['password'];     ?>    <?php        }    ?></body></html>
ログイン後にコピー
ログイン後にコピー

ローカルでテストできるように、このように設定します。


どこを変更したかお聞きしたいのですが、コードをコピーしましたが、まだ機能しません。何か設定する必要があるか、何か他にありますか?

ログイン後にコピー

ローカルでテストできるように、このように設定します。


変更した内容を確認しましたが、1 つだけ出力すると動作しますが、複数出力すると動作しません。自分自身に宛てるか、書かないか。


<form method = "post" action = "">
ログイン後にコピー

自分に提出しても、書かなくても構いません。

それも機能しません。1 つのポスト値を取得するには、複数の値を取得するだけです。私は現在、Alibaba Cloud のサービスによって設定された lnmp 環境を使用しています。その設定と関係があるのでしょうか?
print_r($_POST);

それが何かを見る



入力

出力は
Array ([email] => test@qq.com [first_name] => test_first [last_name] => test-last [password] => test_password [register1] => この出力は正しいはずです - -!

???、?有???。
print_r ができるので?取得できることを示します。

???、?有???。
print_r ができるので?取得できることを示します。


はい、設定か何かが間違っているのではないかと思います。 1 つだけを取ると問題はありません。

これはサーバーの問題のはずです。コードの取得には問題ありません。

エラー ログをチェックして、どのようなエラーが報告されているかを確認してください。 PHPのエラープロンプト機能もオンにしてみてください。


これはサーバーの問題であるはずです。コードの取得には問題ありません。




エラー ログをチェックして、どのようなエラーが報告されているかを確認してください。 PHPのエラープロンプト機能もオンにしてみてください。


はい、設定に問題があるはずです

エラー レベルの問題 ~ エラー レベルはどれくらいですか?

エラーレベルの質問 ~ あなたのエラーレベルはどれくらいですか?


エラー レベルが設定されていない場合、デフォルトのエラー レベルはどれくらい使用されますか?

nginx からこのログが見つかりました
2014/07/18 20:37:33 [エラー] 9397#0: *1 recv() が失敗しました (104: ピアによって接続がリセットされました) アップストリーム、クライアント: 118.199 からの応答ヘッダーの読み取り中に。 、サーバー: localhost、リクエスト: "POST /zp/chapter5/register.php HTTP/1.1"、アップストリーム: "fastcgi://127.0.0.1:9000"、ホスト: "localhost"、リファラー: "http:// localhost /zp/chapter5/register.php"

何が問題なのか分析させてください

nginx からこのログを見つけてください
2014/07/18 20:37:33 [error] 9397#0: *1 recv( ) failed (104: ピアによって接続がリセットされました) アップストリームからの応答ヘッダーの読み取り中、クライアント: 118.199.7.180、サーバー: localhost、リクエスト: "POST /zp/chapter5/register.php HTTP/1.1"、アップストリーム: "fastcgi:/ /127.0" .0.1:9000"、ホスト: "localhost"、リファラー: "http://localhost/zp/chapter5/register.php"

何が問題なのか分析させてください


このエラー レポートはここでご覧いただけます
http: //www.php100.com/html/program/nginx/2013/0905/5522.html
コードのテストには問題ありません。ngnix の設定を見てみましょう さまざまな方法を試しましたが、まだできていません。解決策はまだ見つかりませんでした。 投稿終了

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート