Varios botones HTML, para distintos envios POST

Iniciado por Agente Naranja, 12 Julio 2007, 19:17 PM

0 Miembros y 1 Visitante están viendo este tema.

Agente Naranja

Necesito ayuda con una cosilla, estoy creando un CMS, y cuando llego a las caracteristicas de escribir entradas, quiero algo similar al Wordpress que permite varias opciones como "guardar y seguir editando", "guardar", "publicar", pero la cosa es que no se como hacer para que el archivo PHP al que apunta el formulario (action="archivo.php") detecte el boton que se ha clickado, a menos que sea con javascript, y quiero hacerlo de ser posible independiente de javascript, solamente con HTML, por lo menos he intentado deshabilitando javascript y en Wordpres funciona igual.
Si alguien tiene alguna idea, enviando quizás algun input type="hidden" o algo similar, echadme una mano.
Gracias.

дٳŦ٭

Si el input de tu form se llama "guardar":

Código (php) [Seleccionar]

<?php
if($guardar){
aquí guardas el contenido del text area
}
?>



Ojo con las registrer globals (sino funciona ese código prueba con $guardar=$_POST['guardar'], si es por GET $guardar=$_GET['guardar']).

Saludos

Movido a PHP.


Con sangre andaluza :)


Agente Naranja

Gracias por moverlo, la verdad no sabía si estaba relacionado más con PHP o con HTML, pero bueno.

La cosa entonces es: Digamos que tengo dos inputs.

Código (html4strict) [Seleccionar]
<input type="submit" name="guardar">
<input type="submit" name="borrar">


Eso quiere decir, que si clicko "guardar", se me creará una variable $_POST['guardar'], y en cambio si clicko "borrar", se me creará una variable $_POST['borrar'].  Con cada botón clickado, se genera una variable POST con el name del boton, y de los demás botones no se crea variable, ¿Es así?

Sanjuu

#3
Efectivamente, el formulario se envía al mismo sitio, lo que tendrías que vigilar al procesar el formulario es que variable es la que se ha mandado:

Código (html4strict) [Seleccionar]


if($_POST['guardar']){      // O $_GET según el modo de envío

     // guardas el resultado

}elseif($_POST['borrar']){

     // borras el resultado

}else{

    // tratamiento de error

};


Código (php) [Seleccionar]

if (pregunta->buscador()==NULL)
     pregunta->formular_pregunta();