2012-06-15 61 views
0

我想使這種形式:與PHP變量HTML表單

echo '<form method="post" action="ratinghandler.php" style="width: 250px"> 
       <input type="hidden" name="reference" value= "$id"/> 
       <select name="rating" style="width: 115px"> 
       <option> Rate </option> 
       <option>1 Bad</option> 
       <option>2</option> 
       <option>3</option> 
       <option>4</option> 
       <option>5 Average</option> 
       <option>6</option> 
       <option>7</option> 
       <option>8</option> 
       <option>9</option> 
       <option value="10">10 Best</option> 
       </select><input name="submit1" type="submit" value="Submit Rating" /></form>'; 

值得注意的部分是隱藏的藥水。 echo $ _POST [reference]的處理程序頁面中的輸出是簡單的$ id(與存儲在$ id內的值相反)。

我試圖改變該行改爲:

<input type="hidden" name="reference" value= "<? echo $id ?>"/> 

我認爲我做的事情很愚蠢的 - 但我搜查,並沒有看到什麼,直接解決這個,所以我認爲這將是好問。

+0

兩個詞:變量代換。當您使用單引號作爲分隔符時,您沒有它。我建議使用HEREDOC語法; [這個頁面](http://php.net/manual/en/language.types.string.php)肯定會有幫助。 – raina77ow

回答

2

使用此語法:

<input type="hidden" name="reference" value= "'. $id .'"/> 

當您使用單引號迴音,你不能插變量。由於字符串中有太多的雙引號,所以使用了單引號。您可以使用點運算符打破字符串並連接變量。您也可以使用逗號運算符來避免字符串連接。

如果您正在使用雙引號,你可以去那裏的$id,它會被插入,但隨後你就必須在字符串中逃避所有的雙引號。

最後,你可以使用一個HEREDOC允許雙引號和插補:

echo <<<EOF 
<form method="post" action="ratinghandler.php" style="width: 250px"> 
      <input type="hidden" name="reference" value= "$id"/> 
      <select name="rating" style="width: 115px"> 
      <option> Rate </option> 
      <option>1 Bad</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
      <option>5 Average</option> 
      <option>6</option> 
      <option>7</option> 
      <option>8</option> 
      <option>9</option> 
      <option value="10">10 Best</option> 
      </select><input name="submit1" type="submit" value="Submit Rating" />  
</form> 
EOF; 
+1

+1但更好的是,將這些'.'點改爲'''逗號,避免字符串連接:)當輸出整個事物時,不需要連接字符串。你可以一個接一個地輸出它們。 – Paulpro

+0

很確定''needs'<?php' and'?>'或者您只需添加一個字符串 – Sir