volver ventana quedarse pagina mostrar misma mensaje formulario error envio enviar enviado despues contacto confirmacion php forms validation

php - ventana - mostrar mensaje despues de enviar formulario javascript



Verificando si el formulario ha sido enviado-PHP (7)

¿Cuál es la mejor manera de verificar si se ha enviado un formulario para determinar si debo pasar las variables del formulario a mi clase de validación?

Primero pensé que quizás:

isset($_POST)

Pero eso siempre volverá verdadero ya que un superglobal se define en todas partes. No quiero tener que repetir cada elemento de mi formulario con:

if(isset($_POST[''element1'']) || isset($_POST[''element2'']) || isset(...etc

Mientras escribía esta pregunta, pensé en una solución mucho más básica, agregué un campo oculto para actuar como una bandera que puedo verificar.

¿Hay una manera "más limpia" de hacerlo que agregar mi propia bandera?


En realidad, el botón de enviar ya realiza esta función.

Pruebe en la FORMA:

<form method="post"> <input type="submit" name="treasure" value="go!"> </form>

Luego, en el controlador de PHP:

if (isset($_POST[''treasure''])){ echo "treasure will be set if the form has been submitted (to TRUE, I believe)"; }


Para un control general si hubo una acción POST use:

if (!empty($_POST))

EDITAR : como se indica en los comentarios, este método no funcionará en algunos casos (por ejemplo, con casillas de verificación y botón sin nombre). Realmente deberías usar:

if ($_SERVER[''REQUEST_METHOD''] == ''POST'')


Prueba esto

<form action="" method="POST" id="formaddtask"> Add Task: <input type="text"name="newtaskname" /> <input type="submit" value="Submit"/> </form> //Check if the form is submitted if($_SERVER[''REQUEST_METHOD''] == ''POST'' && !empty($_POST[''newtaskname''])){ }


Qué tal si

if($_SERVER[''REQUEST_METHOD''] == ''POST'')


También puedes usar:

is_array($_POST)


Utilizar

if(isset($_POST[''submit''])) // name of your submit button


if ($_SERVER[''REQUEST_METHOD''] == ''POST'') .