Вот я какой БЫЛ.
А сейчас какой?
Вопрос: КАК ВЫ ПОНИМАЕТЕ ЭТУ КАРТИНКУ?
А что не так с этими клумбами?
А у нас сейчас солнышко светит.
Ужас. У нас 2 недели жарило под 37 градусов тепла. Сегодня дождичек был, я прямо балдел.
Рубель - форум об интернет заработке. |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Рубель - форум об интернет заработке. » Компьютер и программы » Вчера дегустировал свежее ядро
Вот я какой БЫЛ.
А сейчас какой?
Вопрос: КАК ВЫ ПОНИМАЕТЕ ЭТУ КАРТИНКУ?
А что не так с этими клумбами?
А у нас сейчас солнышко светит.
Ужас. У нас 2 недели жарило под 37 градусов тепла. Сегодня дождичек был, я прямо балдел.
А сейчас какой?
А что не так с этими клумбами?
Ужас. У нас 2 недели жарило под 37 градусов тепла. Сегодня дождичек был, я прямо балдел.
Сейчас я 100% не такой как вчера ;%))
---
Клумбы были куплены по очень завышенным ценам. И уже рассыпались. Если присмотреться к ним то видно, что они покусаны.
Ну а миски алюминиевые кажись дают за решётками. <= Тоже не понятно(?)
Я про хостинг. )))
ааа, это как? Я на гх уже 100пудово не буду хоститься (или хостериться). ну их...
Чиновники часто так делают, покупают дешёвые вещи по громадной цене. За такое да, сажать должны. Полиции надо работать лучше.
Бегать любишь? У нас такая жара, что даже мусор вынести страшно, пока идёшь вся вспотеешь.
Гиперхост тебе не нравится?
вот так вот
Ну если паузу ставить, то разобраться можно.
Ну если паузу ставить, то разобраться можно.
паузу... хм-м... но ведь лучше смотреть на скорости х2.
В процедурщине там полный абсолютный ипец. А в оопе
//применить скин case 7: $skinid = $_POST['skinid']; $ref=$_POST['ref']; if(!$vld->is_post_vars_set($skinid,$ref)){ $rd->rd2_404(); //позже блокировать } $vld->is_post_id_valid($skinid); //позже блокировать $q = 'select skinid from skin where skinid=?'; if(!Sql::is_int_in_tbl($q, $skinid)){ $e->er(44); //НЕТ СКИНА } OneSkin::set_skin(); //ВСЁ? неа не всё. //теперь всё. иду спать. break; // + к этому методы из класса public static function set_skin() { $ust = new UserStatus(); $rd = new Redirect(); //незалогин - устан в сессии и всё if (!$ust->is_user_loged()) { OneSkin::set_skin_in_session(); $rd->go_2url($_POST['ref']); } else { //шобы не было ложной ошибки при обновлении уже установл скина if ($_SESSION['skinid_usopt'] == $_POST['skinid']) { $rd->go_2url($_POST['ref']); } OneSkin::set_skin_for_loged_user(); OneSkin::set_skin_in_session(); $rd->go_2url($_POST['ref']); } } private static function set_skin_in_session() { $_SESSION['skinid_usopt'] = $_POST['skinid']; } private static function set_skin_for_loged_user() { $e = new Err(); $ddb = $_SESSION['ddb']; $q = 'update usopt set skinid_usopt=? where uid_usopt=?'; $rawdata = $ddb->prepare($q); $qr = new Qresult(); $qr->prep($rawdata); $res = $rawdata->bind_param('ii', $_POST['skinid'], $_SESSION['uid']); $qr->bindpar($res); $res = $rawdata->execute(); $qr->exec($res); $x = $qr->affrow($rawdata); $rawdata->close(); if ($x != 1) { $e->er(47); //не удалось сменить скин } }
А вот чыто в процедурщине было
/**
* установить скин и обновить каунтеры
* баг!!! ВОЗМОЖНА ПОВТОРНАЯ УСТАНОВКА СКИНА И +1 КАУНТЕР СКИНОВ
* ОБНАРУЖЕН 2017-02-25
* решение: сделать перезагрузку профиля, чтобы в сессии был реальный скин
* @param $ddb конект к бд
* @param $skinid
* @return
*/
function set_skin($ddb, $skinid) {if (isset($_SESSION['uid'])) {
//2017-02-26 перезагрузить профиль, чтобы не было проблем с рачетом скин_каунтеров
load_us_profile($ddb, $_SESSION['uid'], "r");//если залогинен, обновить скинИДЩ в usopt
//но сначала проверить может меняют один и тот же скин
if ($_SESSION['skinid_usopt'] == $skinid) {
//если меняют тот самый скин, редирект, потому что скин тот же самый
header("Location: /newskins-pg1/");
// header("Location: /show.php?wsh=8&pg=1");
exit;
//и таким способом не будет лишних запросов
}//
//обновить и расчитать каунтеры и тоже их обновить
$q = 'update usopt set skinid_usopt=? where uid_usopt=?';$rawdata = mysqli_prepare($ddb, $q);
qres('prep', $rawdata, $ddb);
//связываем параметры с метками$res = mysqli_stmt_bind_param($rawdata, 'ii', $skinid, $_SESSION['uid']);
//привязка параметров
qres('bindpar', $res, $ddb);
$res = mysqli_stmt_execute($rawdata); //query exec
qres('exec', $res, $ddb);
$x = affrow($rawdata, $ddb);
mysqli_stmt_close($rawdata);
//$x сколько строк обновлено
if ($x != 1) {
//не удалось обновить: сообщить об этом
er(47);
//не вдалось змінити тему оформлення
}//получить ДВА скин_каунтА скинов
$q = 'SELECT min(CASE skinid WHEN ? THEN skin_count END) oldskcount, min(CASE skinid WHEN ? THEN skin_count END) newskcount FROM skin';
//первая колонка - теуущий (то есть тот что БЫЛ. Выше я уже "поменял" скин)
//вторая колонка - новый
$rawdata = mysqli_prepare($ddb, $q);qres('prep', $rawdata, $ddb);
//связываем параметры с метками$res = mysqli_stmt_bind_param($rawdata, 'ii', $_SESSION['skinid_usopt'], $skinid);
//2017-02-25
//сессСкинИД=1 (НЕапктуальный), СкинИД=3 (постЗначение)
//ВОТ ТУТ И СЛУЧИЛАСЬ ОШИБКА
//
//привязка параметров
qres('bindpar', $res, $ddb);
$res = mysqli_stmt_execute($rawdata); //query exec
qres('exec', $res, $ddb);
$x = numrow($rawdata, $ddb);
//$x сколько строк вернул селект
//
//$x=3;
if ($x != 1) {
mysqli_stmt_close($rawdata);
crit_err($ddb, 'q. ret. not 1 record in send:7 get too skin_counters in set_skin');
//2017-02-27
//при возникновении этой ошибки повторное обновление страницы обновляет скин
//в usopt но не обновляет каунтеры.
//при повторном обновлении страницы СессСкинИД уже будет изменен перезагрузкой профиля вначале фунции.
//И так как Скин будет один и тот же, исполнение кода до каунтеров не дойдет.
//Ошибки после повторного обовления страницы не будет.
//
//НО каунтеры не обновятся при первой смене скина. Применить транзакцию?
}//связываем переменные с результатами запроса
$res = mysqli_stmt_bind_result($rawdata, $oldsk_count, $newsk_count);
qres('bindres', $res, $ddb);
$res = mysqli_stmt_fetch($rawdata);
qres('fetch', $res, $ddb);
mysqli_stmt_close($rawdata);//echo "$oldsk_count | $newsk_count";
//echo '<br>';
$oldsk_count = $oldsk_count - 1;
//2017-02-25
//0 был потому что в бд скинкаутер только +число
//
//нужно вначале вытягивать реально используемый скин из usopt
$newsk_count = $newsk_count + 1;//echo "old $oldsk_count | new $newsk_count";
//var_dump($_SESSION);
//записать новые значения скин_каунтов
$q = 'update skin set skin_count=? where skinid=?';
$rawdata = mysqli_prepare($ddb, $q);
qres('prep', $rawdata, $ddb);
//связываем параметры с метками$res = mysqli_stmt_bind_param($rawdata, 'ii', $oldsk_count, $_SESSION['skinid_usopt']);
//сначала обновить тот что былqres('bindpar', $res, $ddb);
$res = mysqli_stmt_execute($rawdata); //query exec
qres('exec', $res, $ddb);
//echo "old $oldsk_count | new $newsk_count";
//потом обновить каунт того что установили
$res = mysqli_stmt_bind_param($rawdata, 'ii', $newsk_count, $skinid);
//сначала обновить тот что былqres('bindpar', $res, $ddb);
$res = mysqli_stmt_execute($rawdata); //query exec
qres('exec', $res, $ddb);
mysqli_stmt_close($rawdata);
}//если залогинен
//
//установить сесс переменную и редирект на первую страницу всех скинов.
$_SESSION['skinid_usopt'] = $skinid;
header("Location: /newskins-pg1/");
// header("Location: /show.php?wsh=8&pg=1");
exit;
//ВСЁ!
return;
}+еще
/**
* Запсись о скине существует в бд? Если нет то ошибка 44 или crit_err
* Если есть, то return TRUE
* @param $ddb конект к бд
* @param $skinid
* @return true OR er44
*/
function is_skin_exist($ddb, $skinid) {
$q = 'select skinid from skin where skinid=?';
$rawdata = mysqli_prepare($ddb, $q);qres('prep', $rawdata, $ddb);
//связываем параметры с метками$res = mysqli_stmt_bind_param($rawdata, 'i', $skinid);
//привязка параметров
qres('bindpar', $res, $ddb);
$res = mysqli_stmt_execute($rawdata); //query exec
qres('exec', $res, $ddb);
$x = numrow($rawdata, $ddb);
//$x сколько строк вернул селект
///////////////////////////////
mysqli_stmt_close($rawdata);
//$x=1;
if ($x == 0) {
//теми овормлення не знайдено
er(44);
//exit;
} elseif ($x == 1) {
return(TRUE);
} else {
// $x !=0 $x!=1
crit_err($ddb, 'err in check_skin_exist x !=0 and != 1');
}
}
А ТЕПЕРЬ ВОПРОС: ГДЕ ПРОЩЕ ДОПУСТИТЬ ОШИБКУ И ГДЕ ЛЕГЧЕ ЕЕ ИСПРАВИТЬ?
И ЕЩЕ ВОПРОС: ГДЕ СЛОЖНЕЕ ДОПУСТИТЬ ОШИБКУ И ГДЕ ТРУДНЕЕ ЕЕ ИСПРАВИТЬ?
Та я понимаю что вопрос немножко (вообще) не по адресу, но... вдруг кто-то чё-то ...
Отредактировано alsk (10-07-2021 11:36:23)
Я ничего не понял.
Я ничего не понял.
Та я понимаю что вопрос немножко (вообще) не по адресу, но... вдруг кто-то чё-то ...
Значит не нужно понимать, значит мне тут нечего больше делать.
Старый код проще читать. Хотя мне и то, и то, сложно.
Вы здесь » Рубель - форум об интернет заработке. » Компьютер и программы » Вчера дегустировал свежее ядро