web-dev-qa-db-ja.com

phpフォームアクションphp self

このようなphpフォームがあります。

<form name="form1" id="mainForm" method="post"enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">

</form

フォームアクションでは、パラメーターでページ名を使用します。 house.php?p_id=10111。しかし、$ _ SERVER ['PHP_SELF']はhouse.php(私のページの完全なURLはhouse.php?p_id=10111 like this)この問題の解決を手伝ってください。ありがとう。

23
Sasindu H

空のままにしてはどうですか、何が悪いのですか?

<form name="form1" id="mainForm" method="post" enctype="multipart/form-data" action="">

</form>

また、アクション属性を省略すると、期待どおりに機能します。

77
Shef

アクションを空白のままにするか、次のコードを使用できます。

<form name="form1" id="mainForm" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI'];?>">
</form>
15
shaggy

アクション値を空白のままにすると、フォームはそれ自体にポストバックします。

8
Matt R. Wilson

「echo blah;」と入力する代わりに、エコーショートカットを使用することもできます。以下に示すように:

<form method="POST" action="<?=($_SERVER['PHP_SELF'])?>">
4
joskah

これは完璧です。これを試してください:)

<form name="test" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
/* Html Input Fields */
</form>  
2
Lakshman Kambam

別の(そして私の意見では適切な)方法は__FILE__に依存したくない場合は定数$_SERVER変数。

$parts = explode(DIRECTORY_SEPARATOR, __FILE__);
$fileName = end($parts);
echo $fileName;

マジック定数および事前定義定数について: 12

2
Arda

安全にしたい場合は、これを使用してください:<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

0
gleb