Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 1
Регистрация: 14.12.2011
Сообщений: 134

Обработчик формы

05.04.2012, 16:29. Показов 4312. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.У меня такой вопрос,как зделать так чтобы пользователь вводил данные в форму,а результат сразу добавлялся в БД?Я для примера набросал,как должна выглядеть форма,а как к данному примеру должна выглядеть та часть кода,отвечающая за добавлении инфы?Подскажите плиз!
HTML5
1
2
3
4
5
6
7
8
9
<form action = "clients.php" method ><br>
 
        <i>Введите Ф.И.О:</i><br>
        <input type = "text" name = "name" size = "30" maxlength = "150" value = ""><br>
        <i>Ваш Email:</i><br>
        <input type = "text" name = "email" size = "30" maxlength = "100" value = ""><br>
        <input type = "submit" size = "9" value = "отправить">
        <input type = "reset" size = "9" value = "очистить"  >
</form>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2012, 16:29
Ответы с готовыми решениями:

Обработчик формы
Всем привет! Прошу помочь с обработчиком формы. Нашел какой то простенький скрипт в инете попытался его переделать и ничего не вышло. ...

Обработчик формы
Есть код отправки сообщения $mail = &quot;anami@satellitcom.tk&quot;; $to = &quot;.$email.&quot;; $headers = &quot;Content-type: text/plain; charset =...

обработчик формы
Как без базы данных создать данные для входа в админблок? Есть вот такая простая форма, и надо чтобы можно было в админку входить через...

14
 Аватар для mus
52 / 51 / 19
Регистрация: 22.03.2009
Сообщений: 173
05.04.2012, 16:56
В самом простом случае без дополнительных проверок на правильность ввода обработчик может выглядеть примерно так.

укажите метот отправки формы в данном случае POST ( для примера)
HTML5
1
<form action = "clients.php" method="post" ><br>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php 
 \\ если мы передали данные  то присваиваем значение новой переменной
if (isset($_POST['name'])){$name = $_POST['name'];}  
if (isset($_POST['email'])){$email = $_POST['email'];} 
 
