посмотрел ваш код
по логике есть ошибка:у вас в цикле получаются изображения до тех пор, пока не будет загружено ошибочное.
это гарантированный перерасход системных ресурсов, и отказ в малом проценте случаев.
"Выбор записи где картинка"
запишите как выглядит этот ваш запрос?
если он возвращает первый рисунок из базы, то только его пользователь и увидет.
потому что ваши циклы будут завершатся после первого фейлового рисунка.
надо записать циклы так:
do
{
$k=rand(0,$mycnt);
$sp2=mysql_query("Выбор записи где картинка") or die(mysql_error());
$sp22=mysql_fetch_array($sp2);
$kktrue=validimg($sp22['img']);
}
while (!$kktrue)
И при этом не забыть возвращать из базы случацную картинку, а не первую попавшуюся
и еще один вопрос:я не увидел у вас нигде вывода в браузер.
он дальше?
или вы про него забыли, полагая что, что переменные в сессии будут автоматически появлятся и в клиенте.это не так, если что