JavaScript - Javascript y dentro php no va

 
Vista:
Imágen de perfil de jorge
Val: 29
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por jorge (15 intervenciones) el 16/01/2020 16:09:18
Buenas tardes,

A continuación os muestro una parte de código de una función javascript con php intercalado, el problema es que no me ejecuta el orden que hay escrito y es porque javascript se ejecuta antes que php y no se como arreglarlo, lo he probado todo mirando en vuestro foro ejemplos y en otros también. Ahí os dejo el código:

Este if es para ver si han rellenado los campos del formulario (javascript)

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
65
66
67
68
69
if(jnombre!=" " && japellidos!=" " && jtelefono!=" " && jdni!=" " && jmail!=" ")
{
                    //AQUÍ HAGO EL POST PARA PASAR EL VALOR DE LOS CAMPOS DEL FORMULARIO A 
                      VARIABLES PHP
    <?php
    $sexo=$_POST["sexo"];
    $estado=$_POST["estado"];
    $nombreRegistro=$_POST["nombre"];
    $apellidosRegistro=$_POST["apellidos"];
    $telefonoRegistro=$_POST["telefono"];
    $DNIRegistro=$_POST["dni"];
    $mailRegistro=$_POST["mail"];
 
    //Solo comprobamos DNI si es diferente de blanco
    if($DNIRegistro!="" && $DniOK==false)
    {
        // Inicio comprobamos si el DNI es bueno
        $letra=substr(strtoupper($DNIRegistro), -1);
        $numeros=substr($DNIRegistro, 0, -1);
        if (substr("TRWAGMYFPDXBNJZSQVHLCKE", $numeros%23, 1)==$letra && strlen($letra)==1 && strlen($numeros)==8)
        {
            traza("Dni valido",false);
            $DniOK=true;
        }
        else
        {
            //Si el DNI es incorrecto inicializamos variable para no grabar el registro
            $DNIRegistro="";
            traza("Dni NO valido",false);
        //window.alert("DNI INCORRECTO");
        }
    }
    // Fin comprobamos si el DNI es bueno
 
    //Solo grabamos si han introducido toda la información
    if($nombreRegistro!="" && $apellidosRegistro!="" && $telefonoRegistro!="" && $mailRegistro!="" && $DNIRegistro!="")
    {
                            //AQUÍ EJECUTO 2 FUNCIONES PHP(ESTÁN EN OTRO FUENTE)
        AbreConexionDDBBPHP();
        $grabado=GrabaRegistroUsuario($conexion,strtoupper($nombreRegistro),strtoupper($apellidosRegistro),$telefonoRegistro,$mailRegistro,strtoupper($DNIRegistro),$sexo,$estado);
        //Si la grabación del usuario ha ido correcta
                            //RECOJO POR PARÁMETRO EL VALOR DE $grabado
        if($grabado=="OK")
        {
                                    //ESTO DIRECTAMENTE NO VA
            //echo '<script type="text/javascript">window.alert("USUARIO REGISTRADO");</script>';
    ?>
                                 //EN FUNCIÓN DE LO QUE RECIBA POR PARÁMETRO PONGO A TRUE O FALSE
                                    UN BOOLEANO EN JAVASCRIPT PARA AL FINAL MOSTRAR EL ALERT
                                    CORRESPONDIENTE
            gabadoJS=true;
    <?php
        }
        else
        {
                                     //ESTO DIRECTAMENTE NO VA
            //echo '<script type="text/javascript">window.alert("USUARIO NO REGISTRADO");</script>';
    ?>
            gabadoJS=false;
    <?php
        }
    }
    ?>
    //POR ÚLTIMO MUESTRO EL ALERT EN FUNCIÓN DE LO RECIBIDO Y SIEMPRE ES FALSE
    if(gabadoJS==true)
        window.alert("USUARIO REGISTRADO");
    else
        window.alert("USUARIO NO REGISTRADO");
}


Muchas gracias por anticipado.
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 Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por Alejandro (532 intervenciones) el 16/01/2020 16:44:31
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
PHP se ejecuta en el servidor, JS se ejecuta en el cliente.
Primero se ejecuta PHP y genera un HTML con el JS que luego se ejecuta en el cliente.

