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

Insertar registros en una bd con ajax JSON y php

Estas en el tema de Insertar registros en una bd con ajax JSON y php en el foro de Frameworks JS en Foros del Web. Hola, estoy intentando insertar unos registros en una base de datos, pero lo quiero hacer sin recargar la pagina, lo intenté por json, ya que ...
  #1 (permalink)  
Antiguo 16/07/2011, 15:36
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años, 1 mes
Puntos: 4
Insertar registros en una bd con ajax JSON y php

Hola, estoy intentando insertar unos registros en una base de datos, pero lo quiero hacer sin recargar la pagina, lo intenté por json, ya que son muy pocos los registros, pero parece no insertarmelos, lo intenté con solamente 1 y tampoco, miren aqui estan los codigos :

este es el codigo con el cuál mando los datos a la pagina php mediante ajax
Código:
function checarRequest(){
    var texto = document.getElementById('nombre');
    nombre = texto.value;
var ban;
status = document.getElementById('status');
    alert(conexion.readyState);
	if(conexion.readyState==4){
		var datos=eval("("+conexion.responseText+")");
        if(datos!=null){
            alert(nombre);
            for(i = 0; i<datos.length; i++){
			if(nombre==datos[i].nombre){
				ban=1;
        }else{
            ban = 0;
            }
		}
        }
		if(ban==1){
			status.innerHTML = "Ese nombre ya esta en uso";
		}
		else{
            status.innerHTML = "Listo";
            var texto = document.getElementById('nombre');
            nombre = texto.value;
            var cadena = "{ nombre : '"+nombre+"'};";
            alert(cadena);
            var info=cadena.toJSONString();
            alert("info: "+info);
            conexion2 = crearXMLHttpRequest();
        conexion2.onreadystatechange = redirigir;
        conexion2.open('GET','agregarUsuario.php?info='+info,true);
        conexion2.send(null);
		}
	}
	else{
	status.innerHTML = "Verificando disponibilidad...";
	}

}

function redirigir(){
    status = document.getElementById('status');
    if(conexion2.readyState==4){
        document.location.href="resultao.php";
    }
    else{
        status.innerHTML = "Cargando...";
    }
}

este es el codigo para guardar los registros en la bd
Código PHP:
<?php
require('JSON.php');
$json=new Services_JSON();
$cad=$json->decode(stripslashes($_REQUEST['info']));
 
$conexion mysql_connect("localhost","root","") or die("Problemas en la conexion");

mysql_select_db("tequilas",$conexion) or die("Pproblemas en la seleccion de la base de datos");

mysql_query("insert into usuario (nombre) values ('.$cad->nombre')",$conexion) or die("Problemas en el servidor".mysql_error());

mysql_close($conexion);
?>

y aqui los muestro
Código PHP:
<html>
<body>
<?php
$conexion 
mysql_connect("localhost","root","") or die("murio");

mysql_select_db("tequilas",$conexion) or die("tambien murio");

$registro=mysql_query("select nombre from usuario",$conexion) or die("no jalo");
while(
$reg=mysql_fetch_array($registro)){
echo 
"Nombre: ".$reg['nombre']."<br>";
}
mysql_close($conexion);
?>
</body>
</html>
la cosa es que con el primer codigo mando los datos hacia la pagina en php para guardar los registros que seria el segundo codigo, y en el tercero simplemente los muestro, pero siempre cuando quiero mostrarlos me aparece :

Nombre: .[0]

alguna idea de en que estoy mal?

muchas gracias.
  #2 (permalink)  
Antiguo 16/07/2011, 16:59
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 8 meses
Puntos: 27
Respuesta: Insertar registros en una bd con ajax JSON y php

¿Y porque no haces esto directamente?

Código Javascript:
Ver original
  1. var info=encodeURIComponent(cadena); // Esto se ocupa de codificar los caracteres
  2.                                                               // raros para que no afecten a la URL
  3. ...
  4. conexion2.open('GET','agregarUsuario.php?info='+info,true);

Código PHP:
Ver original
  1. $cad = $_GET['info'];
  2. // note olvides de validar para comprobar que no es un ataque y que cad es un valor aceptable!

Finalmente solo informarte de que podrías simplificar mucho código y tiempo usando librearías como jQuery. Te recomiendo que le eches un vistazo:
http://www.jquery.com/
__________________
I (L) Google
  #3 (permalink)  
Antiguo 16/07/2011, 18:44
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: Insertar registros en una bd con ajax JSON y php

hola gracias por la respuesta, pues intenté haciendolo directo y me da el mismo resultado, pero creo que revisaré la libreria jquery haber que tal me va con ella

Etiquetas: ajax, insert, json, php
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 22:30.