2011-09-06 146 views
0

我在我的視圖中有一些輸入字段。我想要根據用戶對這些字段的輸入動態生成鏈接。MVC中的PHP,動態創建鏈接

我的理解是,通常情況下,PHP不能在頁面呈現後更新,但出於某種原因,我認爲這是不同的MVC設置?

我的解決方案 - 基於這個假設 - 是在用戶輸入字段中存儲一個php變量。並在我的鏈接生成的地方調用該變量。

例如: 輸入字段,我要輸入的文本存儲到新的變量$locationhold

<dt><label for="location_area" class="required">Area</label></dt> 
    <dd><input type="text" name="location_area" id="location_area" value="<?php if($this->validation->location_area){ echo $this->validation->location_area; $locationhold=$this->validation->location_area; }else echo $property->location_area; ?>" class="required" /></dd> 

然後以某種方式召喚$locationhold並使其這個鏈接的一部分:

<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.mysite.com/item/listing/<?php echo $locationhold ?>" data-text="NEW POST!" data-count="none">Tweet</a> 

反正這不太有用,提示? <?php echo ?>被忽略。我的推文上寫着「新郵件!http://www.mysite.com/item/listing/」,而不是我想要動態追加到鏈接的其他信息。這可能是因爲在頁面呈現時,$ locationhold仍然是空的,但是如何保留用戶修改的值並獲得我正在尋找的結果

回答

1

您需要將用戶輸入發佈到您的服務器然後傳輸到Twitter。您可以將表單發佈到您的服務器,您將在其中配置locationhold,然後將您的請求配置爲twitter並從服務器而不是客戶端發送信息。

或者,您可以使用ajax提交必要的信息,以便在表單中完成輸入時向服務器確定您的locationhold,然後在用戶將其提交給Twitter之前將配置的URL注入表單客戶端。