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

Error de permisos

Estas en el tema de Error de permisos en el foro de WordPress en Foros del Web. He creado un menú en el dashboard para gestionar carreras y demás en la db, debería funcionar correctamente, pero me da un error en los ...
  #1 (permalink)  
Antiguo 12/09/2012, 03:40
 
Fecha de Ingreso: enero-2012
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 1
Error de permisos

He creado un menú en el dashboard para gestionar carreras y demás en la db, debería funcionar correctamente, pero me da un error en los permisos y no me deja hacer nada, y soy admin.

No tengo ni idea del motivo, de hecho he revisado el codigo y la documentación de wordpress y no doy con el fallo. Os dejo el código a ver si veis el fallo.

Un saludo

Código PHP:
<?php

 
add_action
('admin_menu''my_plugin_menu');
function 
my_plugin_menu() {
  
add_menu_page('DB Ciclocross''Ciclocross''manage_options''db-ciclocross''my_plugin_options');
  
add_submenu_page('db-ciclocross''Agregar carrera''Agregar carrera''manage_options''carrera-cx''my_custom_submenu_page_callback');
  
add_submenu_page('db-ciclocross''Resultados''Resultados carreras''manage_options''resultados-cx''my_custom_submenu_page_callback2');
  
add_submenu_page('db-ciclocross''Dorsales''Dorsales carreras''manage_options''dorsales''agregar_dorsales');
}

function 
my_plugin_options() {
  if (!
current_user_can('manage_options'))  {
    
wp_die__('You do not have sufficient permissions to access this page.') );
  }

  echo 
'<div class="wrap">';
echo 
'Desde aquí se podrá configurar la base de datos para el Ranking de Ciclocross';
  echo 
'</div>';

}

function 
my_custom_submenu_page_callback() {

$link = @mysql_connect("***********""*******","******")
      or die (
"Error al conectar a la base de datos.");
  @
mysql_select_db("*********"$link)
      or die (
"Error al conectar a la base de datos.");

    echo
"Añadir carrera al calendario<br><br>";
if (!isset(
$_GET['accion'])){
echo 
"<center><font class=\"title\"><b>Nuevo carrera ciclista</b></font></center><br>
       <form method=\"post\" action=\"admin.php?page=my-custom-submenu-page&accion=addcarrera\">
       Nombre: <input type=\"text\" name=\"nombre\" > <br>
       Fecha (dd/mm/aaaa): <input type=\"text\" name=\"fecha\" > <br>
       Comunidad:<input type=\"text\" name=\"comunidad\" ><br>
       1- AND / 2- ARA / 3- AST / 4- IBA / 5- ICA / 6- CAN / 7- CLM / 8- CYL / 9- CAT / 10- VAL / 11- EXT / 12- GAL / 13- RIO / 14- MAD / 15- NAV / 16- EUS / 17- MUR / 18- CEU / 19- MEL<br>
       Categoria: <input type=\"text\" name=\"categoria\" ><br>
       1- WC // 2- CDM // 3- C1 // 4- C2 // 5- 1.34.1 // 6- 1.34.2 // 7- 1.34.3 // 8- 1.34.4 <br>
       <input name=\"Enviar\" type=\"submit\" value=\"Enviar\"></form>"
;
}
elseif(
$_GET['accion']=="addcarrera"){
    
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$_POST['fecha'], $arrayfecha);
    
$nombre $_POST['nombre'];
    
$ccaa $_POST['comunidad'];
    
$cat $_POST['categoria'];
    
    
$sqlinsert ="INSERT INTO nuke_calendario_ciclocross (nombre,fecha_inicio,tipo,ccaa) VALUES ('".$nombre."' , '".$arrayfecha[3]."-".$arrayfecha[2]."-".$arrayfecha[1]."', '".$cat."', '".$ccaa."')";
              
$resultinsert mysql_query($sqlinsert);
              
    
        if (!
$resultinsert) {
            die(
"Fallo en la insercion de registro en la Base de Datos: " mysql_error());
        }
    echo 
"Nuevo carrera añadido con exito";
    }
}

