Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обработчик формы и форма в разных местах

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Olegarh1a
Отправлено: 12 Февраля, 2021 - 12:16:07
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2021  


Помог: 0 раз(а)




Есть сама форма которая лежит в корне index.php и есть обработчик который лежит в папке ./php/proccesSignup.php
Если при успешной регистрации перенаправляем пользователя на главную страницу это есть.
Но как сделать вывод
Спойлер (Отобразить)
ошибок допустим напротив полей в файле index.php без ajax.
 
 Top
dcc0
Отправлено: 12 Февраля, 2021 - 13:50:49
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Доброго!
Суть вопроса до конца не уловил.
Есть как минимум два варианта перенаправления:
1) Через поле form, атрибут action - встроенное средство html
2) Перенаправление с помощью html/js/php по условию.

Т.е.:
1) Пользователь заполнил форму и нажал кнопку "отправить".
2) Скрипт на этой же странице обработал данные из формы.
Обработчик можно подключить через include.
3) Далее условие:
а) Если с формой всё в порядке, перенаправление на главную.
б) Если нет, то остаёмся на текущей странице и показываем сообщение.


-----
Март 2021. Бросил программирование
 
 Top
Olegarh1a
Отправлено: 12 Февраля, 2021 - 14:52:30
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2021  


Помог: 0 раз(а)




dcc0 пишет:
Доброго!
Суть вопроса до конца не уловил.
Есть как минимум два варианта перенаправления:
1) Через поле form, атрибут action - встроенное средство html
2) Перенаправление с помощью html/js/php по условию.

Т.е.:
1) Пользователь заполнил форму и нажал кнопку "отправить".
2) Скрипт на этой же странице обработал данные из формы.
Обработчик можно подключить через include.
3) Далее условие:
а) Если с формой всё в порядке, перенаправление на главную.
б) Если нет, то остаёмся на текущей странице и показываем сообщение.


Ещё не могу сформулировать правильно вопрос попробую рассказать по действиям
И так Форма лежит в корне, а обработчик в папке
Пользователь переходит на форму регистрации ->
Заполняет поля:
Логин:
пароль:
email:
если всё правильно ввёл его перенаправляет на форму с авторизацией -> это я сделал
НО (сорри за капс)
если он не правильно заполняет поле допустим логин и нажимает регистрация
ему выводится ошибка
ошибка выводится по адрессу mysite.loc/php/proccesSignup.php
а мне надо что бы ошибка выводилась в самой форме mysite.loc/index.php
 
 Top
dcc0
Отправлено: 12 Февраля, 2021 - 17:41:08
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Иногда трудно понять уровень знаний.
1) Проверку формы можно сделать на JavaScript: до отправки формы проверять её и выводить сообщение.

2) Можно сделать возврат обратно на страницу с формой после проверки её скриптом /proccesSignup.php и вывести сообщение об ошибке уже здесь.

3) Можно подключать файл /proccesSignup.php через include по условию на странице с
формой и никуда не переходить. Всё будет происходить на одной странице.

4) Можно сделать проверку и переход на php и JS или html.

Пример. Это страница с формой. Здесь проверяем поля:

Спойлер (Отобразить)


В form не прописан атрибут action, переход произойдёт по условию выше
Спойлер (Отобразить)





P.S. Может быть, лучше показать, как сделано?!



(Добавление)
Второй вариант с возвратом.

Это файл index.php

Спойлер (Отобразить)

Спойлер (Отобразить)


Заполняем форму и уходим на страницу ./php/proccesSignup.php
Страница ./php/proccesSignup.php
Спойлер (Отобразить)


Для наглядности: http://comb[dot]org[dot]ru/test/index.php

(Отредактировано автором: 12 Февраля, 2021 - 19:19:56)



-----
Март 2021. Бросил программирование
 
 Top
Olegarh1a
Отправлено: 12 Февраля, 2021 - 21:07:48
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2021  


Помог: 0 раз(а)




dcc0 пишет:
Иногда трудно понять уровень знаний.
1) Проверку формы можно сделать на JavaScript: до отправки формы проверять её и выводить сообщение.

2) Можно сделать возврат обратно на страницу с формой после проверки её скриптом /proccesSignup.php и вывести сообщение об ошибке уже здесь.

3) Можно подключать файл /proccesSignup.php через include по условию на странице с
формой и никуда не переходить. Всё будет происходить на одной странице.

4) Можно сделать проверку и переход на php и JS или html.

Пример. Это страница с формой. Здесь проверяем поля:

Спойлер (Отобразить)


В form не прописан атрибут action, переход произойдёт по условию выше
Спойлер (Отобразить)





P.S. Может быть, лучше показать, как сделано?!



