Как связать две формы html
Перейти к содержимому

Как связать две формы html

  • автор:

Работа с формами

Одно из главнейших достоинств PHP — то, как он работает с формами HTML. Здесь основным является то, что каждый элемент формы автоматически становится доступным вашим программам на PHP. Для подробной информации об использовании форм в PHP читайте раздел Переменные из внешних источников. Вот пример формы HTML:

Пример #1 Простейшая форма HTML

 

В этой форме нет ничего особенного. Это обычная форма HTML без каких-либо специальных тегов. Когда пользователь заполнит форму и нажмёт кнопку отправки, будет вызвана страница action.php . В этом файле может быть что-то вроде:

Пример #2 Выводим данные формы

Здравствуйте, .
Вам лет.

Пример вывода данной программы:

Здравствуйте, Сергей. Вам 30 лет.

Если не принимать во внимание куски кода с htmlspecialchars() и (int) , принцип работы данного кода должен быть прост и понятен. htmlspecialchars() обеспечивает правильную кодировку «особых» HTML-символов так, чтобы вредоносный HTML или Javascript не был вставлен на вашу страницу. Поле age, о котором нам известно, что оно должно быть число, мы можем просто преобразовать в int , что автоматически избавит нас от нежелательных символов. PHP также может сделать это автоматически с помощью модуля filter. Переменные $_POST[‘name’] и $_POST[‘age’] автоматически установлены для вас средствами PHP. Ранее мы использовали суперглобальную переменную $_SERVER , здесь же мы точно так же используем суперглобальную переменную $_POST , которая содержит все POST-данные. Заметим, что метод отправки (method) нашей формы — POST. Если бы мы использовали метод GET, то информация нашей формы была бы в суперглобальной переменной $_GET . Кроме этого, можно использовать переменную $_REQUEST , если источник данных не имеет значения. Эта переменная содержит смесь данных GET, POST, COOKIE.

В PHP можно также работать и с XForms, хотя вы найдёте работу с обычными HTML-формами довольно комфортной уже через некоторое время. Несмотря на то, что работа с XForms не для новичков, они могут показаться вам интересными. В разделе возможностей PHP у нас также есть короткое введение в обработку данных из XForms.

User Contributed Notes 3 notes

19 years ago

According to the HTTP specification, you should use the POST method when you’re using the form to change the state of something on the server end. For example, if a page has a form to allow users to add their own comments, like this page here, the form should use POST. If you click «Reload» or «Refresh» on a page that you reached through a POST, it’s almost always an error — you shouldn’t be posting the same comment twice — which is why these pages aren’t bookmarked or cached.

You should use the GET method when your form is, well, getting something off the server and not actually changing anything. For example, the form for a search engine should use GET, since searching a Web site should not be changing anything that the client might care about, and bookmarking or caching the results of a search-engine query is just as useful as bookmarking or caching a static HTML page.

13 years ago

Also, don’t ever use GET method in a form that capture passwords and other things that are meant to be hidden.

Как связать две формы html

Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2006

Репутация: нет
Всего: нет

Граждане! Ситуация следующая.

Хочу связать две формы так, чтобы, кликая по кнопке на первой форме появлялась вторая (а первая исчезала), и наоборот, кликая по кнопке на второй, появлялась первая (исходная).

Работаю в MS Visual Studio 2005. Создаю новый проект CLR -> Windows Form Application. Далее добавляю новую форму: Project -> Add new item -> UI -> Windows Form. В «Form1.h» подключаю файл «Form2.h»

Код
#pragma once
#include «Form2.h»

Аналогично поступаю и с «Form1.h»:

Код
#pragma once
#include «Form1.h»

В чистом виде компилирует без проблем.

Создаю кнопку на Form1. И делаю так:

Код
static Form2 ^myForm = gcnew Form2();

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) myForm->Show();
>

Появляется такая гадость:

Код
1>—— Build started: Project: 2, Configuration: Debug Win32 ——
1>Compiling.
1>Form2.cpp
1>g:\с\2\Form1.h(87) : error C2143: syntax error : missing ‘;’ before ‘^’
1>g:\с\2\Form1.h(87) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
1>g:\с\2\Form1.h(87) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
1>g:\с\2\Form1.h(87) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
1>g:\с\2\Form1.h(87) : error C3845: ‘My2::Form1::myForm’: only static data members can be initialized inside a ref class or value type
1>g:\с\2\Form1.h(90) : error C2065: ‘myForm’ : undeclared identifier
1>g:\с\2\Form1.h(90) : error C2227: left of ‘->Show’ must point to class/struct/union/generic type
1> type is »unknown-type»
1>2.cpp
1>Generating Code.
1>Build log was saved at «file://g:\С\2\Debug\BuildLog.htm»
1>2 — 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Подскажите, перелазил все, что нашел. В МСДН’е толком ниче не написано.

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20

