2011-02-06 3 views
0

На основе информации, которую пользователь заполняет в моей форме, я хочу выполнить некоторый PHP-код. Поэтому после отправки формы она должна иметь контроль на той же странице, после чего она должна выполнить код PHP (а не до нажатия кнопки отправки). Я использовал <input type="hidden" value=1 name="hid"/>. Когда пользователь нажимает кнопку отправки, значение изменяется на 0. Но он не работает. поэтому решение пожалуйста.отправка формы, а затем выполнение php-кода

+0

Я попытался немного перефразировать ваш вопрос, но по-прежнему трудно понять, чего вы хотите. Пожалуйста, уточните свой вопрос. (например, что означает * он должен иметь контроль на одной странице * означает?). –

+0

Вы отправляете данные формы, как в «обновлении» страницы? (освежение - это не правильное слово, не может думать об этом atm) Немного кода было бы полезно. –

+0

@Felix та же страница в том же файле, в котором находится форма. – xtras

ответ

2

Это похоже на то, что вы ищете?

<?php 

if (!isset($_POST["submit"])) { 
    if ($_POST["hid"] == 0) { 
     echo "hid is not 0. display form."; 
    }  
?> 
<html> 
    <head> 
    <script type="text/javascript"> 
    function check_valid() { 
     document.getElementById("hid").value = 0;  
    } 
    </script> 
    </head> 
    <body> 
    <form method="POST" action="<?php echo $PHP_SELF;?>" onsubmit="return check_valid();" > 
     <input type="hidden" id="hid" name="hid" value="1" /> 
     <input type="submit" value="submit" name="submit"/> 
     <!-- form elements go here --> 
    </form> 
    </body> 
</html> 
<?php 
} else { 
    echo "hid is now 0, execute the php code";  
} 
?> 

РЕДАКТИРОВАТЬ: добавлена ​​<input type="hidden" name="hid" value="1" /> для ясности. Спасибо andre_roesti за предложение

+1

+1, но для ясности вы должны добавить '' в '

'. – anroesti

+0

эй ошибка -> неопределенный индекс: спрятано. Я использовал тот же код и, следовательно, снова с той же ошибкой. – xtras

+0

Привет @xtras, я изменил код. Попробуйте. –

Смежные вопросы