Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/07/2013, 11:06
edward1994
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 11 años, 5 meses
Puntos: 14
Respuesta: Desvío de retorno de validación PHP al value de un input?

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
  1. <?php
  2. $datos=$_POST['datos_obtenidos'];
  3. if(isset($_POST['datos'])){
  4. //el proceso en caso de que todo este correcto
  5. }else{
  6. //si hay un error, la respuesta me la muestra en el boton asi...
  7.  
  8. ?>
  9. <script>
  10. var frmRegisterError = document.getElementById("frmRegisterError");
  11. frmRegisterError.value = "Debes enviar un dato";
  12. </script>
  13. <?php
  14.  
  15.  
  16.  
  17. }
  18.  
  19. ?>

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