功能不保留旧值

时间:2012-12-19 05:06:37

标签: php

这是所有源代码,它是一个包含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,还可以上传到我的测试服务器并获得相同的结果。

3 个答案:

答案 0 :(得分:5)

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

或者如果它支持简写<input type="text" name="name" value="<?= old('name'); ?>">

基本上,正在调用该函数,但它不会在任何地方打印。

答案 1 :(得分:4)

你错过了一个空位......

function old($key) { 
   if(!empty($_REQUEST['$key'])) {
      return htmlspecialchars($_REQUEST['$key']); 
    }       
    return '';   //<---- I think you might need this in else
}

答案 2 :(得分:1)

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

和php

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