| 
	
		|  Autor | Tema: Duda con PHP y base de datos  (Leído 11,910 veces) |  
	| 
			| 
					
						| jamatbar 
								
								 Desconectado 
								Mensajes: 109
								
								
								
								
								
								   | 
 
Las comillas en tu mensaje están rotas y por tanto se rompe el javascript entero. O las escapas o usas combinación de comillas simples y dobles. Lo ideal también es que se usen funciones como printf/sprintf  que están hechas para estas cosas.     '<script>alert("El usuario %s se ha desconectado de la base de datos %s");</script>',    htmlentities($_POST['usuario'], ENT_QUOTES), // Recuerda escapar para prevenir XSS.);
 o echo "<script>alert('El usuario {$usuario} se ha desconectado de la base de datos {$bd}');</script>";
 SaludosAntes que nada gracias de nuevo. ¿Dónde se rompen las comillas de mi echo?, y he probado ambas soluciones que me has dado y sigue sin salir ningún mensaje, sólo salta a index.php                 <?php                if (isset($_POST['desconectar'])) {                    //echo "<script>alert('El usuario {$_POST["usuario"]} se ha desconectado de la base de datos {$_POST["bd"]}');</script>";                    '<script>alert("El usuario %s se ha desconectado de la base de datos %s");</script>',                    htmlentities($_POST['usuario'], ENT_QUOTES), // Recuerda escapar para prevenir XSS.                );                }                ?>
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| #!drvy | 
 
Mmmm perdona no se porque me hice la idea que se romperían las comillas dobles entre los corchetes. Supongo que por el syntax highlight que se ve xD De todos modos, está bien que se escapen.
 ¿Cuándo dices que "te lleva" o "salta a" index.php, te refieres a que ese formulario de desconectar NO está en index.php? ¿Es decir, no es que se esté recargado la página sino que te lleva a otra diferente?
 
 Si es el caso, es normal porque el formulario con los datos se envía directamente a index.php el PHP nunca tiene oportunidad de ejecutarse. En todo caso, la comprobación de si existe POST "desconectar" tendrias que hacerla en el index.
 
 Saludos
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| jamatbar 
								
								 Desconectado 
								Mensajes: 109
								
								
								
								
								
								   | 
 
Mmmm perdona no se porque me hice la idea que se romperían las comillas dobles entre los corchetes. Supongo que por el syntax highlight que se ve xD De todos modos, está bien que se escapen.
 ¿Cuándo dices que "te lleva" o "salta a" index.php, te refieres a que ese formulario de desconectar NO está en index.php? ¿Es decir, no es que se esté recargado la página sino que te lleva a otra diferente?
 
 Si es el caso, es normal porque el formulario con los datos se envía directamente a index.php el PHP nunca tiene oportunidad de ejecutarse. En todo caso, la comprobación de si existe POST "desconectar" tendrias que hacerla en el index.
 
 Saludos
 
 Así es, el formulario desconectar te redirige a index.php para que puedas volver a conectarte. El código de index.php es el siguiente: <!DOCTYPE html><!--To change this license header, choose License Headers in Project Properties.To change this template file, choose Tools | Templatesand open the template in the editor.--><html>    <head>        <title>Colección Videojuegos</title>        <meta charset="UTF-8">        <meta name="viewport" content="width=device-width, initial-scale=1.0">        <link rel="stylesheet" href="main.css">    </head>    <body>         <form action="conectado.php" method="POST">            <label for="equipo">Equipo</label>            <input type="text" value="Equipo" name="equipo">            <label for="usuario">Usuario</label>            <input type="text" value="Usuario" name="usuario">            <label for="contrasena">Password</label>            <input type="password" value="Contraseña" name="password">            <label for="basededatos">Base de datos</label>            <input type="text" value="Nombre BD" name="bd">            <input type="submit" value="Conectar" name="conectar">            <?php            //Incluímos los métodos            include('conectar.php');            //Comprobamos que hayamos pulsado el botón Conectar            if (isset($_POST['conectar'])) {                Conectar($_POST['equipo'], $_POST['usuario'], $_POST['password'], $_POST['bd']);            }            ?>        </form>    </body></html>
 ¿Ahí tendría que colocar el isset? |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| jamatbar 
								
								 Desconectado 
								Mensajes: 109
								
								
								
								
								
								   | 
 
He colocado el isset en index.php (usando echo que por ahora estoy más familiarizado), pero sin argumentos, ya que si le pongo $usuario y $bd no me los encuentra.             <?php            //Incluímos los métodos            include('conectar.php');            //Comprobamos que hayamos pulsado el botón Conectar            if (isset($_POST['conectar'])) {                Conectar($_POST['equipo'], $_POST['usuario'], $_POST['password'], $_POST['bd']);            }             if (isset($_POST['desconectar'])) {                    //echo "<script>alert('El usuario {$_POST["usuario"]} se ha desconectado de la base de datos {$_POST["bd"]}');</script>";                echo(                    '<script>alert("El usuario se ha desconectado de la base de datos");</script>');                }            ?>
 El problema es que ahora no encuentra $pruebaconexion, me salen los siguientes fallos: Notice: Undefined variable: pruebaconexion in C:\xampp\htdocs\ProyBD\index.php on line 38 Warning: mysqli_close() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\ProyBD\index.php on line 38 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| jamatbar 
								
								 Desconectado 
								Mensajes: 109
								
								
								
								
								
								   | 
 
Ya lo conseguí, al final lo arreglé con un onclick en el botón de desconectar. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | duda sobre base de datos y php PHP
 | TheKiLLeR | 2 | 2,268 |  7 Abril 2008, 20:13 pm por TheKiLLeR
 |  
						|   |   | Duda de Base de Datos Programación Visual Basic
 | pisacaballo | 4 | 2,369 |  5 Octubre 2008, 15:58 pm por Fr4NN^
 |  
						|   |   | Duda SQL - base de datos Programación Visual Basic
 | karmany | 2 | 3,819 |  3 Octubre 2009, 20:25 pm por karmany
 |  
						|   |   | [Duda] Base Datos Access Java
 | Kerber0 | 2 | 2,537 |  27 Marzo 2010, 18:32 pm por 1mpuls0
 |  
						|   |   | Duda sobre php y base de datos PHP
 | Mr.Blue | 3 | 3,346 |  27 Septiembre 2010, 05:09 am por Shell Root
 |    |