0

だから私はPHPを使用して同じページに投稿しているhtmlフォームを持っています..これはクールですが、投稿変数が空かどうかを確認するシステムを追加すると、ページが開かれるたびにPHPがエラーをスローするのを防ぐために(ユーザーが何も入力する機会がなかったので、ユーザーが最初にページをロードしたときです)。私の質問は、これを行うより良い方法はありますか? フォームが読み込まれると PHP スクリプトが読み込まれるため、「入力したものは何もありません」というメッセージが表示されます。ページが最初にロードされたときにこれも表示したくありません.必要な場合にのみ..

コードは次のとおりです。

<form action="" method="post">
<table align="center">
<tr> 
    <td>Enter a word to hash:  </td>
    <td><input type="text" name="input" size="20" maxlength="20"></td>
    <td><input type="submit" value="Hash"> </td>
</tr>

</table>

</form>

<?php
if(empty($_POST['input']))
{
    echo 'You didnt type anything!';
    exit;
}

$input = $_POST['input'];
$input=trim($input);
    echo md5($input);

?>
4

4 に答える 4

3

はい、チェックしてくださいREQUEST_METHOD

if( $_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST['input']) ) {
    ...
}
于 2013-03-08T15:08:32.700 に答える
1

if($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST['input']))

于 2013-03-08T15:09:26.067 に答える
1

最初のページの読み込みでは存在しないはずなので、issetどちらかを試してください。empty$_POST['input']

<?php
if(isset($_POST['input']) && empty($_POST['input']) )
{
    echo 'You didnt type anything!';
    exit;
} else {
//check
}

?>
于 2013-03-08T15:09:46.050 に答える
0

これがあなたが望むものなら:

  • フォームを常に表示する
  • 誰かがフォームを送信した場合、MD5 ハッシュを出力します

こんな感じで実現できます。キー入力を含む POST 値がある場合は、先頭と末尾の空白をすべて削除し、その値の MD5 ハッシュを出力します。

<?php

if (!empty($_POST['input']))
{
    echo md5(trim($_POST['input']));
}

?>
于 2013-03-08T15:17:33.047 に答える