Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

duda y problema con wordpress

Estas en el tema de duda y problema con wordpress en el foro de WordPress en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 18/07/2008, 03:47
 
Fecha de Ingreso: diciembre-2004
Mensajes: 5
Antigüedad: 20 años
Puntos: 0
duda y problema con wordpress

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.
  #2 (permalink)  
Antiguo 18/07/2008, 05:51
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años, 1 mes
Puntos: 48
Respuesta: duda y problema con wordpress

Haz
Código PHP:
mysql_query("INSERT INTO contactos (nombre,mail,blog) values ('".$_GET['nombre']."','".$_GET['mail']."',".$_GET['blog'].")") or die(mysql_error()); 
Asi al menos veras si es un error al ejecutar la consulta.
  #3 (permalink)  
Antiguo 18/07/2008, 09:52
 
Fecha de Ingreso: diciembre-2004
Mensajes: 5
Antigüedad: 20 años
Puntos: 0
Respuesta: duda y problema con wordpress

ok,

Gracias DarkJ por contestar.

He añadido el código que me has pasado y a la hora de insertar me devuelve esto:
"Access denied for user 'apache'@'localhost' (using password: NO)"

No lo entiendo. porqué a la hora de hacer una select no me da problemas y cuando quiero insertar me sale eso?

Como puedo solucionarlo?

Un saludo.
  #4 (permalink)  
Antiguo 18/07/2008, 10:47
 
Fecha de Ingreso: diciembre-2004
Mensajes: 5
Antigüedad: 20 años
Puntos: 0
Respuesta: duda y problema con wordpress

Bien, he avanzado un poco en el problema.

Ya he conseguido que me inserte en la BBDD. el problema venía por que en el archivo sidebar.php tenía incluido mi pagina contactos.php con la función include. al cambiarlo por require_once, ya me hace la inserción.(nunca he entendido muy bien la diferencia entre include y require)

Pero me surge otro problema. como ya os comente, todo el proceso se ejecuta mediante una conexión asíncrona, utilizando ajax.

Bien, cuando abro la conexión y llamo al archivo contactos.php, poniendo en la ruta esto:

ajax.open("GET", "contactos.php?nombre="+nombre+"&mail="+mail+"&blo g="+blog,true);

me hace la inserción, pero en vez de volver a mostrarme la lista en el div indicado, se me abre una pagina dentro del div diciendo: Lo sentimos pero no encontramos la página solicitada, compruebe que la URL esté escrita correctamente.

Por el contrario, si la URL la pongo completa, es decir:
ajax.open("GET", "http://subdominio.dominio.com/carpeta1/carpeta2/contactos.php?nombre="+nombre+"&mail="+mail+"&blog ="+blog,true);

entonces es cuando me muestra lo de "Access denied for user 'apache'@'localhost' (using password: NO)"

Bueno, pues parece ser que tengo un problema de rutas, y el caso es que no se como solucionarlo, ya que no se otra forma de ponerlo.
  #5 (permalink)  
Antiguo 18/07/2008, 11:34
 
Fecha de Ingreso: diciembre-2004
Mensajes: 5
Antigüedad: 20 años
Puntos: 0
Respuesta: duda y problema con wordpress

Buenas de nuevo,

Aunque al parecer estoy muy solo ( ), pero bueno. sigo poniendo lo que voy probando y a ver si lo logro resolver. Seguro que esto será necesario a alguien algún día.

Rectifico al decir que el problema era del include, eso no tiene nada que ver. el problema viene siendo la ruta que pongo en la llamada de la función ajax.

He probado otra cosa, pero con resultado negativo, aunque veo que me acerco cada vez más al final.

He obtenido la ruta completa del servidor de la siguiente manera:
$ruta = $_SERVER['DOCUMENT_ROOT'] . '/'. strtok ( dirname( $_SERVER['PHP_SELF'] ), '/' );

Esa variable se la paso por parámetro a la función ajax y la concateno en el método encargado de abrir la conexión, quedándome algo tal que así:

ajax.open("GET",ruta+"/wp-content/themes/berri-ocaso-theme/berri-ocaso/contactos.php?nombre="+nombre+"&mail="+mail+"&blog ="+blog,true);

Hago un alert de toda la cadena completa para ver si es correcta, y lo es. Pero cuando le doy al botón añadir, me hace la inserción y seguidamente se me muestra esto en el div contenedor:


Not Found
The requested document was not found on this server.


--------------------------------------------------------------------------------

Web Server at tumtumpa.es


Cómo puede ser que me diga eso y la ruta que me muestra el alert es correcta?

Un saludo.
  #6 (permalink)  
Antiguo 18/07/2008, 11:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: duda y problema con wordpress

Tema trasladado a WordPress.
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 18:16.