the_excerpt read page more length get_the_excerpt excerpt php post get

read - wordpress php the_excerpt() length



alternativa a $_POST (3)

Tengo una gran forma con entradas de tipo (texto, casillas de verificación, oculto et). El contenido de las entradas de formulario se toma de una base de datos. El usuario debe realizar algunos cambios y guardar los datos nuevamente en el archivo db.

En este momento estoy usando una función que tiene un bucle foreach($_POST as $key=>$value) . Como sabes, hay problemas con el método de publicación:

  1. no se puede actualizar,
  2. no puedes ir hacia atrás

Me gustaría usar el método $_GET , pero la longitud de mis variables y valores es mayor que 2000 caracteres.

¿Tienes algún consejo para mí, sobre qué puedo hacer? Tal vez hay algunos trucos para usar $_GET . Tal vez no entendí cómo usarlo, ¿verdad?


No hay absolutamente nada de malo en POST en sí. Solo debes usarlo correctamente
Un estándar HTTP dice que debe hacer una redirección GET después de recibir la solicitud POST.
Entonces, tan fácil como este código

header("Location: ".$_SERVER[''PHP_SELF'']); exit;

después de procesar su formulario, resolverá todos sus "problemas"

en caso de que desee manejar los errores de publicación, puede usar el patrón POST / Redirect / GET. Sin embargo, no redirige a error, los problemas que mencionó se vuelven insignificantes.

aquí hay un ejemplo conciso de esto:

<? if ($_SERVER[''REQUEST_METHOD'']==''POST'') { //processing the form $err = array(); //performing all validations and raising corresponding errors if (empty($_POST[''name'']) $err[] = "Username field is required"; if (empty($_POST[''text'']) $err[] = "Comments field is required"; if (!$err) { //if no errors - saving data and redirect header("Location: ".$_SERVER[''PHP_SELF'']); exit; } else { // all field values should be escaped according to HTML standard foreach ($_POST as $key => $val) { $form[$key] = htmlspecialchars($val); } } else { $form[''name''] = $form[''comments''] = ''''; } include ''form.tpl.php''; ?>

por error, mostrará el formulario de nuevo. pero después de la presentación exitosa del formulario también se redireccionará.



En lo que respecta al procesamiento de bucles, la estructura de bucle foreach en PHP realiza una copia de la matriz en la que está trabajando. Si desea procesar $ _POST con una construcción de bucle diferente (para / while) y usar funciones como count (), current (), reset (), next (), prev (), end (), each (), o key (), ten en ello.

Programación PHP: Capítulo 5, p. 128-129