Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Insertar registro AJAX - MySQL

Estas en el tema de Insertar registro AJAX - MySQL en el foro de Frameworks JS en Foros del Web. Hola, Me interesa esto del AJAX, y quiero saber a ver sí se puede hacer lo siguiente. Un script que inserte unos valores a una ...
  #1 (permalink)  
Antiguo 31/07/2005, 17:04
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 23 años
Puntos: 0
Insertar registro AJAX - MySQL

Hola,

Me interesa esto del AJAX, y quiero saber a ver sí se puede hacer lo siguiente.

Un script que inserte unos valores a una base de datos MySQL (con php...), los valores vendrían de un link del tipo, javasciprt:guardar(4564564,prueba); (pasar valores por javascript).

COmos e podría hacer esto?
  #2 (permalink)  
Antiguo 31/07/2005, 18:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola yampoo:

Puedes enviar datos con el método get sin problemas:

Código:
function pedirXML(sitio, respuesta)	{
	if (window.XMLHttpRequest)	{
		pedido = new XMLHttpRequest();
		pedido.onreadystatechange = respuesta;
		pedido.open("GET", sitio, true);
		pedido.send(null);
	}
	else
		if (window.ActiveXObject)	{
			pedido = new ActiveXObject("Microsoft.XMLHTTP");
			if (pedido)	{
				pedido.onreadystatechange = respuesta;
				pedido.open("GET", sitio, true);
				pedido.send();
			}
		}
}
y la llamada:

pedirXML("inserta.php?n=4564564&prueba=" + prueba, respuestaXML);

el archivo inserta.php lo gestionas con el método get y en respuestaXML puedes obtener si se ha insertado con éxito...

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 31/07/2005, 20:19
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 23 años
Puntos: 0
Muchas gracias, una última cosa.

En el archivo inserta.php que tendría que hacer para mandar erspuesta, o sea, en que formato se enviarí apara recogerlo en respuestaxml y guardarlo?
  #4 (permalink)  
Antiguo 01/08/2005, 08:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola:

Para ser guardado tan solo tienes que hacer la petición (que preferentemente sea con el método get (en opera no obtuve resultados con el método post... pero con la escases de información que hay, no me extrañaría que haya hecho una prueba con errores/horrores)... y gerstionas los datos como con cualquier CGI (php/perl/asp)...

Pero para saber el éxito, debes mostrar un fichero XML... o sea creas una cabecera XML (header) y a la vez la escribes en el documento: echo "<?xml... " y por último un documento xml bien formado con un nodo raiz (no importa el nombre) y los nodos hijos que necesites para gestionar la información en el cliente.

Por ejemplo:

<xml ...>
<documento>
<resultado>
éxito
</resultado>
</documento>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 01/08/2005, 08:58
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola yampoo...

lo que tendrias que hacer, del lado del SCRIPT php, es publicar en texto o XML.

y del javascript tomarlo como:

TEXTO.

results = http.responseText

XML

http.responseXML.getElementsByTagName('LINEA').len gth

todo depende de lo que quieras devolver... Entiendo que seria la confirmacion de que el registro fue insertado... Por lo tanto puedes devolver texto. Por ejemplo:

Desde el PHP

<?

$sql = "INSERT......";
$result = mysql_query($sql);
if (!$result) {
echo "No se pudo insertar el registro...";
}
?>


y desde el javascripts lo tomas con ...

results = http.responseText

salu2...
  #6 (permalink)  
Antiguo 01/08/2005, 10:11
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 23 años
Puntos: 0
Muchas gracias, ahora lo probaré
  #7 (permalink)  
Antiguo 01/08/2005, 11:32
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 23 años
Puntos: 0
He probado y no funciona...

Uso el script que ha puesto caricatos... y paso los datos así: (he cambiado el nombre de la función por save) <a href="" onclick="save("save.php?id=7456&us=dsadas&q=dasd", "respuesta")"> (Ahí en respuest no sabía que poner...)

Y en save.php hay:

$mdps = mysql_query("select * from urls where id = '$_GET[id]'",$link);
while($mdp = mysql_fetch_array($mdps)) {
$car = "default";
$qq = $_GET['q'];
$uss = $_GET['us'];
mysql_query("insert into mbl (us,carpeta,q,url,snippet,titulo,fuente,fecha) values ('$uss','$car','$qq','$mdp[url]','$mdp[snippet]','$mdp[title]','$mdp[fuente]','$mdp[fecha]')",$link) or die('Select error : ' . mysql_error());
}
Pero no guarda...
  #8 (permalink)  
Antiguo 01/08/2005, 12:37
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 21 años, 4 meses
Puntos: 0
hola...

Has probado el SCRIPT php, ejecutandolo solo, cambiando '$_GET[id]' por un valor... ? para ver si funciona y el error no esta el codigo php?
  #9 (permalink)  
Antiguo 01/08/2005, 13:19
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 23 años
Puntos: 0
EL código php funciona perfectamente.
  #10 (permalink)  
Antiguo 03/08/2005, 10:57
 
Fecha de Ingreso: abril-2001
Mensajes: 293
Antigüedad: 23 años, 6 meses
Puntos: 0
hola amigos encuentro interesantisimo este ajax y ya lo he implementado solo me queda la duda referente a la seguridad, es seguro utilizar ajax mediante un archivo js ya que es posible descargarlo si sabes la ruta


saludos
  #11 (permalink)  
Antiguo 03/08/2005, 13:46
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
loading...............


el metodo AJAX no està implementado directamente para realizar procesos del lado del cliente sinò para ser la INTERFACE entre cliente y servidor ya depende del desarrollador hacer un sistema con CAPAS, y las ejecuciones,peticiones al servidor sean administradas por el SERVIDOR. es de ahì donde debes implementar la seguridad.



connection closed.
__________________

Maborak Technologies
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 04:55.