Cita:
Iniciado por javifo 1.- A <INPUT TYPE=text NAME=dni> Le falta el valor. Ha de ser:<INPUT TYPE=text NAME=dni value=$dni>
Si te refieres a el formulario inicial (parece una vez enviado el valor lo optiene de la BD), la variable no va a existir y, siendo un textbox, no necesariamente debe llevar
value.
Cita:
Iniciado por javifo 3.- Por lo que veo, quieres que el formulario te envíe $buscar o $editar (una de las dos). Para que lo haga la ha de pasar. Para hacerlo, lo más normal es poner un input de tipo radio. Cada casilla lleva una de las dos variables. La que selecciona el usuario es la que se envía.
...

, creo aquí no es opción mostrar la opción (valgase la redundancia

); primero se busca y de lo optenido de la BD se edita...
Cita:
Iniciado por javifo 4.- El botón submit sirve para el envío pero no te pasará ninguna variable.
Todo elemento del formulario es enviado, eso incluye el botón Submit

...
Cita:
Iniciado por javifo 5.- Para desencadenar el script, olvídate de $ok. Haz con la función isset la comprobación para saber qué variable te han pasado ($buscar o $editar).
... de acuerdo, ya lo había dicho en dicho en mi mensaje anterior --sugerí empty(), igual sirve-- pero no olvidemos que se pregunta por un valor que es pasado por POST... precisamente por su existencia, es un error querer ocuparlo si no existe. A esto me referia en mi antepenúltima respuesta (en la que dije que debió de aparecer un mensaje de error). Veamos la diferencia:
Correcto:
Código PHP:
if(isset($_POST['algo'])) // vemos si existe
echo "Existe"; // actuamos en concecuencia
Incorrecto:
Código PHP:
$algo= $_POST['algo']; // esto es un error, estamos "ocupando" algo que no existe...
if(isset($algo)) // además es mejor hacerlo directamente; ¿por qué gastar procesos?
echo "Existe";
De la segunda forma debería aparecer un mensaje de error... claro que se puede evitar y funcionaria el script pero espero se entienda el error...
Las herramientas son esas, la manera y forma de ocuparlas pueden ser muy variadas, cada quien podría tener una solución diferentes y cada una podría ser perfectamente válida...
Código PHP:
if(!isset($_POST['ok'])) {
// mostramos el formulario "original"
echo "<input type=\"submit\" name=\"ok\" value=\"Buscar\">";
} elseif($_POST['ok']=="Buscar") {
// me parece que aquí iria un segundo formulario...
echo "<input type=\"submit\" name=\"ok\" value=\"Editar\">";
} else { // Por eliminación ya no es necesaria la comprobación... pero si se quiere...
// etc
}
Un saludo!