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

Разделение обработчика и формы

22.11.2015, 23:12. Показов 911. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи уважаемые форумчане, потихоньку учу php и сегодня решил разделить обработчик и форму на разные файлы, но возникла проблемка, не могу понять как и что не правильно. Подскажите пожалуйста, если можно по подробнее и с комментариями. (Не судите строго за код, только учусь) Спасибо!
Вот сама форма
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form id="yw0" action="token.php" method="POST">
<div class="input-group">
 
    <span class="input-group-btn">
       
         <a class="btn bg-blue open-auth-window" href="https://oauth.vk.com.....response_type=token" target="_blank" title="Получить ключ"> Получить ключ</a>
    
        
    </span>
 
    <input class="form-control" placeholder="Содержимое адресной строки" name="token" type="text">
    <img src = "captcha.php"/></center></center>
 <input type = "text" name = "kapcha" placeholder="required" >
    <span class="input-group-btn">
    
        <input class="btn bg-blue" type="submit" value="Установить">    </span>
    
 
</div>
</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
<?php
require 'db.php';
session_start();
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die (mysql_error ());
mysql_select_db(DB_NAME) or die(mysql_error());
$res = mysql_query("SELECT COUNT(id) FROM base");
$row = mysql_fetch_row($res);
$total = $row[0];
 
If (isset($_POST['token'])){
 
if($_POST['kapcha'] != $_SESSION['rand_code'])echo"";
else {
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die (mysql_error ());
mysql_select_db(DB_NAME) or die(mysql_error());
$tok = htmlspecialchars($_POST['token']);
$token =  explode("access_token=",$tok);
$token2 = explode("&",$token[1]);
$sql = "INSERT INTO base(id,token) VALUES('','$token2[0]')";
 
mysql_query($sql) or die(mysql_error());
echo '<script type="text/javascript"> alert("ВСЕ ОК"); </script>';
 
}
}
?>
В одном файле все работает, а при разделении нет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2015, 23:12
Ответы с готовыми решениями:

Создание формы и обработчика
Не отображается информация,введенная в форму..помогите исправить ошибку код формы &lt;html&gt; &lt;head&gt; &lt;meta...

Не работает код обработчика формы
пОЧЕМУ НЕ РАБОТАЕТ КОД?... форма &lt;html&gt; &lt;head&gt; &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=windows-1251&quot;&gt;...

Получение ответа от обработчика формы
Доброго времени суток. Есть js $.ajax({ type: 'POST', url: '../php/bd.php', data: msg, ...

9
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
22.11.2015, 23:16
Цитата Сообщение от trezz Посмотреть сообщение
В одном файле все работает, а при разделении нет.
а что именно не работает и зачем тебе столько раз подключаться к БД, если у тебя файл
Цитата Сообщение от trezz Посмотреть сообщение
require 'db.php';
отвечает за подключение к БД то вот это
Цитата Сообщение от trezz Посмотреть сообщение
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die (mysql_error ());
mysql_select_db(DB_NAME) or die(mysql_error());
лишнее
0
0 / 0 / 2
Регистрация: 21.01.2013
Сообщений: 107
22.11.2015, 23:18  [ТС]
Добавлено через 28 секунд
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die (mysql_error ());
mysql_select_db(DB_NAME) or die(mysql_error());
А это должно быть прописано в файле подключения или нет?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
22.11.2015, 23:18
trezz, в файле БД
0
0 / 0 / 2
Регистрация: 21.01.2013
Сообщений: 107
22.11.2015, 23:23  [ТС]
DB.php
PHP
1
2
3
4
5
6
7
8
9
<?php
    define('DB_HOST', 'localhost');
    define('DB_LOGIN', '');
    define('DB_PASSWORD', '');
    define('DB_NAME', '');
    mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die (mysql_error ());
mysql_select_db(DB_NAME) or die(mysql_error());
 
?>
Тут все правильно?
А скрипт после нажатия кнопки установить переходит на файл token.php и там белый экран, а должен остаться на странице
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
22.11.2015, 23:28
Цитата Сообщение от trezz Посмотреть сообщение
а должен остаться на странице
как он должен остаться на странице если вы его посылаете на страницу action="token.php"
если разделить эти два файла и сделать как вы хотите то нужен AJAX
0
0 / 0 / 2
Регистрация: 21.01.2013
Сообщений: 107
22.11.2015, 23:33  [ТС]
Как я понял мне нужно просто сделать отправку данных Ajax'у чтоб он их обработал? Не сильно просто понял, что нужно сделать
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
22.11.2015, 23:40
trezz, если тебе надо сделать обработку данных на той же странице а файл обработчик лежит отдельно то надо воспользоваться технологией AJAX
0
0 / 0 / 2
Регистрация: 21.01.2013
Сообщений: 107
22.11.2015, 23:46  [ТС]
А подскажите еще, как с существующим сделать переход просто на главную страницу? Пока AJAX не представляю как вообще использовать.

А это в Echo просто сделать ссылку или можно как-то автоматизировать переход?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
22.11.2015, 23:53
Цитата Сообщение от trezz Посмотреть сообщение
А подскажите еще, как с существующим сделать переход просто на главную страницу?
при помощи
PHP
1
header('Location:index.php');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2015, 23:53
Помогаю со студенческими работами здесь

Двойное выполнение обработчика формы
Привет всем. Помогите решить вопрос. Есть обработчик handler.php &lt;?php if ($_SERVER != 'POST') die('Только post запросы!'); ...

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

Обработка формы и возврат из обработчика. submitHandler
Подскажите пожалуйста, как правильно обработать форму в обработчике handler_reg.php и принять результат обработки в скрипте js ? &lt;form...

Редактирование обработчика формы обратной связи
Здравствуйте. Есть потребность в редактировании обработчика формы обратной связи для одностраничника. Но моих познаний не хватает, чтобы...

Не могу найти ошибку в скрипте обработчика формы
Этот скрипт отмена ранее забронированного времени, не могу понять почему когда приходит письмо уведомление об отмене оно приходит без...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru