CURLOPT_TIMEOUT => 0 даёт 0 секунд на всё про всё. Как насчёт поставить там что-нибудь ненулевое вроде, скажем, пяти?CURLOPT_TIMEOUT — Максимально позволенное количество секунд для выполнения cURL-функций.https://www.php.net/manual/ru/function.curl-setopt.php
page_id (string) — внутренний идентификатор страницы. Используйте page_id, чтобы разместить два и более независимых виджетов на одной странице.
Refresh: 0;url=http://site.site.ru/<!-- в <head> -->
<meta http-equiv="refresh" content="0;url=http://site.site.ru/" />window.location.replace("http://site.site.ru/"); <input ... name="idpupil[]">foreach ($idpupil as $pupil) { mysqli_query($link, "INSERT INTO yoqlama(idpupil,date,come,idteacher) VALUES ('$pupil', '$date', '$come', '$idteacher')"); }$prepared = mysqli_stmt_init($link);
mysqli_stmt_prepare($prepared, "INSERT INTO yoqlama(idpupil,date,come,idteacher) VALUES (?, ?, ?, ?)");
$pupil = 0;
mysqli_stmt_bind_param($prepared, 'isii', $pupil, $date, $come, $idteacher);
// 'isii' , если date — строка, а ID и come — целые числа ( https://www.php.net/manual/ru/mysqli-stmt.bind-param.php )
foreach ($idpupil as $id) {
$pupil = $id;
mysqli_stmt_execute($prepared);
}
mysqli_stmt_close($prepared);$_POST и вставлять в запрос. Хотя для внутреннего сайта школы, наверно, сойдёт, вряд ли там будет много хакеров. $db->num_rows должно содержать число строк в ответе на последний запрос, далее аналогично с остальными заменами … = str_replace("{tag}", $db->num_rows, …).… = str_replace("{tag}", $db->num_rows(), …) function get_body_classes_from_file(string $filename) {
$page = file_get_contents($filename);
if (!preg_match('#<body[^>]*>#', $page, $matches)) return [];
$body = $matches[0];
if (!preg_match('#(?<=\sclass=")[^"]*(?=")#', $body, $matches)) return [];
$class_prop = $matches[0];
$classes = array_filter(explode(' ', $class_prop));
return $classes;
}$body_classes = get_body_classes_from_file(__FILE__);
if (in_array('markerClass1', $body_classes)) {
// вывод для первой страницы
} elseif (in_array('markerClass2', $body_classes)) {
// вывод для второй страницы
} else {
// дефолт или ошибки разработчика, если нет обоих классов
} --skip-character-set-client-handshake, что и повлекло беды с кракозябрами.