2011-10-21 127 views
0

我想執行以下代碼:簡單的PHP不工作

<label for="gender">Gender*: </label> 
<select name="user[test]" id="gender"> 
<? echo "THISISATEST"?> 
<option value="-1"> - Select - </option> 
</select> 

而且它不會做任何事情。

然而,這工作得很好:

<select name="user[test]" id="gender"> 
<option value="-1"> - Select - </option> 
</select> 
<? echo "THISISATEST"?> 

這是怎麼回事?

謝謝!

編輯:我是一個白癡,我試圖簡化發佈在這裏的問題,原來的回聲出現在soruce和我試圖動態創建公正的行不起作用。 DERP。我忘了圍繞我的速記,如果?else:括號,導致整條線不回聲。

謝謝

+0

這樣做的目的是什麼?你想通過php生成選項嗎? – punit

回答

1

您是否完全確定服務器上啓用了短標籤?我只是仔細檢查<?php echo "THISISATEST"; ?>,看看是否會改善你的運氣。此外,您是否查看源代碼 - 因爲該值可能在選擇時隱藏在渲染頁面上,

+0

修正它,見上文。我是個白癡大聲笑,謝謝 – Jordan

2
<select name="user[test]" id="gender"> 
    <? echo "THISISATEST"?> /// You can't echo string inside <select></select> 
    <option value="-1"> - Select - </option> 
</select> 

而是做

<select name="user[test]" id="gender"> 
    <option value="0"><? echo "THISISATEST"?></option> // This will work 
    <option value="1"> - Select - </option> 
</select> 
1

簡單。您的瀏覽器忽略select節點下的文本節點。這種安排不在HTML規範中,所以瀏覽器可以自由切割它,不過他們喜歡。

2
<select name="user[test]" id="gender"> 
<option value="<?php 
echo "THISISATEST"; 
?>"><?php 
echo "THISISATEST"; 
?></option> // This will work 
<option value="1"> - Select - </option> 

這應該很好地工作。你也可以輸入你想要的值