Запрещать кеширование не стоит. Чтобы принудительно заставить клиента обновить файлы, необходимо в конце подключаемого файла после знака вопроса задать другое окончание. Хорошей практикой считается указывать версию:
Для правильного вопроса надо знать половину ответа
В библиотеке mysql_ функции использовали последнее открытое подключение к базе как подключение по умолчанию.
В mysqli_ и PDO подключение необходимо указывать явно.
Отвечаю на 1 вопрос.
Договориться можно как угодно. Хоть на борзых щенков менять. Главное - должен быть заключен договор. Узнать что вы не врете просто - вы даете доступ к статистике.
Но только юные студенты соглашаются работать "за процент от еще несуществующей фигни".
Идеальной защиты нет.
И чем лучше защита тем дороже она вам будет обходится.
Есть два эффективных варианта -
Крупные компании в основном защищаются ограничением доступа к коду. Программист работает только с небольшим участком кода, и не представляет как там что устроено в других участках. На небольшом проекте такое очень сложно реализовать.
Можно ограничить коммуникации - никакого доступа в интернет на рабочем месте программиста, и отключенные флешки на компьютере.
На 99% у Вас нет там ничего такого, что можно было бы продать или невозможно было бы написать заново за ту же цену.
Кроме контактов клиентов, которые лежат в базе данных, и доступ к которой Вы ограничиваете.
$string = 'первое слово - второе слово';
$arr = explode(' - ',$string); //если у вас разделитель просто тире, а не как в примере, то убрать пробелы в ' - '
//в $arr[0] - первое слово, в $arr[1] - второе слово