Código PHP:
<?
session_start();
include('xajax/xajax.inc.php');
include('conexion.php');
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
$connectid = mysql_connect("localhost", "root", "");
mysql_select_db("web",$connectid);
function procesar_formulario($form_entrada){
$error_formtitulo = "";
$error_formtitulobox = "";
$error_formtituloshadow = "";
$error_formcontenido = "";
$error_formcontenidobox = "";
$error_formcontenidoshadow = "";
$error_formcategoria = "";
$error_formcategoriashadow = "";
$error_formflood = "";
//Sistema de categorias
if(empty($form_entrada["titulo"])) {
$error_formtitulo = "<br /><b>Error: <span style='color:red;'>El titulo esta vacio</span></b>";
$error_formtitulobox = "1px solid red";
$error_formtituloshadow = "0 0 5px red";}
elseif(empty($form_entrada["contenido"])){
$error_formcontenido = "<br /><b>Error: <span style='color:red;'>El contenido esta vacio</span></b>";
$error_formcontenidobox = "1px solid red";
$error_formcontenidoshadow = "0 0 5px red";}
elseif (empty($form_entrada["categoria"])){
$error_formcategoria = "<b>Error: <span style='color:red;'>Sin categoria</span></b><br />";
$error_formcategoriashadow = "0 0 5px red";}
else{
$categocon = "SELECT * FROM categoria where id = '".$form_entrada["categoria"]."' ";
$categoquery = mysql_query($categocon);
while($categoria= mysql_fetch_object($categoquery)) {
$categoriaid = $categoria->id;
$categorianame = $categoria->categoria;
}
if (@$categoriaid != $form_entrada["categoria"]){
$error_formcategoria = "<br /><b>Error: <span style='color:red;'La categoria no pertenece a esta web, vete a tomar poculo</span></b>";
$error_formcategoriashadow = "0 0 5px red";}
}
$importante = ( isset( $form_entrada["importancia"] ) && is_array( $form_entrada["importancia"] ) ) ? implode( ', ', $form_entrada["importancia"] ) : '';
if ($importante == Null){
$importante = 0;}
if ($importante == 1){
$importante = 1;}
$ip = $_SERVER["REMOTE_ADDR"];
//Sistema ip-hora antiflood
$iphora ="SELECT * FROM post WHERE ip = '{$ip}' order by hora desc limit 1";
$ipflood = mysql_query($iphora);
while($ipconsulta = mysql_fetch_array($ipflood)){
$horapost = $ipconsulta['hora'];
}
$horactual = time();
$horaflood = $horactual - @$horapost;
function tiempo_segundos($segundos){
$minutos=$segundos/60;
$horas=floor($minutos/60);
$minutos2=$minutos%60;
$segundos_2=$segundos%60%60%60;
if($minutos2<10)$minutos2='0'.$minutos2;
if($segundos_2<10)$segundos_2='0'.$segundos_2;
if($segundos<60){ /* segundos */
$resultado= round($segundos).' Segundos';
}elseif($segundos>60 && $segundos<3600){/* minutos */
$resultado= $minutos2.':'.$segundos_2.' Minutos';
}else{/* horas */
$resultado= $horas.':'.$minutos2.':'.$segundos_2.' Horas';
}
return $resultado;
}
$segundos= $horaflood;
$segundosparapostear = 60 - $segundos;
if ($horaflood < 60)
$error_formflood = "<br /><b>Error: <span style='color:red;'>Debes esperar 1 minuto</span></b>";
//Fin sistema ip-hora antiflood
$muestra = new xajaxResponse();
$muestra->addAssign("error_formtitulo","innerHTML","$error_formtitulo");
$muestra->addAssign("titulo","style.border","$error_formtitulobox");
$muestra->addAssign("titulo","style.boxShadow","$error_formtituloshadow");
$muestra->addAssign("error_formcontenido","innerHTML","$error_formcontenido");
$muestra->addAssign("contenido","style.border","$error_formcontenidobox");
$muestra->addAssign("contenido","style.boxShadow","$error_formcontenidoshadow");
$muestra->addAssign("error_formcategoria","innerHTML","$error_formcategoria");
$muestra->addAssign("categoria","style.boxShadow","$error_formcategoriashadow");
$muestra->addAssign("error_formflood","innerHTML","$error_formflood");
if ($error_formtitulo != "" or $error_formcontenido != "" or $error_formcategoria != "" or $error_formflood != "" or $error_formtitulobox = "" or $error_formcontenidobox = "" or $error_formtituloshadow = "" or $error_formcontenidoshadow = "" or $error_formcategoriashadow = "" ){
return $muestra;}
//Inserta datos del formulario principal, ip, hora, importancia y categoria
$reg = mysql_query("INSERT INTO post (titulo, contenido, hora, ip, importancia, categoria, id_user) VALUES ('".$form_entrada["titulo"]."', '".$form_entrada["contenido"]."', '$horactual', '$ip', '$importante', '$categoriaid', '".$_SESSION["usuario_id"]."')");
if($reg) {
$salida = "<font color='green'><b>Tu post fue agregado correctamente</b></font>";
}else{
$salida = "No se ha insertado. Este es el error: " . mysql_error();
}
$inserta = new xajaxResponse('ISO-8859-1');
$inserta->addAssign("insertar","innerHTML",$salida);
return $inserta;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("procesar_formulario");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
Código PHP:
$connectid = mysql_connect("localhost", "root", "");
mysql_select_db("web",$connectid);
Una ayudita Gracias
PD el archivo es mas largo pero creo que eso es lo mas importante