Foros del Web » Programando para Internet » PHP »

Fallo crea doble consulta php

Estas en el tema de Fallo crea doble consulta php en el foro de PHP en Foros del Web. Hola! Con una web que tengo creada, inserta unos datos en una DB con ajax, pero por alguna razón lo hace doblemente. Les dejo los ...
  #1 (permalink)  
Antiguo 05/03/2011, 07:57
Avatar de Shaito  
Fecha de Ingreso: agosto-2010
Mensajes: 383
Antigüedad: 13 años, 8 meses
Puntos: 37
Fallo crea doble consulta php

Hola!

Con una web que tengo creada, inserta unos datos en una DB con ajax, pero por alguna razón lo hace doblemente.

Les dejo los phps:
Formulario:
Código PHP:
<form  action="generador.php" method="post" name="frmSecurity" id="formulario" class="form">
<p align="center">
                            <p><input name="nick" type="text" size="35" onfocus="if (this.value == 'Nombre o Nick') this.value = ''"
onblur="if (this.value == '') this.value = 'Nombre o Nick'" value="Nombre o Nick">
                            <input type="hidden" value="valido" name="valido" />
                            <input name="tags" type="text" value="Tags" onfocus="if (this.value == 'Tags') this.value = ''"
onblur="if (this.value == '') this.value = 'Tags'" size="35" class="clearField">
                            <input name="txtPassw" type="text" value="Contraseña" onfocus="if (this.value == 'Contraseña') this.value = ''"
onblur="if (this.value == '') this.value = 'Contraseña'"  size="35"  class="clearField"></p>
                            <p><textarea cols="20" wrap="virtual" id="form_message" name="txtUnsecure" class="clearField"
                            style="width:800px; max-width:800px;  height:260px">LinkSafe te permite encriptar enlaces y hacer de ellos una corta dirección usada más tarde para mostrar el contenido por medio de una contraseña (Predeterminada por el usuario)</textarea></p>
                            <p><button onclick="doSecure()" type="submit" value="Proteger" name="btnSecure" class="brightBlue"><span>Proteger</span></button></p>
<div id="result" style="display:none">
<? include('generador.php')?>
</div>

 <p id="loading" style="width:20px;display:none" align="center"><img  style="margin:0 auto;" src="img/ajax-loader.gif" /><br /></p>
</form>
Generador.php
Código PHP:
if($_POST['valido']=='valido'){

include(
'config.php');
echo
'<input type="text" class="form"  style="text-align:center" size="70" value="http://'.$_SERVER['HTTP_HOST'].'/'.$carpeta.'/?c='.$dire.'"></p>';

$txtPassw=$_POST['txtPassw'];
$txtSecure=$_POST['txtSecure'];
$tags$_POST['tags'];
$nick$_POST['tags'];
$sql="INSERT INTO linklist (encriptado,url,tags,nick)VALUES('$txtSecure','$url','$tags','$nick')";

if (!
mysql_query($sql))
  {
  die(
'Error: ' mysql_error());
  }

Espero que me puedan ayudar.
__________________
Shaito Hiraga - Diseñador CSS
  #2 (permalink)  
Antiguo 05/03/2011, 12:53
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Fallo crea doble consulta php

No será por que el formulario envia los datos a Generador.php por el método tradicional, al mismo tiempo que la llamada ajax lo hace? o bien si alguien hace doble clic sobre el botón, en tal caso podrías deshabilitar el botón tras el clic.
  #3 (permalink)  
Antiguo 05/03/2011, 13:25
Avatar de Shaito  
Fecha de Ingreso: agosto-2010
Mensajes: 383
Antigüedad: 13 años, 8 meses
Puntos: 37
Respuesta: Fallo crea doble consulta php

Hola ocp001a que es eso de que envío por ajax y el m´todo tradicional?


Un saludo
__________________
Shaito Hiraga - Diseñador CSS
  #4 (permalink)  
Antiguo 05/03/2011, 14:16
Avatar de Shaito  
Fecha de Ingreso: agosto-2010
Mensajes: 383
Antigüedad: 13 años, 8 meses
Puntos: 37
Respuesta: Fallo crea doble consulta php

fue un error humano, llamé 2 veces al script de ajax y la consulta se enviaba 2 veces.


Un saludo
__________________
Shaito Hiraga - Diseñador CSS

Etiquetas: crea, doble, fallo
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 14:57.