Скопируйте код целиком, и запустите в браузере. После тестирования вам станет понятен принцип его работы, и тогда подправите в коде ссылки, а так же искомые и заменяемые значения (всё прокомментировано):
UPD: "без BOM" -- файл в правильной кодировке? Тогда проверьте, что бы перед открывающим пхп-тегом "<?php" не было никаких символов (даже пробелов), и что бы он находился на самой первой строке.
Да спасибо. Ругается к слову на первые тэги php, но стоит без BOM метки. Так, что я не много в ступоре.
Всё, что вам осталось сделать, так это преобразовать кодировку вашего пхп файла в UTF-8 без BOM. Сделать это можно например, в простом редакторе Notepad++
как можна создать ссылку, подставляя параметры из адресной строки и из формы?
Одним запросом передать сразу пост и гет? Это не возможно. Или пост (по нажатию на кнопку), или гет (по клику по ссылке). А зачем вам сразу два метода одновременно? Ссылку сгенерировать можно любым из них.
Два значения берутся из формы и указывают разделы в будущей ссылке, и два значения берутся из адресной строки, передаются как параметр (после "&") для отображения в статистике.
Ну тогда надо значения, принятые первыми (из формы), где то хранить, т.к. после приёма значений из адресной строки, ранее принятые значения из формы будут сброшены.
Строитель Весь обработчик получился слишком сложный и я (уже), уверен, что не правильная работа связана из-за неправильного построения функций. Я мог бы скинуть весь код, но я не уверен, что кто-то захочет в нем копаться.
Ну, тогда хотя бы убедитесь, что старт буферизации у вас прописан ДО начала какого либо вывода в браузер.
как можна создать ссылку, подставляя параметры из адресной строки и из формы?
Одним запросом передать сразу пост и гет? Это не возможно. Или пост (по нажатию на кнопку), или гет (по клику по ссылке). А зачем вам сразу два метода одновременно? Ссылку сгенерировать можно любым из них.
Nizz, а вы уверены, что именно в этом файле выполняется ваш код? Может быть выше по коду есть другие конструкции включений (инклуды)? И ещё, посмотрите в файле конфигурации вашего сервера, включена ли буферизация вообще?
В php.ini найдите строку:
output_buffering 1
Если вместо 1 там стоит 0, то замените его на 1.
Если перед output_buffering стоит точка с запятой ";", то удалите её. (Добавление) Nizz, и ещё не помешало бы посмотреть, как именно вы записываете код, и куда. (Добавление)
Кстати, в конце этого текста с ошибкой PHP Warning: Cannot modify header information - headers already sent by должен быть указан номер строки - напишите мне, что прописано в строке вашего файла, соответствующей номеру из сообщения об ошибке.
zapatronen, я думаю, что у вас не много не правильно организована логика скрипта в теле функции. Давайте уточним, что вам необходимо? Прочитать какую-то директорию, и вывести список картинок в виде текста (в виде названий файлов)?
прочитать директорию,
если там есть изображение, то выводить одно любое
если директория пуста то выводить картинку, которая говорит "что фото товара нету"
Посмотрите на результат этого примера (расширения искомых файлов, при необходимости, подправьте на свои)
(Добавление) zapatronen, вообще было бы правильнее в пользовательской функции возвращать или массив с названиями файлов (в случае успешного поиска), или false (в случае отсутствия совпадений). И тогда функция примет такой вид:
zapatronen, я думаю, что у вас не много не правильно организована логика скрипта в теле функции. Давайте уточним, что вам необходимо? Прочитать какую-то директорию, и вывести список картинок в виде текста (в виде названий файлов)?
а в документации говорится, что scandir() возвращает типы array или false. (Добавление)
Судя по наличию синтаксических ошибок, можно сделать вывод, что вы пишете код в простом блокноте. Если это так, то установите любую интегрированную среду разработки (IDE), и подобные ошибки вы будете выявлять самостоятельно, в процессе написания кода.
Ну правильно. Она и должна отрабатывать до начала любого вывода в браузер. Если очень хочется переместить её вызов ниже (т.е., после какого либо вывода), то используйте буферизацию вывода.
На счёт return - эта конструкция завершает выполнение скрипта в текущей области видимости. Её можно сравнить с конструкцией exit -- отличие только в том, что exit прерывает работу всего скрипта целиком.