если сервер возвращает ошибку, то делается на стороне сервера. например ErrorDocument директива, либо в .htaccess
принудительный редирект с http на https можно сделать так
для поиска запрос вида SELECT fields FROM db_name WHERE field LIKE '$searchstring%' OR LIKE '$searchstring%' OR ...
где fields - список полей из БД по которым искать,
$searchstring - переменная из $_POST. Если к примеру у вас поле для поиска с именем str_srch (name="str_srch"), то $searchstring = mysql_real_escape_string($_POST['str_srch']);
в выражении LIKE процент после строки означает что искать с начала строки, если перед строкой '%$searchstring' то искать все что заканчивается на $searchstring. а если так '%$searchstring%' искать все что содержит строку $searchstring.
ну а вывод результатов поиска уже зависит от ваших нужд и пожеланий.
постраничную навигацию для поиска можете поискать по этому форуму, уже обсуждалось.
т.е. в результате у вас будет к примеру в файле search.php
нужно отделить все id от котлет и собрать в строку вида 1,7,9 (будет участвовать в IN)
и то что в фигурных скобках вывести отдельно в массив.
несколько туманно...
... в таблице запись 1{Andrea}|7{Amy}|9{John} выбрали.
далее нужно выбрать из другой таблицы записи с id 1,7,9 (к примеру получаем:
1, Farelly
2, Adams
3, Doe)
далее в цикле вывести эти записи, но так чтобы было соответствие
1, Andrea, Farelly
7, Amy, Adams
9, John, Doe