Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2011, 15:36
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años, 9 meses
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.