Buenas,
Es la primera vez que escribo en el foro aunque llevo algún tiempo curioseando por esta web.
Bueno, tengo un problemilla con un blog de wordpress.
He montado un blog en el que quiero poner en el sidebar una pequeña agenda de contactos donde los usuarios introducen su nombre y mail, y mediante una conexión asíncrona con ajax, mostralo inmediatamente en una lista.
Para ello me he creado un archivo llamado contactos.php el cual he colocado en el mismo lugar donde se encuentra el archivo sidebar.php, dentro de la carpeta del theme que tengo seleccionado.
para mostrarlo en el sidebar, lo unico que he hecho es incluir el archivo (include('contactos.php')).
Ese archivo contiene todo, tanto funciones ajax, como las sentencias SQL necesarias para insertar y mostrar los registros en la BBDD.
Lo primero que hace contactos.php es obtener de la tabla (he creado una tabla contactos en BBDD de wordpress) los registros que han sido añadido y mostrarlos en una pequeña tabla dentro de un div.
justo debajo de dicha tabla, hay un pequeño formulario para introducir los datos. cuando pulsamos añadir, este boton ejecuta la funcion ajax, la cual llamará a la misma pagina para que haga la insercción y acto seguido actualice la tabla de contactos.
Pues bien, subo el archivo al servidor, lo incluyo en sidebar.php y ejecuto el blog.
nada mas cargar, me muestra la lista de usuarios, pero cuando intento añadir un registro, no hace absolutamente nada.
he comprobado que llegan los datos, he copiado y ejecutado la sentencia SQL generada en MySQL y funciona correctamente. pero desde el archivo contactos.php no soy capaz.
Aquí os dejo el código a rasgos generales:
<?php
if(isset($_GET['blog'])){
mysql_query("INSERT INTO contactos (nombre,mail,blog) values ('".$_GET['nombre']."','".$_GET['mail']."',".$_GET['blog'].")");
obtenerContactos($_GET['blog']);
}else{
?>
<!-- todo el chorro web -->
<?php } ?>
La funcion de listar es la lisiguiente:
function obtenerContactos($blog){
$query = "SELECT nombre, mail FROM contactos WHERE blog = ".$blog;
$resultado = mysql_query($query);
$tabla = "<table width='90%' border='0'>";
while($fila = mysql_fetch_array($resultado)){
$tabla.= "<tr>";
$tabla.= "<td><b>".$fila['nombre']."</b><br/>".$fila['mail']."</td>";
$tabla.= "</tr>";
}
$tabla.= "</table>";
echo $tabla;
}
a ver si alguien me puede decir en que stoy fallando.
Un saludo.