if (empty($name) or empty($email))  \\ на всякий случай проверим ввели ли данные в форме
{
    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля. <input name='back' type='button' value='Вернуться назад' onclick='javascript:self.back();'>");
}
// если все хорошо то заносим в базу ( при условии что соединение уже установлено )
else 
{
$query="INSERT INTO fio (name,email) VALUES ('$name','$email')";
$result = mysql_query ($query);
 
if ($result=='true') // на всякий случай проверим успешность записи в базу
{
echo "данные занеслись";}
else {echo "ошибка при занесении".mysql_error();}
1
0 / 0 / 1
Регистрация: 14.12.2011
Сообщений: 134
05.04.2012, 19:22  [ТС]
Я ввёл выше указаный код и у меня появились такие ошибки,как исправить?

Вы ввели такие данные
ошибка при занесенииTable 'clients.f_i_o' doesn't exist
А так я указал куда записывать инфу
PHP
1
$query="INSERT INTO f_i_o (name,email) VALUES ('$name','$email')";
Миниатюры
Обработчик формы  
0
 Аватар для mus
52 / 51 / 19
Регистрация: 22.03.2009
Сообщений: 173
05.04.2012, 20:00
Ошибка говорит "таблица f_i_o не существует".
данный запрос имеет структуру: вставить (insert to ) в таблицу фио в поля name и email переменные $name и $email

в Вашем случае, судя по скриншоту, нужно изменить с f_i_o на clients, тут указывается таблица, в которую заносим данные.

Советую почитать про Mysql запросы, основную структуру, подобные ошибки отпадут.
1
0 / 0 / 1
Регистрация: 14.12.2011
Сообщений: 134
05.04.2012, 20:20  [ТС]
Спасибо,всё заработало
0
 Аватар для mus
52 / 51 / 19
Регистрация: 22.03.2009
Сообщений: 173
05.04.2012, 20:27
а вы заносите данные через программу, или через php скрипт ? если через программу, то вместо переменных нужно вписать данные ( вася петя )
0
0 / 0 / 1
Регистрация: 14.12.2011
Сообщений: 134
05.04.2012, 20:46  [ТС]
У меня,есть такой вопрос,чтобы id при последующем добавлении не становился нулём надо добавить ему свойство Auto Incr?
И если пользователь вводит своё имя и фамалию через пробел,то при работе с самой бд не возникнут ошибки?
0
 Аватар для mus
52 / 51 / 19
Регистрация: 22.03.2009
Сообщений: 173
05.04.2012, 20:57
да для автоматического счетчика нужно поставить автоинкримент, лучше запретить ему пробелы, или заменять их подчеркиванием

Добавлено через 3 минуты
да, для фамилии и имени лучше создать 2 поля, это из нормальзации БД так нужно, и пробел между словами отпадет сразу
0
0 / 0 / 1
Регистрация: 14.12.2011
Сообщений: 134
05.04.2012, 21:04  [ТС]
А каким способом тогда заменить пробелы на подчёркивание ?
0
 Аватар для mus
52 / 51 / 19
Регистрация: 22.03.2009
Сообщений: 173
05.04.2012, 21:10
http://www.php.su/functions/?str_replace

фукция замены строки
1
0 / 0 / 1
Регистрация: 14.12.2011
Сообщений: 134
05.04.2012, 22:33  [ТС]
Глупый вопрос,но всё таки, решил я добавить на форму ещё 2 кнопки ,но почему то опять нечего не добавляет?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
    <form action = "doc.php" method = "post" ><br>
        <i>Введите Ф.И.О:</i><br>
        <input type = "text" name = "name" size = "30" maxlength = "150" value = ""><br>
        <i>Ваш Email:</i><br>
        <input type = "text" name = "email" size = "30" maxlength = "100" value = ""><br>
        <i>Ваш телефон:</i><br>
        <input type = "text" name = "telephon" size = "30" maxlength = "100" value = ""><br>
        <i>Ваш адресс:</i><br>
        <input type = "text" name = "adress" size = "30" maxlength = "100" value = ""><br>
        <input type = "submit" size = "9" value = "отправить">
        <input type = "reset" size = "9" value = "очистить"  >
    </form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?
 
    //соединяемся с базой данных
    $con    = mysql_connect("localhost", "root","");
    $select = mysql_select_db("Clients", $con);
 
// если мы передали данные  то присваиваем значение новой переменной
if (isset($_POST['name'])){$name = $_POST['name'];}  
if (isset($_POST['email'])){$email = $_POST['email'];} 
if (isset($_POST['telephon'])){$name = $_POST['telephon'];}  
if (isset($_POST['adress'])){$email = $_POST['adress'];} 
 
if (empty($name) or empty($email) and empty($telephon) or empty($adress))  // на всякий случай проверим ввели ли данные в форме
{
    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля. <input name='back' type='button' value='Вернуться назад' onclick='javascript:self.back();'>
    ");
    
}
// если все хорошо то заносим в базу ( при условии что соединение уже установлено )
else 
{
    $query=("INSERT INTO clients(F_I_O,email,telephon_number,adress) VALUES ('$name','$email','$telephon_number','$adress')");
    $result = mysql_query ($query);
 
if ($result=='true') // на всякий случай проверим успешность записи в базу
{
    echo "данные занеслись";
}
else {
    echo "ошибка при занесении".mysql_error();}
    }
?>
</body>
</html>
0
0 / 0 / 0
Регистрация: 29.07.2016
Сообщений: 8
18.08.2016, 13:17
Добрый день, как узнать обработчик, если он не указан?
<form action = "" method = "post" >, но форма как то обрабатывается! Как?))

<form action='' method='post' class="form form-horisontal"> ...
<input class='enter' type='submit' value='Продолжить'>
<input type='hidden' name='step' value='2'>

единственное, что Степ меняется значение
0
Web Programmer
 Аватар для JimUSA
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
19.08.2016, 02:26
Rdomino, Если не указан, значит он обрабатывается на той же странице.
0
0 / 0 / 0
Регистрация: 29.07.2016
Сообщений: 8
19.08.2016, 06:24
Но на той странице в ее коде нет никакого обработчика и нет никаких ссылок на внешний обработчик, хотя данные обрабатываются!
0
Web Programmer
 Аватар для JimUSA
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
20.08.2016, 00:27
Rdomino, Суть работы я Вам сказал,
а как там у Вас работает cms не знаю, потому могу предположить что у Вас код в отдельном файле и всё на автоматике подключает отдельно от шаблона, но как уже сказал, если action пустой, значит они в одном обработчике - если можно так правильно назвать.

например

index.php

include_once 'script.php';
include_once 'form.php';

script.php
обработка php...

form.php
HTML5
1
2
3
<form action="" method="POST">
...
</form>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.08.2016, 00:27
Помогаю со студенческими работами здесь

Обработчик формы
Есть вот такая переменная внутри которой переменная $pdf_1 $object_pdf_1 = '&lt;object data=&quot;$pdf_1&quot;...

обработчик формы
всем привет! написал обработчик формы, который должен передавать данные, указанные пользователем мне на мыло &lt;?php $result =...

Обработчик формы
Помогите разобраться с обработчиком формы. Как же они достали меня( Голову сломал. Ошибки не вижу. Сообщение на почту с данными не отсылает...

Обработчик формы
Помогите написать обработчик, который бы считал кол-во выбранных пользователем городов и сообщал пользователю о том ,какой город выбран...

Обработчик формы
Есть форма с именем, имейлом, сообщением и кнопкой отправки. Как сделать, чтоб при нажатии кнопки отправки в случае ошибки или же успешной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru