2014-01-21 7 views
-1

Моя проблема заключается в основном, что у меня есть что-то вроде этого:Отправить форму через код

if (!empty($_POST['field1'])OR !empty($_POST['field2']) OR !empty($_POST['field3'])) 
{ 
// SUBMIT FORM 
} else {  
// display error message 
} 

Моя проблема заключается в том, что я действительно не знаю, как отправить форму с помощью кода, так как им не очень опытный в PHP.

Я использую все !empty($_POST['field1'], так как у меня есть 16 полей ввода в моей форме, и первые 5 ВСЕГДА требуются, но в остальных 11 полях ввода требуется минимум 1 вход, я думал, что это самое простое решение ,

Небольшой вопрос на стороне, я также хотел бы знать, как остановить форму от отправки на другую страницу, чтобы я мог написать ошибку или что-то на странице.

+1

Как всегда, вам нужно добавлять, что вы уже пробовали ... – charliefortune

+0

PHP это не то, что вам нужно здесь. PHP создает страницы, которые отправляются в браузер. Вы хотите контролировать отправку браузера обратно на сервер. Для этого вам понадобится javascript (или jQuery). – paul

ответ

0

Вы можете проверить поля только для отправки формы в php. поэтому просто отправьте форму на ту же страницу в верхней части страницы перед запуском html, добавьте условие if, чтобы удовлетворить требуемые условия. если условие является ложным, то одна и та же страница может быть загружена обратно переменной, которая имеет ваше сообщение об ошибке. Кроме того, вы можете использовать javascript для проверки на стороне клиента.

0

ли все валидации на стороне клиента, и если все хорошо, то отправить форму с Javascript или же отобразить ошибку на одной странице ...

document.getElementById('theForm').submit(); 

Обратитесь к ссылке ниже для большего понимания:

How to submit a form using javascript?
How to submit a form with JavaScript by clicking a link?

стороне сервера валидация также может быть сделано в PHP, в этом случае вам нужно перенаправить на страницу, которая содержит форму с помощью PHP, как указано здесь http://in2.php.net/manual./en/function.header.php

0

Вы не можете отправить форму с помощью PHP, вам необходимо использовать Javascript для этого (или jQuery).

С Javascript:

document.getElementById("your_form_name").submit(); 

или с JQuery:

$('#your_form_name').submit(); 

За ваш 2-й вопрос - когда вы определяете форму, вы определяете свойство действия.

Обычно «script.php» будет отдельным файлом, и это приведет к тому, что браузер перейдет к этому файлу. Чтобы обойти это, вы должны по крайней мере 2 варианта:

  1. Изменить «действия» в том же файле ваша форма находится в. В основном вы сделаете сообщение сценария самому себе.
  2. Используйте Ajax для отправки данных формы. Ajax будет работать в фоновом режиме, и вы сможете динамически обновлять страницу без необходимости обновления. Взгляните на jQuery Ajax Submit Form для получения дополнительной информации.

Надеюсь, это поможет!

0

Почему вы хотите представить переменные во второй раз? ваши запросы! Пусто ($ _ POST ['field1']) и т. Д.похоже, что вы уже отправили переменные и теперь проверяете их, если они пусты или нет.

Если да, вы можете установить «флаг», являются ли ваши переменные в порядке или нет. так, например:

if (!empty($_POST['field1'])OR !empty($_POST['field2']) OR !empty($_POST['field3'])) 
//or other if condition 
{ 
    $countinue = true; // set "flag" 
} 
else 
{ 
    $continue = false; 
} 

, а затем:

if($continue == true) 
{ 
// continue what you want to do next 
} 
else 
{ 
// stop process and echo error message 
} 

другая возможность может быть, чтобы отправить переменные снова с помощью GET-метод после проверки их. Это означает, что вызов другой страницы и добавлять свои переменные (в зашифрованном виде) в URL, например, вместо того, чтобы ваш флаг переменной $ продолжить = верно:

header("Location:next-page.php?var1=$_POST['field1']&var2=$_POST['field2]"); 
0

вы можете сделать, как этот

 
    if(isset($_POST['field1'],$_POST['feild2'],$_POST['field3'])) 
    { 
     // submit the form 
    } 

для показывая сообщение об ошибке, вы можете использовать javascript или jQuery здесь Я использую jquery.

  1. Включает jquery в ваш html head.
  2. сейчас напишите script в отдельном файле. и добавьте .js в вашу голову.
 
    $(document).ready(function(){ 
     var val1 = $("#IdOfField1").val(); 
     var val2 = $("#IdOfField2").val(); 
     var val3 = $("#IdOfField3").val(); 
     // now validate the fields as per your requirement. 
     if(val1!='' || val1.lengh != 0) 
      { alert('Enter your name'); 
      return false;} 
     else{return true;} 
    }); 
Смежные вопросы