Ok, bueno podriamos juntar la respuesta que te dio Vosk con la mia! asumiendo que envias el formulario en la misma pagina! pues esa es la forma como se me ocurre, y es que al procesar los datos en la misma pagina la respuesta del php la des en un javascript ejemplo...
Código PHP:
Ver original<?php
$datos=$_POST['datos_obtenidos'];
if(isset($_POST['datos'])){ //el proceso en caso de que todo este correcto
}else{
//si hay un error, la respuesta me la muestra en el boton asi...
?>
<script>
var frmRegisterError = document.getElementById("frmRegisterError");
frmRegisterError.value = "Debes enviar un dato";
</script>
<?php
}
?>
Eso como te comente, asumiendo que envies el formulario a la misma pagina! ahora..puedes hacer lo mismo con sessiones o con la variable $_GET en caso de que proceses el formulario en otra pagina!
y es asi...
envias el formulario..procesas lo enviado y la respuesta que generes sea una redireccion a la pagina de formulario! pero asignando una variable por la URL en esa redireccion o creando una session..el ejemplo seria algo asi..
Luego que envias el formulario
//pagina de proceso
if(isset($_POST['dato'])){
//en caso de que todo este bien, procesa!
}else{
//primera opcion
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=paginaAnterior.php?respuesta="Hubo un erro con el dato enviado"">';
//segunda opcion
$_SESSION['respuesta']="Hay un error con el dato enviado"
y redireccionas..a la pagina!
}
ok, ya en esa pagina anterior!
en el formulario deberias de tener una validacion para mostrar el boton, para el primer caso...
if(isset($_GET['respuesta'])){
//muestras el boton o lo que quieras y en el value le colocas el $_GET['respuesta'];
}else{
//de lo contrario muestras el boton solo, normal pues seria como si no hubiese sido enviado el formulario
}
//segundo caso con la session, es practicamente lo mismo! solo que...deberias mostrar la respuesta una sola vez! o sea quedando asi
if(isset($_SESSION['respuesta'])){
//muestras el boton y en el value colocas el $_SESSION['respuesta']
y aca es lo diferente a la anterior! que invalidaras esa variable con unset($_SESSION['respuesta']);
eso para que si se recarga la pagina ya no entre en esta sección de la validacion si no en la siguiente..
}else{
//esta seria la otra seccion de la validacion!...aca mostrarias lo que es el boton solo para enviar
}
De igual forma te envio saludos desde mi Venezuela querida! :D