Как я могу захватить значение текстовой области формы в WordPress и вставить в mysql?

#php #wordpress

#php #wordpress

Вопрос:

Я вижу, что разные люди задают этот вопрос, но нет точных ответов. Я хочу взять текст из формы текстовой области, где пользователи могут вводить свою биографию, а затем вставить его в поле био в mysql. Обычно это может быть довольно просто, но, увы, это кажется почти невозможным с WordPress. Я должен использовать плагин «Php для сообщений и страниц», и по какой-то причине мой php-скрипт не может быть найден (ошибка 404), независимо от того, где я его размещаю. Затем я подумал, что попробую просто создать форму и php на одной странице WordPress, но, по-видимому, это невозможно сделать, как на обычной веб-странице php. У кого-нибудь есть опыт в этом? Какие-либо подходы, которые, как известно, работают?

Ответ №1:

Вы можете создать форму, используя обычный php, и вставить ее в mysql. Вы можете сделать это, создав шаблон страницы в WordPress.

http://codex.wordpress.org/Page_Templates

Комментарии:

1. ОК. Я создал шаблон, который на странице — он полностью заменяет wordpress. Я хочу сначала отобразить содержимое с помощью html-формы, а затем, когда пользователи нажимают кнопку отправки, код выполняет функцию вставки php mysql. Я не понимал, что шаблон php полностью заменяет страницу word press. Это круто, но почему php не подключается к БД (выдает ошибку: ошибка синтаксического анализа: синтаксическая ошибка, неожиданный ‘mysql_connect’)? Кроме того, как одна страница php может отображать форму и выполнять вставку mysql после нажатия кнопки отправки формы.

2. вы не должны снова подключать базу данных. Вы можете начать с вставки записей в таблицу

Ответ №2:

Я прошел через тот же процесс! 🙂

Мое решение было:

Установка плагина PHP insertor (в частности, этого). Это намного проще, чем создание шаблона.

Я использовал это так (вставлено в исходный текст сообщения):

 [insert_php] include('myphpfile.php'); [/insert_php]
  

Затем включенное содержимое PHP будет обработано и распечатано внутри тела страницы (основной части статьи), поэтому вам не нужно создавать теги html, head и body.

Затем возникла проблема с размещением данных формы на странице, подобной этой. Это было потому, что некоторые поля моей формы как бы конфликтовали с переменными WP.

Некоторые из конфликтующих имен полей, которые я заметил: info, name

Просто взгляните на имена полей вашей формы и замените их на что-то другое, и все будет хорошо! 🙂

PS.: Можно поместить форму и «приемник» данных формы в один и тот же PHP-скрипт. Я сделал это, и это сработало в этом сценарии.

PS. 2: При желании вы можете отключить раздражающий плагин wpautop stock WP для автоматической вставки абзацев, поскольку он влияет на вывод включенного PHP. Существует плагин для отключения wpautop для каждого поста: Toggle wpautop