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
, что и повлекло беды с кракозябрами.