не direct.php, а engine.php в коде ошибка здесь на сайте engine.php стоит. Проверял даже сейчас не работает.Что? Ничего не понятно... Кто куда и зачем стоит...
сайт рухнул из-за обновления алгоритма Яндекса где стало учитываться кол-во внешних ссылок со страницы сайта. Поэтому обратился сюда.Я про это вообще не спрашивал.
Суть такова что заменитель, подставляет в переменную внутреннего адреса внешний адрес, и дополнительно кодирует её в
$mytext=preg_replace(
'~(<a(?>.*?href))=(["\'])([a-z0-9]++://(?![a-z0-9\.]*?site\.ru).*?)\2~eSi',
'"\1=\"https://site.ru/direct.php?url=".base64_encode("$3")."\" target=\"_blank\"";', /*
очевидно что внутри этой строки base64_encode() работать не будет,
так как даже по подсветке кода видно, что строка там не конкатенируется,
а именно просто часть строки. Достаточно просто соблюсти правила разметки
кода, и немного внимательнее глянуть на код. Да и сама регулярка выглядит сомнительно...*/
$mytext
);?>
Вы вообще проверяли вашу регулярку? Как минимум два неэкранированных // точно мимо и ++ явно излишние... и вообще, зачем вы там ищете а хреф как часть паттерна? Вам же тупо нужно заменить один урл другим? Вы невнимательно прочитали вопрос.Это вы невнимательно прочитали ответ.
происходит редирект на страницуВ полученных данных вы увидите все что необходимо для решения вашей задачи. Далее нужно чуть подумать самостоятельно.https://ansver.ru/?bit=11&let=строка
Как мне получить в php ссылкуhttps://ansver.ru/?bit=11&let=строка
If you are inserting many rows from the same client at the same time, use INSERT statements with multiple VALUES lists to insert several rows at a time. This is considerably faster (many times faster in some cases) than using separate single-row INSERT statements. If you are adding data to a nonempty table, you can tune the bulk_insert_buffer_size variable to make data insertion even faster.
Не существуют плохие инструменты, но бывают кривые руки.Ммм, молодость и наивность, как мило...
...
$post4 = selectOne('kasko', ['id' => $_GET['edit_id']]);
var_dump($post4);
...
if($_SERVER['REQUEST_METHOD'] === 'POST'){
var_dump($_POST);
Дальше можно что-то понимать, но уже можно предположить что $post4 будет пустой, если в бд нет таких записей. пользователь редактирует запись, указывая идентификатор связанной таблицыпо большому счету это никак не относится к инъекциям. Чисто логика ролей.
да там нет ошибки в бд.Сильно сомневаюсь. То что его нет в выводе не значит что его нет вообще. 99% ошибка в данных и драйвер тупо молчит, так как ему не давали слова.
хорошо, но это не обьясняет почему возникает эта ошибка ) ведь она возникает не сразу, а примерно на половине обработанной базы. почему половину обрабатывает нормально, а потом вдруг ей перестает нравится ?Абсолютно бесполезно гадать почему, надо взять и посмотреть. Для начала добавить в ваш замечательный класс MySQLi команду для драйвера, позволяющую ему отдавать ошибки запросов:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
из под рута rm -rf /, а потом обратно...