Foros del Web » Programando para Internet » PHP »

erro al declarar funciones javascript dentro de php

Estas en el tema de erro al declarar funciones javascript dentro de php en el foro de PHP en Foros del Web. Buenos días, en mi código php estoy declarando funciones javascript para llamarlas, pero luego en la web cuando uso este código me da error call ...
  #1 (permalink)  
Antiguo 06/03/2012, 07:22
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 1
erro al declarar funciones javascript dentro de php

Buenos días, en mi código php estoy declarando funciones javascript para llamarlas, pero luego en la web cuando uso este código me da error call to undefined function e todas ellas.

Dejo aquí mi código php con las declaraciones de las funciones javascript dentro:

Código PHP:

<?php
$email
=$_POST['email'];
$teléfono=$_POST['telefono'];


if(
$email !="" && $teléfono !=""


    
$message="";
    foreach(
$_POST as $nombre_html=> $valor_html)
    {
    
$message.= $nombre_html.": ".$valor_html."\n";    
    }
    
    
mail("[email protected]","solicitud de presupuesto",$message);
    
?>
    <script language="JavaScript" type="text/JavaScript">
function situarIndex(){
window.location.href = "http://www.valladolid.es";
}
</script> 
<?
situarIndex
();

?>
<script language="javascript" type="text/javascript">
function enviadoAlert() {
    alert('Su solicitud se ha enviado correctamente. Lo antes posible nos pondremos en contacto con usted');
}
</script>
<?
    enviadoAlert
();
}
else
{
    
?>
    <script language="javascript" type="text/javascript">
function alertaDatos(){
    alert("Por favor introduzca su email o teléfono para que podamos contestar su solicitud. Muchas gracias");
}
</script>
<?
alertaDatos
();
}
?>
  #2 (permalink)  
Antiguo 06/03/2012, 07:37
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 3 meses
Puntos: 331
Respuesta: erro al declarar funciones javascript dentro de php

Si estás intentanto llamar a las funciones de esta forma:

Código PHP:
Ver original
  1. <?php
  2. ?>
  3.     <script language="JavaScript" type="text/JavaScript">
  4. function situarIndex(){
  5. window.location.href = "http://www.valladolid.es";
  6. }
  7. </script>
  8. <?
  9. situarIndex();
  10. etc...
esto no puede funcionar nunca, estás llamando funciones JS desde PHP.
Lo que podrías hacer es echo "enviadoAlert()"; pero aún así no es correcto. Puedes hacer echo "<script>alert(xxxx`);</script>"; pero también es un poco dificil de mantener y de leer.
Deberías primero aclararte sobre el funcionamiento de PHP y Javascript, luego mejorar un poco tu código separando el código PHP del diseño y del JS.
Saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 06/03/2012, 07:42
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 10 meses
Puntos: 23
Respuesta: erro al declarar funciones javascript dentro de php

Primero que nada si quieres redirigir a una pagina puedes recurrir a la función de php [URL="http://es.php.net/manual/es/function.header.php"]header[/URL]. Es más fácil y te ahorras lios con javascript.

Lo segundo es que estás llamando a una función hecha en javascript desde php, sustituye por ejemplo

Código PHP:
<script language="javascript" type="text/javascript"> 
function alertaDatos(){ 
    alert("Por favor introduzca su email o teléfono para que podamos contestar su solicitud. Muchas gracias"); 

</script> 
<? 
alertaDatos
(); 

?>
por

Código PHP:
<script language="javascript" type="text/javascript"> 
function alertaDatos(){ 
    alert("Por favor introduzca su email o teléfono para que podamos contestar su solicitud. Muchas gracias"); 


alertaDatos(); 
</script> 
<? 

?>
o también

Código PHP:
 alert("Por favor introduzca su email o teléfono para que podamos contestar su solicitud. Muchas gracias"); 
<?php ?>
  #4 (permalink)  
Antiguo 06/03/2012, 10:31
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: erro al declarar funciones javascript dentro de php

Al final lo hice usando echo para generar el código html.

Ahora tengo el siguiente problema: cuando las variables $email ="" && $teléfono ="", se muestra el mensaje de alerta pero la url del explorador pasa a ser http://miweb.es/email.php siendo email.php el nombre del archivo que contiene mi código php
y yo necesitaría que la url no se modificara, se quedara en el formulario actual con los datos introducidos en el formulario.
¿Puedo hacer esto de alguna forma sencilla?

Etiquetas: declarar, erro, funciones, html, javascript
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 00:29.