PHP - ejecutar funcion en php

 
Vista:
sin imagen de perfil

ejecutar funcion en php

Publicado por jose maria (45 intervenciones) el 29/06/2014 19:35:44
hola, tengo una funcion en un codigo php, dentro de este tengo un echo" que ejecuta una parte de html.....
en esta parte de html hay dos cosas
1) un script
2) una imagen que al hacer click sobre ella ejecuta el script

la pregunta es:
¿hay alguna forma de ejecutar la funcion php y el javascript al clicar sobre esa imagen? (en vez de la imagen me valdria un input)
grcias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ejecutar funcion en php

Publicado por xve (6935 intervenciones) el 30/06/2014 07:40:08
Hola Jose Maria, al pulsar la imagen, puedes ejecutar un javascript que ese mediante AJAX ejecute un código de PHP.

Si nos muestras exactamente tu código intento explicarte como hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ejecutar funcion en php

Publicado por jose maria (45 intervenciones) el 30/06/2014 13:47:22
ok, gracias, aqui os paso mi codigo resumido en la duda que tengo.....

codigo html (aqui no hay ningun problema, este recoje tres datos)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
<title>
</title>
</head>
<body>
<form action="enviomail.php" method="post">
Dato 1=
<input type="text" name="dato1" id="id_dato1">
<br>
Dato 2=
<input type="text" name="dato2" id="id_dato2">
<br>
Dato 3=
<input type="text" name="dato3" id="id_dato3">
<br>
<br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

codigo php (aqui recoje la informacion y cuando estoy de acuerdo, la manda a otro documento, aqui se ejecuta el script....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?PHP
$phpdato1=$_POST['dato1'];
$phpdato2=$_POST['dato2'];
$phpdato3=$_POST['dato3'];
$palabra = "abcdef";
echo "
<html>
<head>
<title></title>
 
<script language=JavaScript>
function calc() {
vent=window.open('http://www.google.com');
document.forms[0].submit();
}
</script>
 
</head>
<body>
<form name=compra action=$url method=post target=_blank>
Datos:
   <br>
   Dato 1:
   $phpdato1
   <br>
   Dato 2:
   $phpdato2
   <br>
     Dato 3:
   $phpdato3
   <br>
     Palabra:
  $palabra
   <br>
   <a href='index.html'><img src='img/b_volver.png' width='94' height='31'/><a href='javascript:calc()'><img src='img/b_ok.png' width='94' height='31' />
<input type=hidden name='otro dato'='123456'>
</form>
</body></html>
";
?>

la susodicha funcion es para mandar un mail por php
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ejecutar funcion en php

Publicado por jose maria (45 intervenciones) el 30/06/2014 21:02:38
aber, el codigo php que tengo al final es este

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?PHP
$phpdato1=$_POST['dato1'];
$phpdato2=$_POST['dato2'];
$phpdato3=$_POST['dato3'];
$palabra = "abcdef";
$email_destino="mio@gmail.com";
$asunto="Prueba";
$cabeceras = "MIME-Version: 1.0" . "\r\n";
$cabeceras .= "Content-type: text/html; charset=utf-8" . "\r\n";
$cabeceras .= "From: yo <".$email_destino.">" . "\r\n";
$mensaje = "
 <html>
 <head>
 <title>Envio desde web</title>
 </head>
 <body>
 <div>
 palabra=".$palabra."<br>
 dato 1= ".$phpdato1."<br>
 dato 2= ".$phpdato2."<br>
 dato 3= ".$phpdato3."
 </div>
 </body>
 </html>";
echo "
<html>
<head>
<title></title>
<script language=JavaScript>
function calc() {
 
vent=window.open('http://www.google.com');
document.forms[0].submit();
 
}
</script>
</head>
<body>
<form name=compra action=$url method=post target=_blank>
Datos:
   <br>
   Dato 1:
   $phpdato1
   <br>
   Dato 2:
   $phpdato2
   <br>
     Dato 3:
   $phpdato3
   <br>
     Palabra:
  $palabra
   <br>
   <a href='index.html'><img src='img/b_volver.png' width='94' height='31'/><a href='javascript:calc()'><img src='img/b_ok.png' width='94' height='31' />
<input type=hidden name='otro dato'='123456'>
</form>
</body></html>
";
if (mail($email_destino,utf8_decode($asunto),$mensaje,$cabeceras)){
 ?><script type="text/javascript">alert("Su mensaje se ha enviado correctamente.");</script><?
 }else{
 ?><script type="text/javascript">alert("Se ha producido un error durante el envio.");</script><?
 }
?>

el problema es que salta todo lo que esta en echo".......
lo que me gustaria que fuera una funcion (u otra cosa) es esta parte del codigo que ejecuta el envio del mail:

1
2
3
4
5
if (mail($email_destino,utf8_decode($asunto),$mensaje,$cabeceras)){
 ?><script type="text/javascript">alert("Su mensaje se ha enviado correctamente.");</script><?
 }else{
 ?><script type="text/javascript">alert("Se ha producido un error durante el envio.");</script><?
 }

por eso, cuando se da al boton ok, se ejecuta la funcion cal(), pues como decia al principio, meter ahy la funcionalidad del codigo del envio
¿me explico?
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar