2012-05-01 56 views
0

http://pastebin.com/RE31BRSQ不工作:給空字段的值 - PHP

當我做了一個

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

的名字始終是匿名,即使有人在字段中輸入字符。

此外,

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

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

我怎樣才能使它所以插入盈的['title']一個!

+0

你看到了什麼,當你做'$ _ POST [「名」]' ? – PeeHaa

+0

我剛纔說,我們能否看到表單本身的代碼? – Malovich

+0

嘗試像這樣print_r($ _ POST)調試後數組; –

回答

0

1.)您確定您的輸入字段名爲name? 我還建議使用isset()

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

2)使用連接運算符(如果你想在前面加上一個!所有標題散列前):

$title = sha1('!'.$_POST['title']); 
+0

謝謝,我覺得奇怪的是,名字之一以前並不適合我。謝謝! –

1

不要依賴empty()。它可以轉身咬你。請注意,像0這樣的東西是considered「空」,即使任何理智的人都不會。

我看不出你的第一個樣本有什麼問題,所以請確保你的表單的'name'字段實際上被稱爲'name'。這些密鑰區分大小寫,因此$_POST['Name']$_POST['nAmE']完全不同。

至於你的第二個例子,如果你的意思是!作爲「非」運算符,你會做它作爲

if (!empty($_POST['title'])) { 
    ... 
}