2012-12-19 139 views
0

這是所有的源代碼,這是一個簡單的形式,與2文本字段:功能不保留舊值

我的問題是在它稱之爲舊功能的HTML:

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

舊函數c ode:

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

由於某些原因,它不保留舊的值。我清除了緩存並重新啓動了Apache,以查看這是否是問題,但沒有任何結果。我用完了想法,爲什麼舊​​功能被忽略了?


我的測試環境:Windows 7,xampp php5.3,但也上傳到我的測試服務器和相同的結果。

+1

'$ _REQUEST [ '$鍵']'。你有一個名爲「$ key」的密鑰?我想你的意思是使用'$ _REQUEST [$ key]'。 – Vulcan

+0

嘗試'$ _REQUEST ['key']' –

+0

格式化您的代碼將會使整個區別 – Ibu

回答

5

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

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

基本上,函數被調用,但它沒有被任何地方打印。

4

你缺少一個左括號...

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

你不需要別的東西,返回使得其他的多餘 –

+0

另外,看着pastebin,他有另外的圓括號,它肯定已經迷失在這裏的copt/paste –

+0

@GlennSlaven我想他需要重寫整個東西inshort ..我從問題中共享的代碼,而不是從pastebin複製 –

0

嘗試

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

和PHP

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