Обрамляйте листинги тегами [php]
А зачем вы сначала загоняете строки в массив, а затем перебираете массив? Почему бы сразу на месте не сделать? Работать будет гораздо эффективнее.
Что вы пытаетесь записать в базу при каждой обработке скрипта - так же неясно.
login, так не верно. Вы пытаетесь вложить while в for. И можете тогда получить 10 копий того, что выдаёт while, но получите только 1 с $i=0 - на второй итерации у while условие сразу false будет. Верно так:
Если нужно, что $i менялся именно в диапазоне 0..9, то при приращении $i надо проверять $i = $i<10 ? $i++ : 0;
А если нужен id записи (зачем просто какой-то номер передавать другому скрипту - понять не могу ) - то лучше его брать из auto_increment поля БД.
Почему так? Наоборот, mysql_fetch_array надо вызывать на каждой итерации, как и сделал login, иначе получится mysql_num_rows копий одной и той же строки.
У вас сильно кончилась память, отведённая под РНР.
1) когда больше не нужны GD объекты, их удалять надо
2) вам же только габариты картинки узнать?
Используйте сразу getimagesize (http://php.su/functions/?getimagesize)
1 || 2 интерпретируется как (true или что-то) - сразу true;
ненулевое число в условии интерпретируется как true, (true == true) без проверки типа - истина
Нет, достаточно запросить скрипт как ?id=1%20or%201 и всё содержимое таблицы будет стёрто. (может, правда, слегка ошибаюсь в символах URL'a, но, главное смысл - передать в качестве id "1 or 1"). Аналогично можно выполнить вообще любую mysql команду.
Выводит 1 - потому что вы дважды пытаетесь сделать одно и то же.
сначала sqlite просите подсчитать строки, она считает, и возвращает как строку с единтвенным полем.
Но вместо того, чтобы посмотреть, что вам вернула sqlite, вы смотрите, сколько она при этом вернула строк!
в тег form в action="" впишите имя скрипта, который будет обрабатывать форму, method="post" лучше.
Ну а в обрабатывающем скрипте в массиве $_POST будут значения логина и пароля, отправленные со страницы.
Проверяете их на начальную валидность - чтобы не было лишних команд к mysql и проверяете запросом к mysql, валидные ли это логин-пароль. Если mysql отвечает положительно - то отдаёте контент, иначе - сообщение об ошибке или сразу редирект обратно к форме регистрации
Группой условий - если передано дефолтное значение или пусто (''), то в запрос не попадает. т.е. строку $query собираете по ходу.
Или я не понял, что делает этот код? Это же просто фильтр по параметрам?
PS: а зачем используется printf? Тут форматирование не нужно, echo или просто print более, чем достаточно.