Эм.. честно говоря, я не знаю как написать поподробнее. Может быть вот такой кусок кода поможет:
К примеру представим, что на выходе наша форма имеет 5 полей: Имя клиента, E-mail, Телефон, Код заказанного товара (или его название) и необязательное поле для сообщения.
Тогда вид нашей формы будет приблизительно такой:
<form name="sendOrder" action="post">
<input type="text" name="clientName" />
<input type="text" name="clientMail" />
<input type="text" name="clientPhone" />
<input type="text" name="clientOrder" />
<textarea name="clientMessage"></textarea>
<input type="submit" value="Submit Form" />
</form>
Значит при переходе на страницу, где у нас расположена эта форма, клиент должен видеть уже заполненое поле clientPhone.
Перед этим определимся, как у нас выглядит каталог (или просто место, откуда производится заказ):
а) это может быть просто ссылка с параметром (как я приводил пример постом выше, когда есть пара машин на главной);
б) это может быть каталог товаров, где передача данных происходит посредством отправки формы (тоже было в посте выше).
Для меня безразлично, как это будет реализовано у Вас, можно даже объединить оба варианта (опять же пример был дан выше). Смотрите сами, как Вам удобнее.
В варианте А мы будем получать данные посредством $_GET[], в варианте Б - посредством $_POST.
Я не буду углубляться во всевозможные проверки типа - не введен проверочный код защиты от спама, не заполнены необходимые поля, проверку на допустимые значения данных и т.п., лишь покажу саму суть ответа на Ваш вопрос.
Создадим сниппет с названием, скажем, sendOrder. Этот сниппет подразумевает, что все данные к нему должны приходить через форму, т.е. получать данные мы будем с помощью $_POST. Причем в этой форме передаваемый параметр должен быть с именем product. Сниппет можно легко модифицировать, если нужно передавать данные через строку браузера, тогда просто вместо POST надо написать GET. Итак, запишем в него следующий код:
//Сначала все-же сделаю одну необязательную проверку (нечто подобное стоит на www.rentalcar.lv)
if ($_POST["product"] == "") { //Если попытались зайти на форму прямо, минуя каталог, т.е. набрали в адресной строке что-то вроде http://www.yoursite.com/order/, тогда переменная естественно будет пустой, а мы отправим нахального юзера обратно к корню сайта...
$location = "Location: http://www.yoursite.com/";
header($location); //... с помощью функции header();
}
else {
$product = $_POST["product"]; //Если же переменная $_POST["product"] что-то содержит, запишем это значение в переменную $product
}
//Дальше все вообще элементарно - мы просто вписываем значение переменной $product для параметра value поля ввода clientOrder.
$output = "
<form name=\"sendOrder\" action=\"post\">
<input type=\"text\" name=\"clientName\" />
<input type=\"text\" name=\"clientMail\" />
<input type=\"text\" name=\"clientPhone\" />
<input type=\"text\" name=\"clientOrder\" value=\"".$product."\" />
<textarea name=\"clientMessage\"></textarea>
<input type=\"submit\" value=\"Submit Form\" />
</form>
";
//В итоге возвращаемая переменная $output будет содержать строковое значение HTML формы, где уже будет заполнено значение аттрибута value для поля ввода clientOrder.
return $output;
Да, конечно, Вы должны еще будете на странице заказа вызвать сам сниппет как [!sendOrder!] Заметьте, сниппет должен быть НЕкешируемый.
Конечно, это очень упрощенная запись, в результате его работы будет просто выведена форма с одним предварительно заполненным полем clientOrder. В "полевых" же условиях понадобится добавить к сниппету возможность отправки данных на мейл с помощью функции mail() или, если еще усложнить себе жизнь, сохранять заказы в БД и сделать дополнительно панель управления заказами для администратора.. Но это уже в дальнейшем. EForm, судя по его названию, наверняка как раз отправляет данные на мейл админу, в Ваших же руках доработать этот сниппет, чтобы он делал то, что Вам нужно

. Удачи!