JavaScript - No respeta el IF y ELSE

 
Vista:
Imágen de perfil de Roland
Val: 8
Ha disminuido su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por Roland (4 intervenciones) el 03/09/2019 12:26:47
Buenas a todos!
Tengo el siguiente código cuyo script javascript siempre me hace el código php. No entiendo por qué, ya que ese código PHP está dentro de la condicion IF TRUE. Pero si aprieto el botón cancelar (que sería IF FALSE), también me hace el código PHP (es decir, me borra un registro de mi base de datos).
Necesito que si se pulsa ACEPTAR, se borre el registro. Si pulsa CANCELAR, que vuelva a la página anterior. Ya está, así de siemple. Pero siempre me hace el código php y no quiero eso.
Las redirecciones son simplemente para ver si me pasa por el IF o ELSE, y el caso es que si pulso aceptar, me voy a Bon Jovi, si pulso cancelar, me voy a Aeromisth, pero pulse lo que pulse, siempre me borra un registro.¿?¿?¿?¿?

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
<BODY>
	<script>
		function alerta()
			    {
				    var mensaje;
				    var opcion = confirm("¿Seguro que quiere eliminar el cliente?");
				    if (opcion == true)
				    	{
				       	 <?php
								$consulta="DELETE FROM tbl_clientes WHERE id_cliente=$id_cliente";
								mysqli_query($conexion,$consulta) or die ("Error en la consulta");
					 ?>
						 mensaje = "Cliente eliminado";
						 document.write (mensaje);
						 window.location="https://bonjovi.com";
						}
				    else
				    	 {
				   		   mensaje = "No se ha eliminado ningún cliente";
				   		   document.write (mensaje);
				   		   window.location="https://aerosmith.com";
					}
				}
		alerta();
	</script>
</body>
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 joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por joel (895 intervenciones) el 03/09/2019 14:21:49
Hola Roland, ese código no es correcto, ya que el php se ejecuta en el servidor y luego envía el resultado al navegador... en ese resultado esta el código javascript con el código php ya ejecutado.

Para lo que quieres hacer, tienes que hacer llamadas AJAX al servidor para que ejecute tu código PHP en el servidor.
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 Roland
Val: 8
Ha disminuido su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por Roland (4 intervenciones) el 03/09/2019 15:14:55
Gracias por responder Joel.
Entonces, ¿me estás diciendo que para que salga un mensaje estilo prompt para asegurarme de que realmente quieren eliminar el registro, solo puedo hacerlo con AJAX? ¿No hay nada que pueda hacer con javascript? Simplemente es el tipico mensaje de confirmación por si hizo clic por error en eliminar. Si solo puedo hacerlo con Äjax, ¿puedes guiarme un poco sobre cómo implementarlo?
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 joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por joel (895 intervenciones) el 03/09/2019 21:26:34
Se puede también refrescar la pagina, pero de alguna manera, tienes que llamar al PHP una vez el usuario ha aceptado el confirm()...
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 Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por Juan Enrique (12 intervenciones) el 03/09/2019 19:50:35
Mira, yo no soy un experto en esto, por lo que segúramente habrá formas mejores de hacerlo.
Yo para eso, lo que haría sería invocar a un fichero php externo para que haga el borrado.
Algo así:

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
<BODY>
 
	<script>
 
		function alerta()
 
			    {
 
				    var mensaje;
 
				    var opcion = confirm("¿Seguro que quiere eliminar el cliente?");
 
				    if (opcion == true)
 
				    	{
                                                 Borrar();
 
						 mensaje = "Cliente eliminado";
 
						 document.write (mensaje);
 
						 window.location="https://bonjovi.com";
 
						}
 
				    else
 
				    	 {
 
				   		   mensaje = "No se ha eliminado ningún cliente";
 
				   		   document.write (mensaje);
 
				   		   window.location="https://aerosmith.com";
 
					}
 
				}
 
		alerta();
                function Borrar(){
	                       window.location="borrar.php";
	                       return false;
                }
	</script>
 
</body>

Y el fichero externo "borrar.php":
1
2
3
4
5
6
<?php
	$consulta="DELETE FROM tbl_clientes WHERE id_cliente=$id_cliente";
 
	mysqli_query($conexion,$consulta) or die ("Error en la consulta");
 
?>



Por supuesto, el archivo externo tiene que estar en la misma carpeta.
Espero que te sirva, a mi me funciona.
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 Roland
Val: 8
Ha disminuido su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por Roland (4 intervenciones) el 04/09/2019 09:56:54
¿Cómo es posible que te funcione si no le estas pasando ninguna variable por URL a la pagina borrar.php? Tampoco pones ninguna conexión a una base de datos. Yo lo he intentado como dices y no me borra nada
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 Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por Juan Enrique (12 intervenciones) el 04/09/2019 10:27:01
Tienes razón, te mandé lo que no era.
Esto es lo que me valía en una página que hice para el Banco de Tempo de Lugo. Omito la forma de conectarme a la base, por que creo que lo hacemos de distinta forma, pero el resto te tiene que funcinar.

Dentro del body, crea una marca "section" mas o menos así:

1
<section class="contenedor" id="contenedor">

Después, modifica tu código así:

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
var id_cliente = <?php echo json_encode($id_cliente);?>;  //Para pasar la variable de php a js
 
function alerta()
{
 
    var mensaje;
 
    var opcion = confirm("¿Seguro que quiere eliminar el cliente?");
 
    if (opcion == true)
    {
        $("#contenedor").load("borra.php",{id_cliente:id_cliente}); // Envia el dato a borra.php
 
        mensaje = "Cliente eliminado";
 
        document.write (mensaje);
 
        window.location="https://bonjovi.com";
 
    }
    else
    {
 
        mensaje = "No se ha eliminado ningún cliente";
 
        document.write (mensaje);
 
        window.location="https://aerosmith.com";
 
    }
 
}
 
alerta();
 
</script>

Archivo "borra.php":

1
2
3
4
<?php
$id_cliente=strip_tags($_REQUEST['id_cliente']); //Recoge el dato
$sentenciasql="DELETE FROM tbl_clientes WHERE id_cliente=$id_cliente";
?>

Espero que te sirva. Mil perdones por la metedura de pata anterior.
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 Roland
Val: 8
Ha disminuido su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

No respeta el IF y ELSE

Publicado por Roland (4 intervenciones) el 04/09/2019 10:56:14
Gracias por tu aporte Juan Enrique. Voy a documentarme un poco mas sobre Javascript y Ajax, que aún estoy verde en estos dos y después probaré tu código y te confirmo.
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