dati non passano alla pagina php

fabio_198

Utente Attivo
8 Nov 2012
53
0
0
Buongiorno e buon 25 a tutti!

Ho questo problema

HTML:
<div id="formdropnews" class="hide">
            
            <form method='post' action='editprofile.php' id='formdropnews' enctype='multipart/form-data'>
                <input type="hidden" name='postidnewsdrop' id='postidnewsdrop' value="<?php echo $postid ;?>" />
                <div id="containertaguser">
                 <div id="contentboxtaguser" contenteditable="true"></div>
                  <textarea id="userdataggare" style="display:none" rows="30" cols="30" name="cur_userdataggare"></textarea> 
                 <div id='display'></div>
                 <div id="msgbox"></div>
                </div>
                <button type='submit' id='submitdropnews' name='dropnews' class="btn" onclick="document.getElementById('userdataggare').innerHTML = getElementById('contentboxtaguser').innerHTML">Yes, send!</button>
            </form>
          </div>
HTML:
<script>
$(function(){
        $('#pop-dropnews').click(function(){
          $('#formdropnews').show();
        });
      });

      $(function(){
         $('#submitdropnews').click(function() {
             $('#formdropnews').append('<img src="img/loading.gif" alt="loading" id="loading" />');

             var postidnewsdrop = $('#postidnewsdrop').val();
             var contentboxtaguser = $('#contentboxtaguser').val();

             $.ajax ({
                url: 'editprofile.php',
                type: 'POST',
                data: 'postidnewsdrop=' + postidnewsdrop + '&contentboxtaguser=' + contentboxtaguser,
                success: function(res) {
                    $('#risposta').remove();
                    $('#formdropnews').append('<p id="risposta">' + res + '</p>');
                    $('#loading').fadeOut(800, function() {
                      $(this).remove();
                    });
                }
             });
             return false;
         });
      });
    </script>

e questa è la editprofile.php

PHP:
<?php
        if (isset ($_POST['dropnews']) ) {
	 $postidnews = $_POST['postidnewsdrop'];
	   $tmp_userdropped = $_POST['cur_userdataggare'];
	   $userdropped_path_offset = strpos($tmp_userdropped, ">") + 1;
	   $userdropped_path_end = strpos($tmp_userdropped, "</a>", $userdropped_path_offset);
	 $userdropped = substr($tmp_userdropped, $userdropped_path_offset, $userdropped_path_end-$userdropped_path_offset);

       if ($userdropped==""){
         echo "Please type user you want drop this news";
       }else{
    	   $dropnews = mysql_query("INSERT INTO dropnews (userdrop, idnewsdrop, userdropped) VALUES ('$username', '$postidnews', '$userdropped')");
	       echo "sottocchio";
        }}
    ?>

Se lo faccio girare con ajax nessun record mi viene inserito nel db, mentre se lo faccio senza ajax va tutto ok.

Credo che nella funzione è tutto ok, ma vorrei un vostro aiutino per capire dove sbaglio :o
 
Non passi dropnews e cur_userdataggare nella chiamata in ajax, inoltre la query è vulnerabile a sql injection se non rendi sicure le variabili (vedi mysql_real_escape_string)



ps: mysql è deprecato, approcciati verso mysqli o pdo
 
hai perfettamente ragione grazie!!

ammetto che ho fatto qualche modifica dopo il tuo aiuto, ho trovato qualche altro errore :cool:
 

Discussioni simili