Php – Как Передать Имя Пользователя В Форму, Которая Отправляет Данные В Базу Данных

  • Автор темы Solidcreature
  • Обновлено
  • 22, Oct 2024
  • #1

Я пытаюсь передать имя пользователя в базу данных через форму:

[insert_php]
$current_user= wp_get_current_user();
$id= $current_user->user_login; 
[/insert_php]

<input type="hidden" name="id" value="[insert_php]$id[/insert_php]">

Но он не проходит, хотя остальные видимые входы проходят.

#php #база данных #mysql #forms

Solidcreature


Рег
13 Apr, 2006

Тем
61

Постов
195

Баллов
510
  • 25, Oct 2024
  • #2

Если вы хотите вывести

$id = get_current_user_id()
, you need to echo.
Также обязательно используйте
<?php

// get current user ID, with default value, if empty
$current_user_id = wp_get_current_user_id() ?? 0;

?>
<input type="hidden" name="id" value="<?php echo esc_attr( $current_user_id ); ?>">  
как хорошая практика безопасности.

<input type="hidden" name="id" value="[insert_php]echo esc_attr( get_current_user_id() );[/insert_php]">

Кроме того, как было отмечено в другом ответе, вы называете это «идентификатором», но на самом деле вы используете логин (имя пользователя). Если все, что вам нужно, это числовой идентификатор, используйте

get_current_user_id()
.

<input type="hidden" name="id" value="[insert_php]echo esc_attr( $id );[/insert_php]">



Действительно, ответ @jaswrks будет работать, если вы используете шорткод для запуска кода через отредактированную страницу.

Но это обратный способ использования PHP... и вы так близки к тому, чтобы научиться писать PHP внутри WordPress, а не через прокси, например короткий код, который позволяет вам писать квази-PHP в редакторе.

Итак, вы также можете попробовать отредактировать шаблон страницы, на которой появляется форма (или добавить ее с помощью виджетов, блоков, внешних функций или любых других доступных средств) и добавить следующее:

esc_attr()



То, что вы хотите, это использовать:

$id

Функция, которую вы используете, — это получение объекта.

 

Elasman


Рег
15 Apr, 2004

Тем
93

Постов
191

Баллов
686
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно