0

これはすべてのソース コードです。2 つのテキスト フィールドを持つ単純なフォームです。

私が抱えている問題は、古い関数を呼び出す HTML にあります。

<input type="text" name="name" value="<?php old('name'); ?>">

古い関数コード:

function old($key)  if( !empty($_REQUEST['$key']))                
    {return htmlspecialchars($_REQUEST['$key']); }       
    return '';   
    }

何らかの理由で、古い値が保持されません。キャッシュをクリアし、Apache を再起動して、それが問題であるかどうかを確認しましたが、何も問題はありませんでした。古い機能が無視されている理由はありますか?


私のテスト環境: Windows 7、xampp php5.3 ですが、テスト サーバーにもアップロードされ、同じ結果が得られました。

4

3 に答える 3

5

あなたが必要<input type="text" name="name" value="<?php print old('name'); ?>">

または省略形をサポートしている場合<input type="text" name="name" value="<?= old('name'); ?>">

基本的に、関数は呼び出されていますが、どこにも出力されていません。

于 2012-12-19T05:08:33.047 に答える
4

開き括弧がありません...

function old($key) { 
   if(!empty($_REQUEST['$key'])) {
      return htmlspecialchars($_REQUEST['$key']); 
    }       
    return '';   //<---- I think you might need this in else
}
于 2012-12-19T05:09:22.080 に答える
1

試す

<input type="text" name="name" value="<?php print(old('name')); ?>">

とphp

  function old($key) {
      if( !empty($_REQUEST['$key']))                
      {
        return htmlspecialchars($_REQUEST['$key']);
       }       
      return '';   
    }
于 2012-12-19T05:14:54.027 に答える