Foros del Web » Programando para Internet » PHP »

Ancla en php sin perder los datos de un formulario

Estas en el tema de Ancla en php sin perder los datos de un formulario en el foro de PHP en Foros del Web. Hola, soy nuevo en el foro, he estado leyendo algunos hilos por si encontraba la solución pero no la he encontrado, el problema es el ...
  #1 (permalink)  
Antiguo 09/02/2010, 02:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 1
Ancla en php sin perder los datos de un formulario

Hola, soy nuevo en el foro, he estado leyendo algunos hilos por si encontraba la solución pero no la he encontrado, el problema es el siguiente:

Estoy desarrollando una web con un apartado de noticias con comentarios de los usuarios, el problema me viene a que en dicha web primero se visualiza la noticia, luego los comentarios y por ultimo un formulario para añadir comentarios con una imagen captcha para el antispam.

Bueno al postear el formulario se comprueba en la misma pagina si la variable session que tengo con los caracteres de la imagen coinciden con los que ha escrito el usuario:

if(strtolower($_POST['antispam'])!=strtolower($_SESSION['antispam'])){
$antispam_mal=true;
header("Location: #escribir_comentario");
}

Lo que quiero es poner un ancla para que vuelva la pagina al formulario y no tener que bajar de nuevo toda la web para volver poner los digitos, con ese codigo si que se va a la parte del formulario, pero al ser un header("Location: #escribir_comentario") me redirige perdiendo todos los valores posteados ya que recarga la pagina de nuevo.

Queria saber si alguien sabria como redirigirlo como si de un ancla en html se tratara.

Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 09/02/2010, 10:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ancla en php sin perder los datos de un formulario

en si... la técnica consiste en no redireccionar, mas bien se trata de mostrar el formulario... y como obviedad agregar dicha ancla al action del mismo

Código PHP:
<?php
if (/* formulario valido */)
{
  
// ...
}
?><a id="ancla"></a>
<form action="#ancla">
  <input value="<?php if ( ! empty($_POST['foo'])) echo $_POST['foo']; ?>" name="foo"/>
</form>
así se evitaría la redirección... pues solo en caso de ser valido el formulario se procesa y tal ves ahí redireccione, en caso omiso... simplemente se sigue mostrando el formulario... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/02/2010, 11:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Ancla en php sin perder los datos de un formulario

muchas gracias pateketrueke, al final habia optado por hacer un apaño del siguiente modo

if(strtolower($_POST['antispam'])!=strtolower($_SESSION['antispam'])){
$antispam_mal=true;
?><script>document.location.href = "#escribir_comentario";</script><?
}

metiendo un cacho de javascript que me redirigia a la ancla, pero tu idea me parece mas buena, lo he cambiado y perfecto. :)

Etiquetas: redireccionar, formulario, anclas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:26.