#html #laravel
#HTML #laravel
Вопрос:
В моем проекте Laravel я создал поле ввода, в котором в качестве входных данных будет указана ссылка facebook account. Этот ввод будет сохранен в базе данных. Затем я создаю объект этой таблицы и использую ссылку в теге. я ожидал, что это приведет меня к указанной ссылке facebook account. Но он создает маршрут, подобный этому /link. Как я могу это решить.
Этот код предназначен для поля ввода
<div class="form-group col-md-12">
<label for="name" class=" form-control-label">
Facebook ID
<span class="reqfield">*</span>
</label>
<input type="text" id="fb_link" placeholder="Facebook ID" class="form-control" name="fb_link" required value="{{$data->fb_link}}">
</div>
И этот код предназначен для отображения ссылки:
</li><li><a href="{{$setting->fb_link}}"><span class="fa fa-play"></span>Facebook</a>
Файл находится здесь
Комментарии:
1. Как выглядит ваш код?
2. @finiteloop Я только что добавил код.
3. Что происходит на вашем контроллере или в View composer, когда вы dd ($setting-> fb_link), где это установлено перед возвратом вашего представления?
4. Что
dd($setting->fb_link)
печатается? Добавьте код в свой вид и добавьте вывод, который вы видите на своем экране5. @OMiShah dd($setting->fb_link ) выводит localhost:8000/facebook.com . Хотя ввод был только facebook.com
Ответ №1:
Это делает клиентский браузер. Ничего общего с Laravel или blade
Если ссылка href не начинается с протокола, то предполагается, что она локальна для текущего сайта.
Вам нужно проверить ссылку, когда она вам предоставлена, и если она начинается с http:// ot https://, то оставьте ее в покое, в противном случае добавьте http: // к URL-адресу, прежде чем сохранять его в базе данных.
Принудительно введите URL в нижний регистр, прежде чем проверять, указали ли они HTTP:// или даже hTTp://
Ответ №2:
Это потому, что в вашем URL отсутствует PROTOCOL
( http
, https
и т.д. )
Вам необходимо добавить действительный protocol
URL-адрес перед сохранением в базе данных или в вашем представлении.
Пример, на ваш взгляд:
</li><li><a href="http://{{$setting->fb_link}}"><span class="fa fa-play"></span>Facebook</a>
Вы также можете использовать метод проверки встроенности Laravel, чтобы проверить, является ли
введенный пользователем URL-адрес действителен или нет. Проверьте https://laravel.com/docs/7.x/validation#rule-url