Comunidad de diseño web y desarrollo en internet online

ayuda con formulario en ajax + php

Citar            
MensajeEscrito el 24 Sep 2010 04:21 pm
hola que tal gente de cristalab tengo un formulario el cual no me inserta a la base de datos soy un poco nuevo en esto pero quisiera que me ayudaran en el le dejo lo que hecho hasta ahora y asi puedan ayudarme.

empezaremos con el archivo javascript

Código Javascript :

/* Denunciar post */
function denunciar_post(id){
   mydialog.close_button = true;
   mydialog.procesando_inicio('Cargando...', 'Denunciar post');
   $.ajax({
      type: 'POST',
      url: '/web/posts.denunciar.form.php',
        data: '',
        success: function(h){
            mydialog.title('Formulario de denuncias');
            mydialog.body(h, 450);
            mydialog.buttons(true, true, 'Enviar Denuncia', 'denunciar_post_send('+id+')', true, true, true);
            mydialog.center();
            $('#denuncia-publica #nombre').focus();
         },
            
      error: function(){
         mydialog.error_500("denunciar_post('"+id+"')");
         return;
      },
      complete: function(){
         mydialog.procesando_fin();
      }
   });
}

function denunciar_post_send(id){
    if($('#denunciar-post #razon').val()==''){
         $('#denunciar-post #error_data').html('Es importante la Razon del Contenido').slideDown('fast');
         $('#denunciar-post #razon').focus();
         return;
      }else if($('#denunciar-post #comentario').val()==''){
         $('#denunciar-post #error_data').html('Debes escribir un breve Comentario ').slideDown('fast');
         $('#denunciar-post #comentario').focus();
         return;}
            
   mydialog.close_button = true;
    
    
   mydialog.procesando_inicio('Enviando...', 'Denunciar post');
   $.ajax({
      type: 'POST',
      url: '/web/posts.denunciar.php',
      data: 'razon='+encodeURIComponent($('#razon').val())+'&comentario='+encodeURIComponent($('#comentario').val()) + '&id=' + id,
      success: function(h){
            mydialog.alert('Formulario de denuncias', h.substring(3));
         },
      error: function(){
         mydialog.error_500("denunciar_post('"+id+"')");
         return;
      },
      complete: function(){
         mydialog.procesando_fin();
      }
   });
}


la function denunciar_post(id) se encarga de llamar al formulario posts.denunciar.form.php

el cual es este

Código PHP :

<div id="denunciar-post" class="form-container">

   <div id="error_data" class="Globo GlbRed" style="display: none;"></div>
   <div class="data">

      <font class="size12">
                  <b>Razón de la denuncia:</b></font><br>
                  <select name="razon" id="razon" tabindex="1">
                     <option value="repost">Re-post</option>

                     <option value="se_hace_spam">Se hace spam</option>
                     <option value="links_muertos">Tiene enlaces muertos</option>
                     <option value="racista_irrespetuoso">Es racista o irrespetuoso</option>
                     <option value="contiene_info_personal">Contiene información personal</option>
                     <option value="titulo_en_mayuscula">El título esta en mayúscula</option>
                     <option value="contiene_pornografia">Contiene pornografía</option>

                     <option value="gore_asqueroso">Es gore o asqueroso</option>
                     <option value="mal_la_fuente">Está mal la fuente</option>
                     <option value="crap">Crap/Post demasiado pobre</option>
                     <option value="pide_pass">Pide contraseña y no está</option>
                     <option value="no_cumple_el_protocolo">No cumple con el protocolo</option>
                     <option value="otra_razon">Otra razón (especificar)</option>

                  </select>
   </div>
   <div class="data">
      <label>Comentarios</label>
      <textarea class="c_input_desc" id="comentario" name="comentario" style="height: 50px;" onfocus="foco(this);" onblur="no_foco(this);"></textarea>
<font size="1">En el caso de ser Re-post se debe indicar el enlace del post original.</font>
   </div>

</div>

donde al llenar el formulario damos al boton enviar y nos llama a la function denunciar_post_send(id) que es la encargada de llamar al archivo posts.denunciar.php donde esta nos inserta en la base de datos la cual es esta que en si no se si esta mal o bien espero puedan ayudarme en ella.

aqui en insert del archivo

Código PHP :

<?php   
function ssi_denunciar_post()
{
    
   global $context, $settings, $options, $txt, $scripturl, $modSettings;
global $db_prefix, $user_info, $scripturl, $modSettings, $board;
global $query_this_board, $func;


$ID_TOPIC2   =   (int) $_POST['ID_TOPIC'];
$ID_MEMBER2   =   $context['user']['id'];
$comlimpito   =   $_POST['comentario'];
$comentario   =   strip_tags($comlimpito);
$razon      =   $_POST['razon'];
$tipo      =   $_POST['tipo'];

if(!empty($ID_TOPIC2) && !empty($comlimpito)  && !empty($razon)  && !empty($tipo))
{ 
   $errorr = db_query("
            SELECT *
            FROM {$db_prefix}denunciations
            WHERE
               ID_MEMBER = $ID_MEMBER2 AND
               ID_TOPIC = $ID_TOPIC2 AND
               TYPE = '$tipo'
            LIMIT 1", __FILE__, __LINE__);
   $yadio = mysql_num_rows($errorr) != 0 ? true : false;
   mysql_free_result($errorr);
if ($yadio)
       fatal_error('Ya has denunciado este post.', false);

mysql_query ("
   INSERT INTO {$db_prefix}denunciations
         (ID_TOPIC, ID_MEMBER, reason, comment, TYPE)
         VALUES ('$ID_TOPIC2', '$ID_MEMBER2', '$razon', '$comentario', '$tipo'");


}}
?>


saludos y bueno espero puedan ayudarme

Por thehack

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Sep 2010 04:11 am
:twisted: :twisted: :twisted: :roll: nadie me piensa echar una mano con esto

Por thehack

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Sep 2010 08:38 pm
thehack

Hola man!!! yo te ayudo pero necesito que me mandes el SQL de la base de datos a la que piensas subirlo. Crea un SQL de las tablas en las cuales deseas que se haga el proceso. Y con el SQL reviso a ver que error te manda.

Por esutoraiki

Claber

548 de clabLevel

4 tutoriales

Genero:Masculino  

Aplicaciones para Web

opera
Citar            
MensajeEscrito el 26 Sep 2010 09:53 pm

Código PHP :

aca esta men el sql donde los archivos deberian hacer el proceso donde el cual se insertarian los datos 



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

--
-- Estructura de tabla para la tabla `smf_denunciations`
--

CREATE TABLE IF NOT EXISTS `smf_denunciations` (
  `ID_DENUNCIATIONS` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `ID_TOPIC` int(10) NOT NULL DEFAULT '0',
  `ID_MEMBER` int(10) NOT NULL DEFAULT '0',
  `reason` text CHARACTER SET utf8 NOT NULL,
  `comment` text CHARACTER SET utf8 NOT NULL,
  `TYPE` text CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`ID_DENUNCIATIONS`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='cw_denuncias' AUTO_INCREMENT=36 ;

--
-- Volcar la base de datos para la tabla `smf_denunciations`
--

INSERT INTO `smf_denunciations` (`ID_DENUNCIATIONS`, `ID_TOPIC`, `ID_MEMBER`, `reason`, `comment`, `TYPE`) VALUES
(32, 5, 2, 'Re-post', 'prueba', 'post'),
(35, 9, 19, 'fadsfads', 'fdasfadsf', 'comunidad');

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

Por thehack

5 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.