(Добавление)
Второй вариант с возвратом.

Это файл index.php

Спойлер (Отобразить)

Спойлер (Отобразить)


Заполняем форму и уходим на страницу ./php/proccesSignup.php
Страница ./php/proccesSignup.php
Спойлер (Отобразить)


Для наглядности: http://comb[dot]org[dot]ru/test/index.php
Я всунул обработчик там где и форма.

И вопрос ещё 1 как функцией htmlspecialchars обрабатывать данные c массива $data = $_POST
а то я был приятно удивлён когда в форме входа ввёл
PHP:
скопировать код в буфер обмена
  1. <body style="display:none;"</body>
 
 Top
dcc0
Отправлено: 12 Февраля, 2021 - 21:24:10
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Может быть, strip_tags?


-----
Март 2021. Бросил программирование
 
 Top
Olegarh1a
Отправлено: 12 Февраля, 2021 - 21:31:37
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2021  


Помог: 0 раз(а)




[quote=dcc0][/quote]

сколько людей столько мнений мне уже посоветовали htmlentities
но всё же как обработать массив с данными ?
 
 Top
dcc0
Отправлено: 12 Февраля, 2021 - 22:03:12
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




И так тоже возможно. Можно использовать также preg_match для проверки логина и пароля при регистрации.


-----
Март 2021. Бросил программирование
 
 Top
Olegarh1a
Отправлено: 12 Февраля, 2021 - 22:11:12
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2021  


Помог: 0 раз(а)




dcc0 пишет:
И так тоже возможно. Можно использовать также preg_match для проверки логина и пароля при регистрации.


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once __DIR__. './../include/db.php';
  3.  
  4. $data = $_POST;
  5.     if(isset($data['signin'])) {
  6.         $errors = array();
  7.         $users = R::findOne('users', 'login = ?', array($data['login'])); //Создаём users ищем в таблице users столбец login, который введёт поьзователь с массива data[login]
  8.        
  9.             if( $users > 0 )
  10.             {
  11.                 if(password_verify($data['password'], $users->password))
  12.                 {
  13.                     echo 'Вы зашли'; //
  14.                 }else
  15.                 {
  16.                     $errors[] = 'Не верно введён пароль';
  17.                 }
  18.             }else
  19.             {
  20.                 $errors[] = 'Пользователь с таким ником не найден ';
  21.             }
  22.         if(!empty($errors))
  23.         {
  24.             echo '<div>'.array_shift($errors). '</div>';
  25.         }
  26.     }


Как экранировать теги наэтом примере при помощи htmlentities
 
 Top
dcc0
Отправлено: 12 Февраля, 2021 - 23:20:51
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




http://forum.php.su/topic.php?fo...1&topic=4120

Здесь же на форуме.
Вероятно, как-то так:

Спойлер (Отобразить)

Это где-то в самом начале должно быть.

Может быть, даже, как в этом примере, внизу, циклом:
https://stackoverflow[dot]com/questi[dot][dot][dot]htmlspecialchars



P.S.
Я только подзабыл: нужно ли переопределять $_POST и $_GET или лучше прямо с ними работать для регистрации и авторизации?!

(Отредактировано автором: 12 Февраля, 2021 - 23:36:24)



-----
Март 2021. Бросил программирование
 
 Top
Olegarh1a
Отправлено: 12 Февраля, 2021 - 23:34:30
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2021  


Помог: 0 раз(а)




dcc0 пишет:
http://forum.php.su/topic.php?fo...1&topic=4120

Здесь же на форуме.
Вероятно, как-то так:

Спойлер (Отобразить)

Это где-то в самом начале должно быть.

Может быть, даже, как в этом примере, внизу, циклом:
https://stackoverflow[dot]com/questi[dot][dot][dot]htmlspecialchars



P.S.
Я только подзабыл: нужно ли переопределять $_POST и $_GET или лучше прямо с ними работать для регистрации и авторизации?!


Вот оно как теперь всё стало на свои места. я $data полностью переписывал(тупоголовый)
спасибо.
А ведь я сам ответил на свой вопрос когда задал его Радость
у меня на этом сайте не работает переадресация в поиске ввожу пишет
Обработка запроса выполнена.
Найдено тем: 488
Ожидайте результаты.
и перенаправление не работает

(Отредактировано автором: 12 Февраля, 2021 - 23:37:28)

 
 Top
dcc0
Отправлено: 12 Февраля, 2021 - 23:53:49
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Только у меня в примере GET, а надо POST. У себя тестировал. Поправил выше.

У меня как-то вот сработало:
Спойлер (Отобразить)

По отдельности не работает Недовольство, огорчение


-----
Март 2021. Бросил программирование
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB