Дата PHP, добавляющая месяцы к $_POST

#php #database #date

#php #База данных #Дата

Вопрос:

Что не так с этим кодом:

 'tiercommissionexpiration' => date('Y-m   $post["billingPeriodExpiration"]-d', strtotime($post['commissionEligibilityDate'])),
  

commissionEligibilityDate это дата, и я хочу добавить определенное число, которое вводится в текстовое поле $_POST['billingPeriodExpiration'] , в базу данных ‘teircommissionexpiration’

Спасибо

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

1. Я думаю, сначала вы должны изменить $ post на $_POST.

Ответ №1:

Я предлагаю вам прочитать о строках PHP и date функции. Я понятия не имею, какое значение вы пытаетесь опубликовать, но вы не можете вставить значение POST в строку, заключенную в одинарные кавычки, подобным образом, и это было бы $_POST в любом случае.

 date('Y-m' . $_POST['billingPeriodExpiration'] . '-d', ...)
date("Y-m{$_POST['billingPeriodExpiration']}-d', ...)
  

ни то, ни другое не сработало бы, но, по крайней мере, было бы синтаксически корректным для целей синтаксического анализа с помощью PHP — даже если date() в любом случае завершится неудачей.

Ответ №2:

Я думаю, что ошибка здесь в неправильном написании $post['billingPeriodExpiration'] . Вы должны написать, $_POST а не $post . В любом случае вам также придется заключать строку в двойные кавычки (не одинарные кавычки).

Ответ №3:

Замените $post[«billingPeriodExpiration»] на $_POST[‘billingPeriodExpiration’]

Ответ №4:

 'Y-m   $post["billingPeriodExpiration"]-d'
  

вероятно, должно быть

 "Y-m   {$_POST['billingPeriodExpiration']}-d"
  

Обратите внимание на двойные кавычки и фигурные скобки.

Ответ №5:

Во-первых, вы не можете встроить переменную в одну строку с апострофом.

Во-вторых, в $ post вам, вероятно, следует написать $ _POST

И вместо этих функций попробуйте использовать классы DateTime и DateInterval.

Ответ №6:

 'tiercommissionexpiration' => date("Y-m   {$_POST["billingPeriodExpiration"]-d}", strtotime($_POST['commissionEligibilityDate'])),
  

Переменные не заключаются в одинарные кавычки (‘), а $_POST var должен быть заглавным и иметь подчеркивание. Кроме того, вы должны использовать скобки {} вокруг переменных массива в строках. (пример $n = "your name is {$user["name"]}"; )

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

1. Я ввел ‘tiercommissionexpiration’ => date(«Y-m {$ post [‘billingPeriodExpiration’]}-d», strtotime($post [‘commissionEligibilityDate’])) и это не сработало, дата в commissionEligibilityDate — 2011-11-08, и я ввел 2 в billingPeriodExpiration, и я ожидал получить 2012-01-08, но я получаю 1969-12-31.

Ответ №7:

Считается хорошей практикой заключать переменные в {} вот так:

 date("Y-m   {$post['billingPeriodExpiration']}-d")
  

Таким образом, PHP не будет жаловаться на одинарные кавычки '' для индекса массива.