<img>
, которые хостятся на серверах ВКонтакте. Когда юзер загружает эту картинку, то ВКонтакте с помощью cookies определяет ID пользователя и добавляет его в группу ретаргетинга. Затем этой группе можно будет показывать объявления.firstOrNew()
или firstOrCreate()
. Но они позволяют добавлять только по одной записи. См. Inserting & Updating Models > Other Creation Methods. <input type="text" name="subject">
$subject = isset($_POST['subject']) ? $_POST['subject'] : 'Заголовок письма, если поле не заполнили в форме на сайте';
$subject
выше:$subject = "$formData";
Кто-нибудь знает почему инпут с кнопкой смещены вниз и находятся не на одной линии с остальными элементами ?
<nav>
задан display: block
. Замените на display: inline-block
. Также уберите у формы float: right
и добавьте ей display: inline-block
.почему между кнопкой и инпутом расстояние, хотя padding 0 margin 0.
<input>
и <button>
- это inline-блоки. Поэтому между ними перенос строки браузер превращает в пробел. Вам поместить их в одну строку вот так:<input type="text" placeholder="Search on site" name="search" required><button type="submit">O</button>
id
подразумевает уникальность элемента, следовательно, на странице не может быть два элемента с одинаковыми ID. Метод VK.Widgets.Comments()
первым параметром принимает именно этот самый ID элемента. Вам надо сделать что-то вроде такого:<div id="vk_comments_1"></div>
<script type="text/javascript">
VK.Widgets.Comments("vk_comments_1", {redesign: 1, limit: 20, width: "1060", attach: "*"});
</script>
<div id="vk_comments_2"></div>
<script type="text/javascript">
VK.Widgets.Comments("vk_comments_2", {redesign: 1, limit: 20, width: "1060", attach: "*"});
</script>
VK.Widgets.Comments()
передать третий параметр с уникальным ID, иначе ВК будет в обоих виджетах отображать одинаковые комментарии. Например, у первого виджета можно поставить число 1
, а у второго - число 2
Что это такое и зачем это нужно я отвечал вот здесь: Как сделать чат из комментариев ВК? (см. комментарии к ответу). <script>
. После минификации имена переменных вашего кода будут нечитаемыми.<style>
, в атрибутах class
вашей разметки, а также заменит все совпадения имен классов в JavaScript. Таким образом, был у вас класс .home
, а станет .a
, .icon
превратится в .b
и т.д.<?php
function send($id, $message) {
$ch = curl_init();
$parameters = http_build_query([
'user_id' => $id,
'message' => $message,
'access_token' => 'fa0mfbc2b13c3104f48fd2g75e0a770b34119c89f0e16f75e1502f03e9346413c10b8ad428737496f5602',
'v' => '5.59'
]);
curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/messages.send');
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// Результат запроса к API
$result = curl_exec($ch);
curl_close($ch);
}
Обратите внимание — даже при использовании параметра offset для получения информации доступны только первые 1000 результатов.
document.getElementById()
, document
с window
и jQuery-объекты, типа $($('div'))
. <script src="https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit" async defer></script>
recaptchaCallback()
).var feedbackCaptcha;
var authCaptcha;
function recaptchaCallback() {
feedbackCaptcha = grecaptcha.render('feedback_captcha', {
'sitekey' : 'ваш_site_key',
'theme' : 'dark'
});
authCaptcha = grecaptcha.render('auth_captcha', {
'sitekey' : 'ваш_site_key'
});
}
recaptchaCallback()
, при вызове которой будут рендериться две капчи: одна в элементе #feedback_captcha
, а вторая - в #auth_captcha
. У первой капчи будет тёмная тема.<form>
<!-- тут какие-то поля для оставления отзыва о сайте -->
<div id="feedback_captcha"></div>
</form>
<form>
<!-- тут какие-то поля для авторизации -->
<div id="auth_captcha"></div>
</form>
grecaptcha.reset(authCaptcha)