| |||
Veamos. Lo primero que debes tener claro es que PHP se ejecuta en el "lado del servidor" y javascript en el "lado del cliente". No tiene nada que ver la validación que hagas con Javascript con la que hagas con PHP .. cada cosa se ejecuta en un lado y momento concreto. Con PHP tu "generas" la página HTML/con tu javascirpt/CSS ..etc que el "navgegador" (cliente mejor dicho) interpretará. Si tu quieres validar un "formulario HTML" tienes que decidirte -en que momento- deseas hacer tu validación, por qué puede ser -antes- de que los datos lleguen al script o código PHP de proceso o cuando lleguen a manos de PHP. Si te decides por "antes" .. ahí usas javascript y esto es muy bueno para dar "usabilidad" a tu aplicación pero no para dar -seguridad-, para dar seguridad usas PHP .. es decir una vez recibido el dato en tu script PHP ahí lo validas por seguridad. Lo que -manda- siempre es la validación que hagas en PHP a efectos de seguridad y confiabilidad. Por ende .. no entiendo por qué dices "onClick" (un evento que sucede en el "cliente" y es de javascript) y que "PHP se lo salta" y sobre todo que "hace lo que le dá la gana" .. PHP hace lo que tiene que hacer, en tal caso serás tú el que no entiendes el proceso que te acabo de detallar. Conforme lo comprendas más (puedes preguntar dudas al respecto) mejor te irá para enfocar la solución a tus problemas donde corresponda: en el "lado del servidor" (PHP) o en el "lado del cliente" (javascript, HTML .. etc). Ahora, con esto más "claro" si tu concretas que tipo de validación quieres hacer, mejor será (incluye código si algo tienes hecho). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
He probado con este código y me funciona, pero lo he puesto en el archivo de envio, y yo lo que quería es que lo haga en la propia hoja del formulario antes de que pase al archivo de envio, es decir, cuando pulse en enviar del formulario, me haga esto del código pero que salga una ventanita y me lo diga sin cambiar de archivo. //Cogemos los datos del formulario $apellido=$_POST['Apellido']; $nombre=$_POST['Nombre']; $direccion=$_POST['Direccion']; $cod_post=$_POST['cod_post']; $provincia=$_POST['Provincia']; $localidad=$_POST['Localidad']; $telefono=$_POST['Telefono']; $mail=$_POST['mail']; //Comprobamos que todos y cada uno de los datos NO esten vacios //foreach ($_POST as $valor) { // if (empty($valor)) { // exit ("Has dejado campos por rellenar"); // } //} //Comprobamos que el codigo postal sea un numero if (empty($nombre)) { exit ("El nombre no esta relleno"); } //Comprobamos que el codigo postal sea un numero if (empty($apellido)) { exit ("El Apellido no esta relleno"); } //Comprobamos que el codigo postal sea un numero if (empty($direccion)) { exit ("El direccion no esta relleno"); } //Comprobamos que el codigo postal sea un numero if (empty($provincia)) { exit ("El provincia no esta relleno"); } //Comprobamos que el codigo postal sea un numero if (empty($localidad)) { exit ("El localidad no esta relleno"); } //Comprobamos que el codigo postal sea un numero if (!is_numeric($cod_post)) { exit ("El código postal debe ser un número"); } //Comprobamos que el telefono sea un numero if (!is_numeric($telefono)) { exit ("El teléfono debe ser un número"); } //Comprobamos que la direccion email sea valida if (!ereg("^([a-zA-Z0-9\._]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})",$mail)){ exit ("El e-mail no es valido"); } |
| |||
Cita: Bueno .. pues eso ya te lo expliqué .. ese comportamiento se soluciona con un lenguaje del lado del -cliente- no del servidor como es PHP. Deja tu validación PHP que has hecho (como seguridad) e implementa las mismas validaciones en javascript por "usabilidad".He probado con este código y me funciona, pero lo he puesto en el archivo de envio, y yo lo que quería es que lo haga en la propia hoja del formulario antes de que pase al archivo de envio, es decir, cuando pulse en enviar del formulario, me haga esto del código pero que salga una ventanita y me lo diga sin cambiar de archivo. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Muchas gracias por el enlace, pero necesito un ultimo apunte, el name de mi formulario es name="<?php echo $v['identificador']?>", como ves una variable de php, y quisiera saber como poner esa variable en el script: De esta forma no me funciona: function .'$v['identificador'].'(formobj) Muchas gracias por todo. |