Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/02/2016, 13:48
aomargenet
 
Fecha de Ingreso: febrero-2016
Ubicación: Mallorca
Mensajes: 5
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Validar campos con php y mostrarlos en el formulario

Muy buenas Carlillos, gracias por responder tan rápido!
He probado tu sugerencia, pero no logro que funcione. En cambio estoy utilizando Jquery en el archivo php que procesa el formulario. He intentado de varias formas asegurarme que Wordpress no tenga problemas con Jquery, dado que mi formulario está una entrada de Wordpress.
Te cuento lo que probé como alternativas para poder validar, en encuesta1.php:

Código PHP:
if (isset($_POST["submit"])){
    
    
if (empty(
$_POST['opcion1'])) {
    echo 
"<script type=\"text/javascript\">
           alert('Debes rellenar almenos 1 opci\u00F3n de cada punto.');
           history.go(-1);
    </script>"
;
}
else{
    
mysqli_query ($connect,"INSERT INTO encuesta1 (SOY, PARTICIPO, EXPONG, MEGUSTARIA, RESPONSABILIDADSOCIAL, CONSULTADOSESTADOS, SOBREARCPEACE, SOBREASF, SOBREARCPI, OTRAONG, INFOCAMBIOCLIMATICO, HABITATIII) VALUES('$soy', '$participo', '$expong', '$megustaria', '$responsabilidadsocial', '$consultadosestados', '$sobrearcpeace', '$sobreasf', '$sobrearcpi', '$otraong', '$infocambioclimatico', '$habitatIII')");
}
}

mysqli_close ($connect); 
Cuando lo aplico en todos los inputs funciona bien, si un usuario entra y no rellena al menos una opción de cada punto se muestra la alerta y al aceptar regresa al formulario tal y como los tenía. Pero lo curioso es que aún así me inserta en la base de datos el formulario. Se ejecuta el else. No entiendo.
En cambio como yo lo tenía antes:
Código PHP:
if (empty($_POST['opcion1'])) {
    echo 
"Debe seleccionar almenos 1 opcion del punto 1:";

No se insertan en la base de datos, pero se muestran en el archivo enuesta1.php que es lo que no quiero. Deseo validar en el mismo formulario con php o con alertas. Porque queda fea la validación en una pág en blanco sin formato. Cómo lo hago? Saludos!