Prueba con esto:
El problema como dijo PirruMan, es que en el segundo caso $cantidad no fue correctamente inicializada. Por lo tanto al hacer:
Código:
if(isset($_POST["sumar"])) {
$cantidad+=10; // Al hacer esto
}
Hay dos problemas:
1. Estas utilizando una variable que no tiene nada (no fue inicializada).
2. La variable $cantidad, que
por lo que veo la queres utilizar para ir acumulando los valores sumados, esa variable ($cantidad), se CREA cuando se ejecuta el codigo php y se destruye cuando termina el codigo PHP. Por lo tanto la proxima vez que ejecutes el programa (o bien que le des F5 a tu navegador, lo mismo que hacer submit) la variable se volverá a inicializar en cero. Me explico? Necesitas que esa variable se guarde como variable global. Puedes utilizar $_SESSION o un valor oculto como la etiqueta hidden. O algo que permita que tu variable "viva" durante toda la ejecución del programa y no solo en cada "submit" realizado.
Por lo pronto, sin tener en cuenta el punto dos, el programa debería funcionar de la siguiente forma:
Código:
<?
$cantidad = 0; // La variable es cero, si es la primera vez, es cero.
// y si hizo submit la inicializamos para poder utilizarla despues.
if(isset($_POST["sumar"])) // Hizo submit. Entonces sumamos $cantidad(q va a ser 0) + 10
{
$cantidad= $cantidad + 10;
}
echo "<h1>La variable vale: ".$cantidad."<h1>";
?>
<form name="form1" method="post" action="sumar.php">
<input type="submit" name="sumar" id="sumar" value="Sumar">
</form>