6oTuHok,
Признавайся, шпиён, на каком языке программируешь?

Цитата(6oTuHok @ 16.12.2006, 00:01 )
staticForm2 ^myForm = gcnew Form2();
Цитата(Voldemar2004 @ 13.12.2006, 15:17 )
#define begin <
#define end; >

Добавлено @ 21:43
Мда Managed C++ — это даже хуже чем то что написал Вольдемар
http://ruwiki.com/article/Managed_C_Plus_Plus

Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2006

Репутация: нет
Всего: нет

Цитата(En_t_end @ 15.12.2006, 21:29)
Признавайся, шпиён, на каком языке программируешь?

Про CLR я много читал, но. Конкретные примеры нигде не нашел! В Delphi было все проще. А здесь чета ваще никак ниасилю((

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20

Цитата(6oTuHok @ 16.12.2006, 12:19 )
Про CLR я много читал, но. Конкретные примеры нигде не нашел!

Это конечно оффтоп, но возможно тебе поможет. Ты уверен, что тебе нужен именно Managed С++ ?- вещь препоганная , и увы это не только мое мнение. Visual C++ — это не язык. Это не тоже самое, что Visual Basic(чтобы не было путаницы). Visual C++ — это совокупность компонентов(а также некоторых протоколов, читай договорённостей) системы Visual Studio позволяющих создавать приложения на языке C++. Поясню. ты пытаешься создать управляемый код, работающий под управлением .NET Framework. Реши для себя надо тебе или нет делать это ? Ты можешь создавать обычные MFC,ATL,Win32 приложения в VISUAL Studio 2005, так что Managed C++ — не единственный выход программировать на С++ в этой IDE.
Ну если тебе действительно надо программировать именно на Managed C++(если честно, то сожалею) то ИМХО сюда http://forum.vingrad.ru/dotNET-forum.html

Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 2
Всего: 149

Цитата(En_t_end @ 16.12.2006, 10:42 )
Managed С++ ?- вещь препоганная

Атрибут form

Атрибут form связывает элемент формы с тегом form .

Это нужно в том случае, когда элемент формы лежит вне тега form, но должен быть отправлен на сервер вместе с содержимым этого тега form .

К примеру, у вас есть кнопка submit , но по дизайну она находится совсем в другом месте страницы. В этом случае атрибут form решит проблему: кнопке задаем этот атрибут, указывая в нем значение атрибута id от нужного тега form . После данных манипуляций кнопка станет отправлять привязанную форму.

Можно привязывать не только кнопки, но и любые другие элементы формы.

Пример

В следующем примере кнопка находится вне поля, но связана с ним через атрибут form :

Просим обратить внимание: техническая поддержка Tilda Publishing не осуществляет поддержку связанную с работой кода

1) В Zero block создаем форму и добавляем нужные нам поля.

2) Добавляем код в блок T123. Код 1 для двух колонок, код 2 для трех колонок.

3) В коде заменяем .tn-elem__986 168 601 554 888 163 328 на class формы из Zero block.

Если нужно чтобы кнопка была по центру формы, добавляем код 3, заменив в нем class формы из Zero block.

Если нужно что бы на экранах 960px и меньше была стандартная форма, в одну колонку, применяем код 4.

Формы в 2 или 3 колонки в Zero Block
Код 1: на 2 колонки

   .tn-elem__986168601554888101247 .t-form__inputsbox < display: flex; flex-flow: row wrap; justify-content: space-between; align-items: flex-start; >.tn-elem__986168601554888101247 .t-input-group < flex: 50% 0 0; padding: 0 15px; box-sizing: border-box; >.tn-elem__986168601554888101247 .tn-form__submit 

Код 2: на 3 колонки

   .tn-elem__986168601554888101247 .t-form__inputsbox < display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: flex-start; >.tn-elem__986168601554888101247 .t-input-group < flex: 33.33% 0 0; padding: 0 15px; box-sizing: border-box; >.tn-elem__986168601554888101247 .tn-form__submit 

Код 3: ставит кнопку формы по центру

   .tn-elem__986092821554888101247 .tn-form__submit 

Код 4: для экранов меньше 960px будет стандартная форма

     

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *