Comunidad de diseño web y desarrollo en internet online

Hola, llamar función php desde caja de texto con onchange

Citar            
MensajeEscrito el 24 Jun 2017 03:54 pm
Hola, estoy continuando con mi proyecto y me he topado con un problemilla, todo va bien en mi formulario, en una parte de mi formulario tengo una caja de texto input tipo url que insertas una url y yo quisiera poner una función que cuando el cliente acabe de escribir la url en el input me diga si esa url es verdadero o falsa y si es falsa me bloquee la función "insertar5.php".

Para ello hice un input y puse en onchange lo siguente:

Código :

<?php
    $url = $_POST['artarea'];
    function url_exists($url) {
        $h = get_headers($url);
        $status = array();
        preg_match('/HTTP\/.* ([0-9]+) .*/', $h[0] , $status);
        return ($status[1] == 200);
    }
    echo url_exists($url)? 'existe' : 'no existe';
?>
<input  type="url" name="artarea" id="artarea" style="opacity: 0.8; border: inset; border-radius: 10px; font-family: segoe script;" required placeholder="Escribe aqu&iacute; el enlace." onpaste="return paste;" oncut="return false;" oncopy="return false;" onchange="<?php echo validar_url(); ?>">


Llama a una función php mediante onchange según lo que he oído está mal el onchange="<?php echo validar_url(); ?>" creo. ¿Y si es así como lo puedo llamar a la función validar_url()?

Gracias de antemano

Por IVAN HEREDIA PLANAS

53 de clabLevel



Genero:Masculino  

Lo increíble, no es lo que ves, sino como es

chrome
Citar            
MensajeEscrito el 24 Jun 2017 04:10 pm
Típicamente validar algo en un onchange de un combo es algo que se hace client side, no se llama a un script server side ... luego estás poniendo un echo de un PHP que se ejecuta server side, con lo cual es imposible que se ejecute, en este caso tienes un error conceptual: PHP se ejecuta en el servidor, no en el cliente.
Finalmente: lo que sea que ejecutes en el onchanhge, tiene que ser JavaScript, si necesitas traer datos para poder realizarlo, hazlo de antemano, no es algo que puedas hacer runtime

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Jun 2017 04:14 pm
Ok gracias por responder tan rápido, lo que haré es una función javascript que llame a la funcion php. Si es que se pude

Por IVAN HEREDIA PLANAS

53 de clabLevel



Genero:Masculino  

Lo increíble, no es lo que ves, sino como es

chrome
Citar            
MensajeEscrito el 24 Jun 2017 04:22 pm
Validar un onchange server side es un penalización al rendimiento y un error de diseño. Tienes que resolverlo todo via JavaScript sino esperar la validación al momento en que se envíe toda la data

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.