Foros del Web » Programando para Internet » PHP »

meter php dentro de html

Estas en el tema de meter php dentro de html en el foro de PHP en Foros del Web. Hola mi duda es como puedo meter php en un formulario html, más concretamente quiero hacer que en un campo de texto, añadirle la propiedad ...
  #1 (permalink)  
Antiguo 17/04/2007, 04:56
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 1 mes
Puntos: 0
meter php dentro de html

Hola
mi duda es como puedo meter php en un formulario html, más concretamente quiero hacer que en un campo de texto, añadirle la propiedad onBlur y que aquí llame a una funcion php.

gracias.
  #2 (permalink)  
Antiguo 17/04/2007, 05:20
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: meter php dentro de html

onblur (más correcto en minúscula) es un evento javascript que sólo puede llamar a una función javascript. Javascript se ejecuta en el navegador, es decir, después de que php ya hizo su trabajo. Lo que podrías hacer es que la función javascript llame a una nueva página php, para que php haga algo que necesites. Esta llamada puede ser a una nueva página, a la misma o a un frame o iframe de la misma página, los cuales, a su vez, pueden estar visibles u ocultos. También, la función javascript llamada con onblur, podría hacer una petición Ajax a una página php que devuelva resultados sin un refresco visible (cosa que también puede lograrse con un iframe oculto, que es lo que antes se llamaba remote scripting y ahora ha dado en llamarse pseudoajax).
  #3 (permalink)  
Antiguo 17/04/2007, 06:01
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: meter php dentro de html

Bueno estoy empezando, y de momento me quedo con php+mysql.
Gracias por tu respuesta me servira de mucha ayuda.
  #4 (permalink)  
Antiguo 19/04/2007, 08:43
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: meter php dentro de html

Cita:
Iniciado por Panino5001 Ver Mensaje
Lo que podrías hacer es que la función javascript llame a una nueva página php, para que php haga algo que necesites.
Y esto como lo hago?

Lo que yo tengo es un formulario de alta de usuarios, al darle al Submit se llama a validar (funcion javascript), en esa función miro que los valores que haya insertado sean correctos (que no esten vacíos, etc). Ahora bien, el campo que identifica a ese usuario (en mi caso es el DNI), tengo que hacer la comprobación de que ese usuario no exista aun (conectarme a la bd, que es en mysql). En principio, quiero hacerlo en la misma función que valida todos los demas datos.
  #5 (permalink)  
Antiguo 19/04/2007, 09:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: meter php dentro de html

yo hice algo parecido alo k kieres, pero lo hice de la siguiente forma
en la pag puse 2 formularios 1 donde tenia como dato de entrada el rut (en tu caso dni) y con la opcion onkeyup le ordenaba a un javascript k asignara ese valor a un campo rut hidden k ubike en el segundo formulario, entonces el formulario 1 tenia como action un popup k valida la existencia de la persona, mientras el segundo tenia como action otra pagina en la k procesaba los datos enviados
  #6 (permalink)  
Antiguo 20/04/2007, 03:13
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: meter php dentro de html

lo que GreenlanternX me propone no acabo de verlo claro para lo que yo quiero hacer.

Supongamos que dentro del <head> tengo esta función:

Código:
<script>
function validar(form)
{
if(form.nomCognoms.value==""){
alert("Completi el nom i cognoms");
form.nomCognoms.focus();
return false;
}
}
me gustaría poder llamar a una función escrita en php que está en la misma página. he probado metiendo la línea <? validarDni() ?> pero no funciona
  #7 (permalink)  
Antiguo 20/04/2007, 06:18
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: meter php dentro de html

Te dejo un ejemplo usando un iframe oculoto:
Código PHP:
<?php
if(isset($_GET['guardar'])){
session_start();
$_SESSION['guardar']=$_GET['guardar'];
exit;
}
if(isset(
$_GET['mostrar'])){
session_start();
echo 
'<script>parent.document.getElementById("test").innerHTML="'.$_SESSION['guardar'].'"</script>';
exit;
}
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ejemplo</title>
<script>
var error=<?php if(isset($_SESSION['guardar']))echo $_SESSION['guardar'];else echo '0'?>;
function validar(form)
{
if(form.caja.value==""){
document.getElementById("test").innerHTML="";
error++;
document.getElementById("pp").src='<?php echo basename($_SERVER['PHP_SELF']) ?>?guardar='+error;
alert("Completi el nom i caja");
form.caja.focus();
return false;
}
return true;
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="<?php echo basename($_SERVER['PHP_SELF']) ?>?<?php if(isset($_SESSION['guardar']))echo $_SESSION['guardar']  ?>" onsubmit="return validar(this)">
  <input name="caja" type="text" id="caja" />
  <input type="submit" name="Submit" value="Enviar" />
  <input type="button" name="Submit2" value="ver las veces que intent&oacute; mandar el form sin escribir nada" onclick="document.getElementById('pp').src='<?php echo basename($_SERVER['PHP_SELF']) ?>?mostrar'" />
</form>
<div id="test"></div>
<iframe id="pp" width="1" height="1" style="visibility:hidden"></iframe>
</body>
</html>

Última edición por Panino5001; 20/04/2007 a las 06:26
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:02.