PHP в MVC, создать ссылку динамически - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть несколько полей ввода в моем представлении. Я хочу, чтобы ссылка генерировалась динамически на основе ввода пользователя в эти поля.

Насколько я понимаю, обычно 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 Ответ

1 голос
/ 07 сентября 2011

Вам необходимо опубликовать пользовательский ввод на ваш сервер перед передачей в твиттер. Вы бы отправили свою форму на сервер, где вы настроили бы locationhold, затем вы настроили бы свой запрос на твиттер и отправляли информацию вместе с сервера, а не с клиента.

В качестве альтернативы вы можете использовать ajax для отправки необходимой информации для выяснения вашего locationhold на сервер после завершения ввода в форму, а затем ввести настроенный URL-адрес на стороне клиента формы, прежде чем пользователь отправит его в твиттер.

...