No puedes tener algo como esto:
1
2
3
4
5
6
7
<script>
   function saludar(){
      <?php echo 'Hola mundo'; ?>
   }
 
   saludar()
</script>

Primero se ejecuta el PHP en el servidor generando el siguiente contenido:
1
2
3
4
5
6
7
<script>
   function saludar(){
      hola mundo
   }
 
   saludar()
</script>

Después se ejecuta el JS en el cliente con error en la linea hola mundo.
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
Imágen de perfil de jorge
Val: 29
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por jorge (15 intervenciones) el 16/01/2020 16:47:24
Gracias Alejandro,

Si, eso lo entiendo, pero entonces no es posible hacer lo que intento?, de que otra forma se podría hacer?,

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
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por Alejandro (532 intervenciones) el 16/01/2020 16:56:24
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
1
2
3
4
5
6
7
8
9
10
11
<script>
   function saludar(){
      <?php
      $variablePHP = 'Hola mundo';
      echo "variableJS = '$variablePHP';";
      ?>
      alert(variableJS);
   }
 
   saludar()
</script>

1
2
3
4
5
6
7
8
<script>
   function saludar(){
      variableJS = 'Hola mundo';
      alert(variableJS);
   }
 
   saludar()
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jorge
Val: 29
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por jorge (15 intervenciones) el 16/01/2020 17:03:57
Gracias de nuevo Alejandro,

Sigue sin funcionar la parte de php, la de java script sin problemas pero el caso es que tal y como está construido el programa necesito llamar a las funciones php dentro de esta función javascript que se ejecuta al pulsar un botón.

He probado de definir la función con async para poder utilizar el await pero no hay manera,

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
Imágen de perfil de Pedro
Val: 101
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por Pedro (23 intervenciones) el 16/01/2020 20:23:54
1
2
3
4
5
6
7
8
9
if(gabadoJS==true)
{
   echo '<script>alert("USUARIO REGISTRADO");</script>';
}
else
{
    echo '<script>alert("USUARIO NO REGISTRADO");</script>';
 
}
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
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por Alejandro (532 intervenciones) el 16/01/2020 20:27:06
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
No has entendido lo que te he dicho, tu código estaría generando algo como esto.
1
2
3
4
5
6
7
8
9
10
11
12
if(jnombre!=" " && japellidos!=" " && jtelefono!=" " && jdni!=" " && jmail!=" ")
{
	gabadoJS=true;
 
	gabadoJS=false;
 
    //POR ÚLTIMO MUESTRO EL ALERT EN FUNCIÓN DE LO RECIBIDO Y SIEMPRE ES FALSE
    if(gabadoJS==true)
        window.alert("USUARIO REGISTRADO");
    else
        window.alert("USUARIO NO REGISTRADO");
}
puedes confirmarlo al ver el código fuente en el navegador (Ctrl+U en Firefox).

Es importante que primero entiendas el hecho de que PHP se ejecuta en el servidor y JS en el cliente.

Lo que quieres hacer se hace con AJAX, un ejemplo con jQuery seria así:
1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
   url:'procesar.php',
   cache:false,
   type:'post',
   data:{sexo:'valorSexo',estado:'valorEstado',etc:'valor'},
   success:function(respuesta){
      if(respuesta=='true')
        window.alert("USUARIO REGISTRADO");
      else
         window.alert("USUARIO NO REGISTRADO");
   }
});

1
2
3
4
5
<?php
// procesar.php
// ..... todo lo que tenga que hacer tu PHP .....
echo 'true';
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jorge
Val: 29
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript y dentro php no va

Publicado por Jorge (15 intervenciones) el 17/01/2020 12:18:04
Gracias a los dos,

Pero lamento decir que sigue sin funcionarme, he de decir que soy bastante nuevo en desarrollo javascript, html y php, pero tengo amplia experiencia en C++, RPG, Cobol, VB6, VB Net y otros.

Para mi es un mundo nuevo ya que nunca me he dedicado profesionalmente a trabajar con estos lenguajes.

Muchas 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