2010-09-18 112 views
0

我有一個允許用戶從youtube輸入嵌入代碼的表單。在php中嵌入代碼

我也有一個編輯形式,這將允許用戶編輯嵌入代碼的尺寸(如寬度和高度:<object width="425" height="344"> ..)

我用

<textarea name="oldvideo" id="oldvideo"><?php echo embed; ?></textarea> 

然而,當我提交表單,並獲取編輯的嵌入代碼使用

echo $_POST['oldvideo']; 

我無法從textarea獲取嵌入代碼。

+0

請顯示您的代碼的更多示例 – 2010-09-18 15:18:58

+2

您可以編輯您的問題 – 2010-09-18 15:19:35

+1

刪除此評論,並重新編寫您的問題。您可以隨時在Stackoverflow上編輯您的問題。目前它不包含所有的人需要給你一個很好的答案的代碼或信息。 – 2010-09-18 15:19:45

回答

0

我想你只是需要echo htmlentities($embed);,否則你輸出舊的HTML片段原始<textarea>標籤之間,它只是被忽略。

+0

當我回聲$ _POST ['oldvideo'];它仍然不會顯示任何東西。 – anonymous 2010-09-18 15:32:46

+0

然後theres可能與您的表單有關的問題。沒有數據正在發送 – 2010-09-18 15:34:30

+0

@anonymous:做一個print_r($ _ POST);和一個print_r($ _ REQUEST)。如果兩者都沒有顯示,那麼問題就在別處。如果您不想顯示完整的代碼,請使用Firefox + Firebug進行調試。 – mario 2010-09-18 15:46:17

0

首先,您的表單設置正確嗎?爲了得到從$ _ POST數據,你必須有:

<form action="" method="post"> 
...your form goes here... 
<input type="submit" value="Whaver you want the button to say goes here"> 
</form> 

「行動」屬性是當用戶點擊提交按鈕,如果你把它定義爲空(「」),將加載的頁面那麼它會重新加載這個相同的頁面。

然後,如果你有你的表單元素,像這樣:

<textarea name="oldvideo" id="oldvideo"><?php echo $embedCode; ?></textarea> 

...那麼當用戶鍵入的東西到textarea的和點擊提交將被保存到$ _ POST [「oldvideo」]。

無論你保存在變量$ embedCode中,它只會被放在textarea中,因爲它是默認值,直到有人輸入其他東西。如果你不需要他們有一個默認值,那麼你可以離開它。

最後,你應該確保你的代碼是設置是這樣的...

if(isset($_POST['oldvideo']) { 
    $embedCode = $_POST['oldvideo']; 
    ...the rest of your code that makes use of the user-submitted value... 
} else { 
    $embedCode = "The Default Value for Embed Code Goes Here"; 
} 

如果您嘗試使用$ _ POST [「oldvideo」]沒有如果(isset()函數)塊內的推杆,那麼當你嘗試加載頁面時你會得到一個錯誤。

希望這會有所幫助,但如果您向我們提供有關您的問題的更多細節,它也會更容易幫助您!