Лишь потеряв все до конца мы обретаем свободу...
так вот! повторяю вопрос!

как сделать, чтобы когда анкету заполняешь, данные сохранялись в базу или отпралялись на ящик?.. и вообще как лучше сделать?

мне кинули статью, но я там чет не до конца поняла...

вот моя анкета (не полностью, т.к. там около 30 вопросов)

код





ну вот... примерно так...

@темы: Html, PHP

Комментарии
05.03.2007 в 22:17

как должно быть - пишешь вверху

<form action="/" method=post>

перед всеми Input'ами

в action прописываешь имя пхп файла, (того же самого)



потом где-нибудь в коде дописываешь обработку данных:

все данные будут доступны как переменные с именами, такими же, как имена input'ов (сделай им свойство name)



например, <input name=fio value=''> </input>. после нажатия на кнопу переменная будет доступна как $fio . Итак, ты получишь доступ ко всем значениям полей из формы, и сможешь их куда угодно пхнуть. самое простое - в файл. Пока попробуй выводить эти переменные на экран echo'ами
06.03.2007 в 11:07

Лишь потеряв все до конца мы обретаем свободу...
перед всеми Input'ами

в action прописываешь имя пхп файла, (того же самого)


для каждого поля создавать файл? или один? не поняла...



потом где-нибудь в коде дописываешь обработку данных:

все данные будут доступны как переменные с именами, такими же, как имена input'ов (сделай им свойство name)


ваще не поняла...
06.03.2007 в 12:05

Эх, блин ... вставлю я свои 5 копеек ...



все данные будут доступны как переменные с именами, такими же, как имена input'ов (сделай им свойство name)

Это работать не будет. Объясню почему. В файле конфигурации php есть директива register_globals. Она отвечает за доступность глобальных переменных. Так вот уже года два, как эта директива в сборке по умолчанию находится в стате Off по соображениям безопасности. И включать ее крайне(!) не рекомендуется.

То, о чем вы пишете - это тоже глобальные переменные, и именно поэтому работать не будут.

Для обращения к переменным передающимся скрипту есть несколько суперглобальных массивов: $_GET, $_POST и $_REQUEST, соответственно для переменных отправленных методом get, post либо любым из двух вышеперечисленных.

Таким образом имея в форме <input type="text" name="var"> обратиться к значению этого поля при использовании метода get можно так: $_GET["var"] либо $_REQUEST["var"]

Если вы спросите меня "почему просто не включить register_globals?" я расплачусь ...
06.03.2007 в 14:25

