Задать вопрос

Почему выдает пустую почту после _POST["email"]?

Я работаю с Интеркассой и у меня есть форма в которой нужно указать Email и потом нажать на кнопку "Купить".

Вот код формы:
<form id="form" name="payment" method="POST" action="ссылка на Интеркассу" enctype="utf-8">
    <input type="hidden" name="ik_co_id" value="VALUE"/>
    <input type="hidden" name="ik_pm_no" value="<?=time()?>"/>
    <input type="hidden" name="ik_am" value="149.99"/>
    <input type="hidden" name="ik_cur" value="RUB"/>
    <input type="hidden" name="ik_desc" value="Месячная подписка"/>
    <section>
        <p class="info"><strong>Укажите email на который вы хотите получать задачи</strong></p>
        <p><input class="mail" data-stripe="email" id="email" type="email" name="ik_cli" placeholder="Эелектронная почта" value="Почта"></p>
    </section>
    <button class="buy" type="submit" id="submit">
        <strong>Купить подписку (149.99 )</strong>
    </button>
</form>


Код файла обработки платежа:
$arr = array(
	"Статус: " => "Новая покупка",
	"Email: " => $_POST["ik_cli"],
	"IP:" => $ip,
	"Сумма:" => $_POST["ik_am"]
);


И когда я фильтрую этот массив и отправляю его куда-нибудь, Email всегда пустой!

Статус: Новая покупка
Email:
IP: 1.1.1.1
Сумма: 149.99


Это очень странно, ведь не так давно все работало, но после того как я что-то там изменил (уже не помню что), работать перестало. Я пробовал вместо ik_cli подставлять другие значения, например ik_am и оно не было пустым. Проблема именно в том, что это почта.

Пожалуйста, помогите решить это проблемку!
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@RTFMaster
РукоJOB
Попробуйте в input email добавить закрывающий слеш (без "/>" php ожидает "</input>"). value лучше убрать или оставить пустым + добавить атрибут pattern и required. Паттерн на поле легко гуглится.

<p><input class="mail" data-stripe="email" id="email" type="email" name="ik_cli" placeholder="Электронная почта" pattern="сюда_вписать_регулярку"  required /></p>


Как вариант: Вместо паттерна в самом поле можно написать скрипт-листнер, который будет слушать submit и делать проверку поля(-ей).

Upd: пока дебажите код этот момент можно опустить.

Из обсуждения выше тоже посоветовал бы сначала форму отправлять себе в обработчик, а потом обращаться в api интеркассы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ApXNTekToP
@ApXNTekToP
Недопрограммист
Попробуй в value подставить, почту формата test@gmail.com
Так как ты просишь пользователя указать email, параметр value не должен указываться. Точно сказать не могу, не тестил.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