2015-03-11 6 views
2

У меня странная проблема (я пытался сделать это в Google и искать его здесь без везения), дело в том, что когда я пытаюсь получить данные POST, я получаю абсолютно никакой данные POSTED и если я изменить метод формы для GET, а затем повторить, что переменная - это работает отлично ...PHP: POST не работает В то время как GET работает

Вчера все, казалось, работало, сегодня я добавил только эту функцию:

header("Location: account_activation.php"); 

который не имеет никакого отношения к этому, вчера поля регистрации работали на 100% штрафа без ошибок, так что вот код, часть PHP:

<?php 
    session_start(); 
    if($_POST['register_email'] != "")) 
    { 
     ... 
     ... 
     ... 
    } 
?> 

HTML часть:

<form action="z_unity_index.php" method="POST"> 
    <input type="email" maxlength="100" required id="register_email" value="<?php echo $register_email ?>" name="register_email" placeholder="E-Mail (3-100 Characters)" /> 
    <input type="text"  maxlength="20" required id="register_username" value="<?php echo $register_username ?>" name="register_username" placeholder="Username (6-20 Characters, A-Z and 0-9)" /> 
    <input type="password" maxlength="100" required id="register_password"           name="register_password" placeholder="Password (6-100 Characters)" /> 
    <input type="submit" value="Sign Up" id="register_submit" /> 
</form> 

Я удалил все ненужные данные и не включены дополнительные данные, если функции, потому что то, что я не получаю мимо него, потому что данных POST, что Я получаю пусто ...

+1

это не идентификатор, который проходит POST в файл, добавьте 'имя =«register_email»' для вашего поля ввода –

+0

@ AleksandarVasić Атрибуты имени есть, просто прокрутите вправо немного :) – Quasdunk

+0

где вы разместили 'header'? Вы отправляете значения форм в один и тот же сценарий? –

ответ

2

Я лично считаю, что проблема в вашем header("Location: account_activation.php");.

Почему?
Потому что это означает, что вы выполняете 302 Redirection. Оба 301 и 302 перенаправления не сохраняют данные POST, которые предназначены для использования. Почему тогда работает GET? Поскольку значения (параметры) GET являются частью query-string, что обычно следует за перенаправлениями.

Так что да, это имеет все, что связано с этим. По крайней мере, если я не ошибаюсь, который может быть правдой :)

+0

Я был на самом деле на 100% уверен, что это не так, поэтому я пробовал комментировать его и работал ... РАБОТАЛ, и теперь я понял, что в account_activation.php у меня есть другое перенаправление с функцией if , который говорит, что если некоторые переменные GET не отправляются (это не так), он перенаправляет меня на страницу, на которую я борется, и вот почему это выглядит так, как будто ничего не случилось, извините за то, что тратил время на ребята с этой странной проблемой, которая была моя собственная ошибка, СПАСИБО! – Donny123

+0

@ Donny123 не волнуйтесь, просто узнайте о своих ошибках :) перенаправления могут быть очень большими, поэтому я бы рекомендовал использовать их только в качестве последнего средства (например, как '404',' 410' или '403' статус коды или '301' постоянные перенаправления для перемещенных страниц) – Forien