(8

дадада забыл, переменные сначала выдирать $fio=$_POST["fio"] если из формы и $_GET["fio"] если передавали в адресной строке... сам раз 500 напарывался, всё в привычку не войдет (8
06.03.2007 в 14:34

Лишь потеряв все до конца мы обретаем свободу...
хммм.... ребят! а что мне-то делать?..

(простите блондиночку за глупость...)
07.03.2007 в 01:01

Ну попробую таки заняться руководствописательством для начинающих. Поскольку вам, уважаемая Adrina_Lin!, лень прочитать это



Формы (краткий курс HTML)

Для отсылки данных для их последующей обработки необходимо объединить их в форму. Форма открывается и закрывается тегом form

<form>

...

</form>


1. Все поля, значения которых необходимо обработать должны находиться между этими тегами. Открывающий тег form имеет такие основные параметры:

method - описывает метод передачи данных из формы. Основные значения, которые вы будете использовать на начальном этапе post и get. Основным видимым отличием (в подробности углубляться не буду пока) будет то, что при использовании метода get все данные будут переданы в адресной строке (примерно таким образом http://www.site.com/?var1=value1&var2=value2) и их максимальная длинна составит 256 символов. При использовании метода post данные будут отправлены в заголовке запроса. Рекомендации по использованию того или иного метода будут очень сомнительными - много нюансов, которые начинающему и неинтересны будут. Но две основные все же дам. Используйте post, когда вам будет мало 256 символов и когда передаете пароль.

action - здесь указывается абсолютный либо относительный путь к скрипту, которым будут обработаны данные переданные формой.

Таким образом немного усложненная форма будет выглядеть так:

<form method="POST" action="act.php">

...

</form>


Данный код создаст форму, данные из которой будут отправлены методом post и обработаны файлом act.php, который находится в той же директории, что и файл данную форму сгенерировавший.

2. Поля ввода заключенные между тегами form.



Начнем с того, что все поля вода должны иметь атрибут name, по которому их значения и будут отработаны в скрипте, которому отсылаются данные. Таким образом к значению поля ввода <input name="var" ... > из обрабатывающего скрипта мы сможем обратиться используя такую конструкцию $_REQUEST["var"]



input - наиболее распространенное поле ввода; внешний вид очень сильно варьируется при использовании парметра type. Перечислю те из них, которые вам пригодятся на этапе освоения.

text - обычное поле ввода.

password - такое же поле ввода, но в нем все вводимые символы заменяются звездочками; используется для ввода паролей.

checkbox - флаги; позволяют отметить несколько выбранных вариантов. Флаги удобно обрабатывать, если полям одной смысловой группы давать одно имя вида name[], а не каждому свое, как-то name1, name2, name3 etc. В таком случае все значения флагов будут доступны в виде массива, если же работа с массивами вами пока не освоена, то использовать лучше второй вариант с уникальным именем.

radio - локализация данного названия пока под большим вопросом не столько у кодеров, сколько у лингвистов. Назовем его "радио". Данный элемент позволяет выбрать только одно поле из группы. В группу данные элементы объединяются автоматически при задании одного имени. Так к примеру

Укажите ваш возраст:

<input type="radio" name="age" value="1">18-25

<input type="radio" name="age" value="2">26-35

<input type="radio" name="age" value="3">36-45


Создаст группу переключателей, выбрать из которых возможно буде только один и никак иначе. Если в данном примере будет выбран второй, то в скрипт уйдет переменная с именем age значение которой будет равно 2 (значение value соответствующего поля).

submit - основной элемент формы. Кнопка, по нажатию на которую, данные отсылаются на сервер. Есть еще способы, но вы поа остановитесь на этом.

Следующий немаловажный атрибут тега input - value. Для стандартных полей ввода он определяет текст который будет находится в поле сразу после загрузки страницы, для типа submit он определяет надпись на кнопке (лушче не использовать по причинам нарушения юзабилити) и для типов checkbox и radio он определяет значения соотвествующих полей (здесь использовать обязательно).

Пример нескольких полей ввода:

Логин: <input type="text" name="login">

Пароль: <input type="password" name="password">

<input type="submit">


Такой блок создаст нам поля для ввода логина, пароля и кнопку для отсылки их на сервер.



Продолжим с порями ввода. Раскрывающийся список можно создать используя тег select. Требуемый атрибут, как и везде - name

<select name="list">

...

</select>


Каждый элемент списка описывается тегом option. Трубемый атрибут - value, с котором мы храним значение, которое будет отправлено на сервер. option имеет открывающий и закрывающий тег. Между ними указывается то, что будет отображено пользователю, как элемент списка.

Пример:

<select name="age">

<option value="1">18-25</option>

<option value="2">26-35</option>

<option value="3">36-45</option>

</select>


Создаст раскрывающийся список из трех элементов. После выбора второго на сервер будет отправлена переменная age со значением 2



Далее тег создающий текстовую область - textarea. Имеет открывающий и закрывающий теги. Атрибуты:

name - как обычно имя поля

cols - количество символов в строке

rows - количество строк



Базовой информации дя создания простейшей формы достаточно. Извиняюсь за бессистемное изложение, но это все уже настолько далеко от меня, что мне даже непонятно, какие вопросы будут волновать новичка в первую очередь, а талантом учить людей обладают очень немногие и я себя к ним не отношу.

Вторую часть, описывающую обработку данных формы на php напишу, если у вас возникнет желание ее читать и если информации предоставленой здесь вам, все еще будет мало.
07.03.2007 в 11:37

Лишь потеряв все до конца мы обретаем свободу...
HeatMiser

Поскольку вам, уважаемая Adrina_Lin!, лень прочитать это

а мне никто не давал читать ЭТО!



я умница и все законспектировала :goodgirl: :nail:

спасиба вам всем бальшое!!! :shuffle2:
07.03.2007 в 17:02

Adrina_Lin!

а мне никто не давал читать ЭТО! и слава богу есть более умные ресурсы.)))

Надеюсь скоро увидив Ваши творения , обращайтесь еще (:
08.03.2007 в 21:52

Лишь потеряв все до конца мы обретаем свободу...
канешна увидите!!! :) обязательно пришлю ссылочку!
09.03.2007 в 11:33

Лишь потеряв все до конца мы обретаем свободу...
у меня ничего не получаеца... :weep3: не работает ничего!!! :weep2: :teeth:
09.03.2007 в 11:36

Лишь потеряв все до конца мы обретаем свободу...
я тупая!!!!! :weep3:
09.03.2007 в 19:17

Adrina_Lin!

код в студию как всегда , посмотрим, оценим, поправим. (что хочется - код - что именно не работает)
12.03.2007 в 10:41

Лишь потеряв все до конца мы обретаем свободу...
я нашла учебник. там пример есть. попробовала, а он не работает...

<?php

$subj = "Запрос на информацию";

$text = "Уважаемый ".$_POST['name']."!

Спасибо за ваш интерес!

Вас интересуют ".$_POST['preference']."

Мы их распространяем бесплатно.

Обратитесь в ближайший филиал нашей компании и получите ящик этого продукта.";

mail($_POST['email'], $subj, $text);



$subj = "Поступил запрос на информацию";

$text = $_POST['name']." интересовали ".$_POST['preference']." email-адрес: ".$_POST['email'];

mail($adminaddress, $subj, $text);

?>



переменные тока переписала... но все равно не работает. выводит какую-то белиберду!

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail