Antes que nada hola, espero me puedan ayudar..llevo ya mas de un mes enredada en un formulario, en si es un módulo de registro de convocatorias, donde el usuario registra su convocatoria con los siguientes datos:
Titulo, Tipo de convocatoria, y puede seleccionar directamente si escribe un enlace, y escoge si se abrirá en la misma ventana o en otra, en caso de que no sea un enlace y sea un pdf hay otro campo seleccionable, y tambien puede escoger un tiempo de vigencia para publicar su convocatoria...
el problema es que no logro hacer que me guarde el pdf en le servidor, ni que me guarde el nombre en la base de datos, y tambien algunos campos no s em eguarda como lo es las fechas de vigencia, en este punto el codigo ya es un desastre, necesito su ayuda(que es uno retomado de un sistema similar, solo que la base cambia y obvio unos datos).
la estructura es la siguiente, se entra a una carpeta system/sge_convocatorias.php (es el que administra lo que hace el modulo de registro) y el codigo es este:
---------inicio código----------------------
include('dynamic/conf/config.php');
include(DIR_CONF.'session.php');
include(DIR_LIB.'connect.php');
include(DIR_LIB.'general.php');
include(DIR_LIB.'usuarios.php');
//include(DIR_LIB.'html2textile.php');
//include(DIR_LIB.'classTextile.php');
$AnUserID=$_SESSION['AnUserID'];
$op=$_REQUEST['op'];
$buscar_por=$_REQUEST['buscar_por'];
$parametro=$_REQUEST['parametro'];
$imagen=$_REQUEST['imagen'];
$pk_convocatoria=$_REQUEST['pk_convocatoria'];
$fk_tipo_convocatoria=$_REQUEST['fk_tipo_convocatoria'];/*$fk_tipo_convocatoria=$_REQUEST['fk_tipo_convocatoria'];*/
$cod_origen_convocatoria=$_REQUEST['cod_origen_convocatoria'];
$des_titulo_convocatoria=$_REQUEST['des_titulo_convocatoria'];
$des_texto_convocatoria=$_REQUEST['des_texto_convocatoria'];
$URL_convocatoria=$_REQUEST['URL_convocatoria'];
$fk_area_propietaria_convocatoria=$_REQUEST['fk_area_propietaria_convocatoria'];
$fecha_creacion_convocatoria=$_REQUEST['fecha_creacion_convocatoria'];
$fecha_modificacion_convocatoria=$_REQUEST['fecha_modificacion_convocatoria'];
$fk_usuario_creacion_convocatoria=$_REQUEST['fk_usuario_creacion_convocatoria'];
$fk_usuario_modificacion_convocatoria=$_REQUEST['fk_usuario_modificacion_convocatoria'];
$fecha_inicio_vigencia_convocatoria=$_REQUEST['fecha_inicio_vigencia_convocatoria'];
$fecha_fin_vigencia_convocatoria=$_REQUEST['fecha_fin_vigencia_convocatoria'];
$flag_es_principal_convocatoria=$_REQUEST['flag_es_principal_convocatoria'];
$flag_publica_convocatoria=$_REQUEST['flag_publica_convocatoria'];
while( list($key) = each($_POST) )
{
if($key == 'buscar_material_x') { $op = "busqueda_m"; }
if($key == 'listar_archivos_x') { $op = "listar_a"; }
// registrar archivo
if($key == 'nuevo_archivo_x') { $op = "nuevor"; }
if($key == 'registrar_x') { $op = "registra"; }
if($key == 'consultar_archivo_x') { $op = "consultar"; }
//botones del template modificar
if($key == 'modificar_archivo_x') { $op = "modificara"; }
if($key == 'actualizar_x') { $op = "actualizara"; }
// botones del template siguiente EOF
if($key == 'borrar_archivo_x') { $op = "borrara"; }
if($key == 'mod_archivo_x') { $op = "pdf"; }
if($key == 'mod_archivo_ok_x') { $op = "mod_pdf"; }
if($key == 'borrar_archivo_pdf_x') { $op = "borrara_pdf"; }
}
//$cod_origen_convocatoria="9";
switch($op)
{
case "busqueda_m":
// Query noticias busquedas
$busqueda=1;
//$query_noticias="SELECT * FROM noticias WHERE ".$buscar_por." LIKE '%".$parametro."%'";
$query_c=busca_registros_c($AnUserID,"tbl_convocatorias",$buscar_por,$parametro);
$r_convocatorias=an_query($query_c);
$listado=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
case "listar_a":
$query_convocatorias=despliega_registros_c($AnUserID,"tbl_convocatorias");
$r_convocatorias=an_query($query_convocatorias);
$listado=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
case "nuevor":
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'ed_convoca.php');
break;
case "registra":
//realizar operaciones en bases de datos
// echo $archivo;
if($destino=="pdf")
{
if (an_vacio($archivo))
{
$ErrorMessage="Faltan campos por llenar (*Escriba el TITULO del archivo que desea subir)";
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
$nombre_pdf=$_FILES['archivo']['name'];
$tamanio=$_FILES['archivo']['size'];
$status_file=an_validar_archivo_upload($nombre_pdf, $tamanio);
if ($status_file==0)
{
$ide1 = rand(1,999);//genera numero aleatorio entre 1 y 9999
$ide2 = rand(1,999);//genera numero aleatorio entre 1 y 9999
$target_path = DIR_ARCHIVOS_CONVOCATORIAS_PDF . $ide1 . $ide2 . basename( $_FILES['archivo']['name']);
if(move_uploaded_file($_FILES['archivo']['tmp_name'], $target_path))
{
//realizar operaciones en bases de datos
$archivo='pdf/'.$ide1.$ide2.$nombre_pdf;
$URL_convocatoria=HTTP_SERVER."/principal/convocatorias/".$archivo;
$destino="_blank";
// echo "Valor = ".$URL_convocatoria;
}
else
{
$ErrorMessage="Hubo un error al subir el archivo, por favor vuelvalo a intentar";
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
}
else
{
$ErrorMessage=$status_file;
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
}
/*if($fk_tipo_convocatoria=="Eventos") $aviso_principal="A1";
if($fk_tipo_convocatoria=="Cursos" || $fk_tipo_convocatoria=="Concursos") $aviso_principal="A2";
if($fk_tipo_convocatoria=="Posgrados") $aviso_principal="A3";
if($dia<10) $dia="0".$dia;*/
$querya="INSERT INTO tbl_convocatorias (archivo, fk_tipo_convocatoria, des_titulo_convocatoria, des_texto_convocatoria, URL_convocatoria,destino, cod_origen_convocatoria, flag_es_principal_convocatoria, fecha_inicio_vigencia_convocatoria, fecha_fin_vigencia_convocatoria, fk_usuario_creacion_convocatoria, fecha_creacion_convocatoria)
VALUES ('$archivo', '$fk_tipo_convocatoria', '$des_titulo_convocatoria', '$des_texto_convocatoria', '$URL_convocatoria', '$destino', '$cod_origen_convocatoria', '$flag_es_principal_convocatoria', '$fecha_inicio_vigencia_convocatoria', '$fecha_fin_vigencia_convocatoria','$AnUserID', NOW() )";
an_query($querya);
$query="SELECT pk_convocatoria, des_titulo_convocatoria FROM tbl_convocatorias WHERE cod_origen_convocatoria='$cod_origen_convocatoria' ORDER BY fecha_creacion_convocatoria DESC";
$r_convocatorias=an_query($query);
$listado=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
/* case "consultar":
$query="SELECT * FROM tbl_convocatorias WHERE pk_convocatoria='".$archivos."'";
$result=an_query($query);
$row=mysql_fetch_array($result);
include(DIR_TEMPLATES_CONVOCATORIAS . 'consulta.php');
break;
*/
case "modificara":
$query="SELECT * FROM tbl_convocatorias WHERE pk_convocatoria='".$pk_convocatoria."'";
$result=an_query($query);
$row=mysql_fetch_array($result);
$modificar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'ed_convoca.php');
break;
case "actualizara":
if($destino=="pdf")
{
if (an_vacio($archivo))
{
$ErrorMessage="Faltan campos por llenar (*Escriba el TITULO del archivo que desea subir)";
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
$nombre_pdf=$_FILES['archivo']['name'];
$tamanio=$_FILES['archivo']['size'];
$status_file=an_validar_archivo_upload($nombre_pdf, $tamanio);
if ($status_file==0)
{
$ide1 = rand(1,999);//genera numero aleatorio entre 1 y 9999
$ide2 = rand(1,999);//genera numero aleatorio entre 1 y 9999
$target_path = DIR_ARCHIVOS_CONVOCATORIAS_PDF . $ide1 . $ide2 . basename( $_FILES['archivo']['name']);
if(move_uploaded_file($_FILES['archivo']['tmp_name'], $target_path))
{
//realizar operaciones en bases de datos
$archivo='pdf/'.$nombre_pdf;
$URL_convocatoria=HTTP_SERVER."/prncipal/convocatorias/".$archivo;
$destino="_blank";
echo "Valor = ".$URL_convocatoria;
}
else
{
$ErrorMessage="Hubo un error al subir el archivo, por favor vuelvalo a intentar";
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
}
else
{
$ErrorMessage=$status_file;
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
}
if (an_vacio($des_titulo_convocatoria))
{
$ErrorMessage="Debe de especificar el TITULO que va a llevar la convocatoria";
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
if($fk_tipo_convocatoria=="Eventos") $aviso_principal="A1";
if($fk_tipo_convocatoria=="Cursos" || $fk_tipo_convocatoria=="Concursos") $aviso_principal="A2";
if($fk_tipo_convocatoria=="Posgrados") $aviso_principal="A3";
if($dia<10) $dia="0".$dia;
$query="UPDATE tbl_convocatorias SET fk_tipo_convocatoria='$fk_tipo_convocatoria',des_titulo_convocatoria='$des_titulo_convocatoria',des_texto_convocatoria='$des_texto_convocatoria',URL_convocatoria='$URL_convocatoria',destino='$destino',cod_origen_convocatoria='$cod_origen_convocatoria', flag_es_principal_convocatoria='$flag_es_principal_convocatoria', fecha_inicio_vigencia_convocatoria='$anio-$mes-$dia',fk_usuario_modificacion_convocatoria='$AnUserID', fecha_modificacion_convocatoria=NOW() WHERE pk_convocatoria='$pk_convocatoria';";
// echo $query;
an_query($query);
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
case "pdf":
include(DIR_TEMPLATES_CONVOCATORIAS . 'ed_pdf.php');
break;
case "mod_pdf":
//$pdf_url =$_SERVER['DOCUMENT_ROOT'] . DIR_APPLICATION . basename($URL_convocatoria);
$pdfs = "archivos/convocatorias/".basename($URL_convocatoria);
if (an_vacio($archivo))
{
$ErrorMessage="Faltan campos por llenar (*Escriba el TITULO del archivo que desea subir)";
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'ed_pdf.php');
break;
}
if (unlink($pdfs))
{
$nombre_pdf=$_FILES['archivo']['name'];
$tamanio=$_FILES['archivo']['size'];
$status_file=an_validar_archivo_upload($nombre_pdf, $tamanio);
if ($status_file==0)
{
$ide1 = rand(1,999);//genera numero aleatorio entre 1 y 9999
$ide2 = rand(1,999);//genera numero aleatorio entre 1 y 9999
$target_path = "archivos/convocatorias/" . $ide1 . $ide2 . basename( $_FILES['archivo']['name']);
if(move_uploaded_file($_FILES['archivo']['tmp_name'], $target_path))
{
//realizar asignaciones para bases de datos
$archivo='archivos/convocatorias/'.$nombre_pdf;
$URL_convocatoria=$target_path;
// echo "Valor = ".$URL_convocatoria;
}
else
{
$ErrorMessage="Hubo un error al subir el archivo, por favor vuelvalo a intentar";
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'ed_pdf.php');
break;
}
}
else
{
$ErrorMessage=$status_file;
$registrar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'ed_pdf.php');
break;
}
//echo $URL_convocatoria;
$query="UPDATE tbl_convocatorias SET URL_convocatoria='$URL_convocatoria',fk_usuario_modificacion_convocatoria='$AnUserID', fecha_modificacion_convocatoria=NOW() WHERE pk_convocatoria='$pk_convocatoria';";
an_query($query);
$query="SELECT * FROM tbl_convocatorias WHERE pk_convocatoria='".$pk_convocatoria."'";
$result=an_query($query);
$row=mysql_fetch_array($result);
$modificar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
}
else
{
$ErrorMessage="No se puedo borrar el archivo por que esta siendo usado, intente más tarde";
echo '<script language="JavaScript">';
echo 'alert("No se puedo borrar el archivo por que esta siendo usado, intente más tarde");';
echo 'history.go(-1);';
echo '</script>';
break;
}
case "borrara_pdf":
$pdf_url =$_SERVER['DOCUMENT_ROOT'] . DIR_APPLICATION . $URL_convocatoria;
if (unlink($pdf_url))
{
$query="UPDATE tbl_convocatorias SET URL_convocatoria='',fk_usuario_modificacion_convocatoria='$AnUserID', fecha_modificacion_convocatoria=NOW() WHERE pk_convocatoria='$pk_convocatoria';";
an_query($query);
$query="SELECT * FROM tbl_convocatorias WHERE pk_convocatoria='".$pk_convocatoria."'";
$result=an_query($query);
$row=mysql_fetch_array($result);
$modificar_template=1;
include(DIR_TEMPLATES_CONVOCATORIAS . 'ed_convoca.php');
break;
}
else
{
$ErrorMessage="No se puedo borrar el archivo por que esta siendo usado, intente más tarde";
echo '<script language="JavaScript">';
echo 'alert("No se puedo borrar el archivo por que esta siendo usado, intente más tarde");';
echo 'history.go(-1);';
echo '</script>';
break;
}
case "borrara":
$query="DELETE FROM tbl_convocatorias WHERE pk_convocatoria='".$pk_convocatoria."'";
// $query="DELETE FROM convocatorias WHERE pk_convocatoria = '".$archivos."'";
an_query($query);
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
break;
default:
include(DIR_TEMPLATES_CONVOCATORIAS . 'mod_convoca.php');
} // Cierra el switch
?>
-------------fin de código------------
y despues en la carpeta de dynamic/templates/principal/convocatorias estan los archivos mod_convoca.php, ed_convoca.php y ed_pdf.php..
me podrian ayudra con los "case" ya que no me funciona el registrar los pdf...si es necesario tengo todos los archivos, los puedo pegar o enviar.
Gracias por su apoyo