function 
my_custom_submenu_page_callback2() {

$link = @mysql_connect("************""************","**********")
      or die (
"Error al conectar a la base de datos.");
  @
mysql_select_db("**********"$link)
      or die (
"Error al conectar a la base de datos.");

    if (!isset(
$_GET['accion'])){ 
       
       
echo 
"<center><font class=\"title\"><b>Test de Resultados</b></font></center><br>
       <form method=\"post\" action=\"db.php?accion=test\">
       Carrera: <input type=\"text\" name=\"carrera\" ><br>
       Test de nombres: <br>
       <textarea cols=100 rows=20 name=\"clasificacion\"></textarea> <br>
       * El texto debera tener la siguiente estructura: Posicion, Apellidos coma Nombre guión Tiempo<br>
       Ejemplo: <br>
       1 MURGOITIO,Egoitz - 01:03:01<br>
       2 HOFMAN,Bart - 33<br>
       <input name=\"Enviar\" type=\"submit\" value=\"Testear\"></form>"
;
       
       
echo 
"<center><font class=\"title\"><b>Añadir Resultados</b> NO OLVIDAR EL TEST</font></center><br>
       <form method=\"post\" action=\"db.php?accion=addresult\">
       Carrera: <input type=\"text\" name=\"carrera\" ><br>
       Test de nombres: <br>
       <textarea cols=100 rows=20 name=\"clasificacion\"></textarea> <br>
       * El texto debera tener la siguiente estructura: Posicion, Apellidos coma Nombre guión Tiempo<br>
       Ejemplo: <br>
       1 MURGOITIO,Egoitz - 01:03:01<br>
       2 HOFMAN,Bart - 33<br>
       <input name=\"Enviar\" type=\"submit\" value=\"Testear\"></form>"
;
       
    }

    
elseif(
$_GET['accion']=="test"){
    
    
$contador=0;
    
$errores=0;
    
    
$carrera $_POST['carrera'];
    
$linea strtok ($_POST['clasificacion'],"\n");
    
    echo
"carrera: $carrera<br><br>";
    
        while (
$linea != false) {
        
        list( 
$datos$tiempo ) = explode" - "$linea );
        list( 
$pos$name ) = explode" " $datos 2);
        list( 
$apellidos$nombre ) = explode"," $name );
        
        
$sqlciclista "SELECT id FROM nuke_corredores_cc WHERE nombre LIKE '%".$nombre."%' AND apellidos LIKE '%".$apellidos."%'";
        
$resultciclista mysql_query($sqlciclista);
        if(list(
$cid) = mysql_fetch_row($resultciclista)) $nex=0;
        else 
$nex=1;
        
        if (
$nex == 0$contador++;
        else { echo
"ERROR: El ciclista ".$nombre." ".$apellidos." no existe en la base de datos<br>"$errores++; }
        
        
        
//echo"$nombre<br>";
        
        
        
$linea strtok("\n");
        }
    echo
"Bien: $contador <br>Errores: $errores";
    }
    
elseif(
$_GET['accion']=="addresult"){
    
    
$contador=0;
    
$errores=0;
    
    
$carrera $_POST['carrera'];
    
$linea strtok ($_POST['clasificacion'],"\n");
    
    
$sqlcarrera "SELECT nombre,fecha_inicio FROM nuke_calendario_ciclocross WHERE id='$carrera'";
    
$resultcarrera mysql_query($sqlcarrera);
    list(
$nomcarrera,$fecha) = mysql_fetch_row($resultcarrera);
    

    
    echo
"carrera: $nomcarrera<br><br>";
    
        while (
$linea != false) {
        
        list( 
$datos$tiempo ) = explode" - "$linea );
        list( 
$pos$name ) = explode" " $datos 2);
        list( 
$apellidos$nombre ) = explode"," $name );
        
        
$sqlciclista "SELECT id FROM nuke_corredores_cc WHERE nombre LIKE '%".$nombre."%' AND apellidos LIKE '%".$apellidos."%'";
        
$resultciclista mysql_query($sqlciclista);
        if(list(
$cid) = mysql_fetch_row($resultciclista)) $nex=0;
        else 
$nex=1;
        
        if (
$nex == 0) {
            
$contador++;
            
$sqlinsert ="INSERT INTO nuke_resultados_ciclocross (rid,cid,pos,fecha) VALUES ('".$carrera."' , '".$cid."' , '".$pos."' , '".$fecha."')";
            
$resultinsert mysql_query($sqlinsert);
            }
        else { echo
"ERROR: El ciclista clasificado ".$pos.", ".$nombre." ".$apellidos." no existe en la base de datos<br>"$errores++; }
        
        
        
//echo"$nombre<br>";
        
        
        
$linea strtok("\n");
        }
    echo
"A&ntilde;adidos $contador resultados";
    }
}

?>
  #2 (permalink)  
Antiguo 12/09/2012, 04:19
 
Fecha de Ingreso: enero-2012
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Error de permisos

reparado, era un error tonto con los nombres de las páginas, siento

Etiquetas: permisos, php, post
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 13:59.