Foros del Web » Programando para Internet » PHP »

Duda con alerts

Estas en el tema de Duda con alerts en el foro de PHP en Foros del Web. Bien, tengo una pequeña duda: tengo un codigo MySQL que me hace una consulta (normal vamos) el codigo es: Código: mysql_query ($query) or die ("error3 ...
  #1 (permalink)  
Antiguo 12/07/2013, 06:11
 
Fecha de Ingreso: junio-2013
Mensajes: 29
Antigüedad: 10 años, 10 meses
Puntos: 0
Duda con alerts

Bien, tengo una pequeña duda:

tengo un codigo MySQL que me hace una consulta (normal vamos)
el codigo es:
Código:
      mysql_query ($query) or die ("error3 <br>".mysql_error());
ESTO FUNCIONA

tb tengo un codigo JavaScript, que me lanza un alert:
Código:
<script type="text/javascript" >
<?php foreach($errores as $error) { ?>
       alert('<?php echo $error; ?>');
<?php }?>
</script>
ESTO TB FUNCIONA

tonces mi pregunta es:
porque dentro del DIE no puedo colocar el ALERT en vez que de me muestre por pantalla el texto "error 3" y la descripcion del error y ponerlo en un alert...

avia pensado poner:
Código:
mysql_query ($query) or die (
<script type="text/javascript" >
       alert('<?php echo mysql_error(); ?>');
</script>

pero no funciona, falla, DONDE ESTA MI ERROR? :(
  #2 (permalink)  
Antiguo 12/07/2013, 07:04
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con alerts

Código PHP:
Ver original
  1. mysql_query ($query) or die ("error3 <br>".mysql_error());

Código Javascript:
Ver original
  1. <script type="text/javascript" >
  2. <?php foreach($errores as $error) { ?>
  3.        alert('<?php echo $error; ?>');
  4. <?php }?>
  5. </script>

El DIE es php y hace automaticamente un echo del error....

en todo caso seria así

Código PHP:
Ver original
  1. mysql_query ($query) or die ('<script type="text/javascript">alert(\''.mysql_error().'\';</script>');

Es decir todo el script javascript en el literal del DIE... y que si se imprime que lo haga dentro del head del html. No se si te funcionará. Ojo con los delimitadores...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 12/07/2013, 07:25
 
Fecha de Ingreso: junio-2013
Mensajes: 29
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Duda con alerts

quim muchas gracias por decirme como se pondria, pero como decimos, no funciona xD n o llega a saltar el alert, se me queda en una hoja en blanco y ya esta
  #4 (permalink)  
Antiguo 12/07/2013, 07:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con alerts

Donde se imprime ese alert?

En el codigo que corregimos en el otro post la consulta se hacia antes de <html> luego se imprimiria antes de abrir el fichero....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 12/07/2013, 07:39
 
Fecha de Ingreso: junio-2013
Mensajes: 29
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Duda con alerts

precisamente, en el archivo del otro post, en el de: insertar los datos, el codigo es:
Código:
<?php
include("../Config/config.php");
$errores = array();
if (empty($_POST['Pass'])) {
     $errores[] = 'Falta introduir un "Pass"';
}
if (empty($_POST['Nombre'])) {
     $errores[] = 'Falta indicar el "Nom"';
}
if (empty($_POST['Email'])==FALSE) {
    if (!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/", $_POST['Email']))
     {
     $errores[] = 'La direccio de '.$_POST['Email'].' no esta ben escrita';    
     }
    }
 
if (count($errores) <= 0) {
    $conex=mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
    $bd=mysql_select_db($database) or die ("error2".mysql_error()); 
    // Con estas sentencias SQL evitaremos una inyección SQL
    $ID_Empleado = $_POST['ID_Empleado'];
    $Pass =$_POST['Pass'];
    $Nombre =$_POST['Nombre'];
    $Telefono =$_POST['Telefono'];
    $Email =$_POST['Email'];
    // Con esta sentencia SQL Creamos la consulta
    $query="INSERT INTO tecnicos ". 
           "(ID_Empleado,Pass,Nombre,Telefono,Email) ".
           "VALUES ".
           "('".$ID_Empleado."','".$Pass."','".$Nombre."','".$Telefono."','".$Email."')";
    // Hacemos la consulta  
        mysql_query ($query) or die ("error3 <br>".mysql_error());
    // Cierra la conexión con la base de datos 
        mysql_close($conex); 
        header('Location: ../Log/Tecnico.php');
}else {
 
//Abans d'imprimir res poso la capçalera de html
//A mes  podrás fer servir el css per donar format als errors
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!-- TemplateBeginEditable name="doctitle" -->
<LINK REL="Shortcut Icon" HREF="../../WePrueba2/Config/Imagenes/Copy.ico"> 
<title>Copisteria Imatge - ERRORS</title>
 
<!-- Elimina el que no necesitis // -->
 
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<!-- TemplateEndEditable -->
<link rel="stylesheet" type="text/css" href="../../WePrueba2/Config/CSS/HTML5_thrColFixHdr.css"/>
<link rel="stylesheet" type="text/css" href="../../WePrueba2/Config/CSS/Unificacion.css"/>
<link rel="stylesheet" type="text/css" href="../../WePrueba2/Insert/Config/CSS/formCssSINREPETICIONES.css"/>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
 
<!-- Ara creo l'script javascript amb els alerts dins el head de l'HTML // -->
 
<script type="text/javascript" >
<?php foreach($errores as $error) { ?>
       alert('<?php echo $error; ?>');
<?php }?>
</script>
 
</head>
<body>
    <div class="container">
 
<!-- Ara llisto els errors com a recordatori abans del botó // -->
 <script>
 history.back();
 </script>
</body>
</html>
<?php } ?>
  #6 (permalink)  
Antiguo 12/07/2013, 07:42
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: Duda con alerts

Prueba así...

Código PHP:
Ver original
  1. mysql_query ($query) or die (
  2. <script type="text/javascript" >
  3.     var error= "<?= mysql_error(); ?>";
  4.        alert('error');
  5. </script>
  #7 (permalink)  
Antiguo 12/07/2013, 07:43
 
Fecha de Ingreso: junio-2013
Mensajes: 29
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Duda con alerts

logicamente, con los ' ' y acabando con el ); del mysql, no? voy a probar
  #8 (permalink)  
Antiguo 12/07/2013, 07:45
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Duda con alerts

Cita:
Iniciado por CopySat Ver Mensaje
quim muchas gracias por decirme como se pondria, pero como decimos, no funciona xD n o llega a saltar el alert, se me queda en una hoja en blanco y ya esta
Supongo que solo has hecho copy/paste y ni si quiera analisaste el código que te ah dejado @quimfv, en fin, al código que te dejo le falta cerrar un paréntesis ")" por lo cual no funcionará

Código PHP:
Ver original
  1. <?php
  2.  
  3. //original
  4. mysql_query ($query) or die ('<script type="text/javascript">alert(\''.mysql_error().'\';</script>');
  5.  
  6. //correcto
  7. mysql_query ($query) or die ('<script type="text/javascript">alert(\''.mysql_error().'\');</script>');
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #9 (permalink)  
Antiguo 12/07/2013, 07:50
 
Fecha de Ingreso: junio-2013
Mensajes: 29
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Duda con alerts

Cita:
Iniciado por Nemutagk Ver Mensaje
Supongo que solo has hecho copy/paste y ni si quiera analisaste el código que te ah dejado @quimfv, en fin, al código que te dejo le falta cerrar un paréntesis ")" por lo cual no funcionará

Código PHP:
Ver original
  1. <?php
  2.  
  3. //original
  4. mysql_query ($query) or die ('<script type="text/javascript">alert(\''.mysql_error().'\';</script>');
  5.  
  6. //correcto
  7. mysql_query ($query) or die ('<script type="text/javascript">alert(\''.mysql_error().'\');</script>');
mira, no se que tipo de persona seras tu pero vamos....
1º si eh revisado lo que me ha dicho
2º despues d 7h con codigo NORMAL QUE UN ) SE ME PASE POR ALTO
3º acabo de probar COMO TU DICES y FALLA!!!!
4º eh probado con lo que @quimfv me ha dicho Y SI QUE FUNCIONA!
  #10 (permalink)  
Antiguo 12/07/2013, 07:51
 
Fecha de Ingreso: junio-2013
Mensajes: 29
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Duda con alerts

Quim eh probado lo que decias poniendo bien los '' y el );

el codigo queda:
Código:
        mysql_query ($query) or die ('
<script type="text/javascript" >
    var error= "<?= mysql_error(); ?>";
       alert("error");
	   history.back();
</script> ');
y EFECTIVAMENTE SALTA UN ALERT con el mensaje "ERROR"

PEROOOO SI CAMBIO ESO POR:

alert('.mysql_error().');

para que el codigo lo pille bien, el alert, deja d saltar :(
  #11 (permalink)  
Antiguo 12/07/2013, 08:00
 
Fecha de Ingreso: junio-2013
Mensajes: 29
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Duda con alerts

el problema radica en hacer que el alert tenga el valor del mysql_error()
  #12 (permalink)  
Antiguo 12/07/2013, 09:47
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Duda con alerts

Mira ya que he visto la conversación, yo te recomiendo que manejes los errores aparte, al fin y al cabo si es un error el usuario ya no puede continuar, solo se lo indicas en un <p> con un error y tu guardas el error ya sea en un archivo o una bd. Lo importante es notificar al usuario que existe un error sin que sea algo molesto, por que al fin y al cabo no nos gustan los errores verdad ? por eso tiene que ser lo mas sutil para el usuario pero lo mas descriptivo para ti en un log o bd para que puedas darle soporte.

Saludos
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #13 (permalink)  
Antiguo 12/07/2013, 09:52
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: Duda con alerts

Cita:
el codigo queda:
Código:
        mysql_query ($query) or die ('
<script type="text/javascript" >
    var error= "<?= mysql_error(); ?>";
       alert("error");
	   history.back();
</script> ');
y EFECTIVAMENTE SALTA UN ALERT con el mensaje "ERROR"

PEROOOO SI CAMBIO ESO POR:

alert('.mysql_error().');

para que el codigo lo pille bien, el alert, deja d saltar :(
Prueba así... se me había olvidado las comillas dobles xD

Código:
        mysql_query ($query) or die ('
<script type="text/javascript" >
    var error= "<?= mysql_error(); ?>";
       alert(error);
	   history.back();
</script> ');
  #14 (permalink)  
Antiguo 14/07/2013, 11:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con alerts

alert(error);

Ahora error es una variable javascript por lo que no necesita los delimitadores

Código PHP:
Ver original
  1. mysql_query ($query) or die ('
  2. <script type="text/javascript" >
  3.     var error= "<?= mysql_error(); ?>";
  4.        alert(error);
  5.        history.back();
  6. </script> ');

Código PHP:
Ver original
  1. mysql_query ($query) or die ('<script type="text/javascript" >var error= "'.mysql_error().'";alert(error); history.back();</script>');
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: html
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 06:56.