0

http://pastebin.com/RE31BRSQ

私がするとき

if ( empty($_POST['name']) ) {
    $name = 'anon'; 
} else {
    $name = $_POST['name']; 
}

誰かがフィールドに文字を入力しても、名前は常に anon です。

また、

if ( empty($_POST['title']) ) {

} else {
    $title = sha1( $_POST['title'] );
}

!の前に挿入されるようにするにはどうすればよい['title']ですか?

4

2 に答える 2

1

に依存しないでくださいempty()。それは向きを変えてあなたを噛むことができます。0のようなものは「空」と見なされることに注意してください。

最初のサンプルに問題は見られないので、フォームの「名前」フィールドが実際に「名前」と呼ばれていることを確認してください。これらのキーは大文字と小文字が区別されるため、$_POST['Name']とはまったく異なり$_POST['nAmE']ます。

!2番目の例については、「not」演算子のように意味する場合は、次のようにします

if (!empty($_POST['title'])) {
   ...
}
于 2012-05-01T18:56:23.240 に答える
0

1.) 入力フィールドの名前が であることを本当に確信していますnameか? 使用することもお勧めしますisset()

if ( isset($_POST['name']) && !empty($_POST['name']) )
{
  $name = $_POST['name'];
}
else
{
  $name = 'anon';
}

2.) 連結演算子を使用します (!ハッシュの前にすべてのタイトルの先頭に a を追加する場合):

$title = sha1( '!'.$_POST['title'] );
于 2012-05-01T18:56:14.700 に答える