Visualizzazione dei risultati da 1 a 8 su 8

Discussione: invio dati con ajax

  1. #1

    invio dati con ajax

    Salve a tutti,
    devo inviare dei dati ad una tabella senza lasciare la pagina, quindi vorrei utilizzare Ajax per raggiungere l'obiettivo. Ho 2 file: il primo in php che deve inviare materialmente i dati
    codice:
    <?php
    $db = mysql_connect('localhost', 'root', '');
    $libro = $_POST['libro'];
    $utente = $_POST['utente'];
    
    $sqlinser= "insert into like (id_libro2, id_utente) values ('$libro', '$utente')";
    mysql_select_db("libri", $db)
    
    mysql_close($db);
    
    ?>
    poi ho il file da dove invio al file php i dati dove ho inserito questa funzione:
    codice:
    <script type="text/javascript">
    function likelibro(libro, utente){
    $.ajax({
          type: "POST",
          url: "like.php",
          data: "libro=" + libro + "&utente=" + utente,
          dataType: "html",
        });
    }
    
    </script>
    dove libro e utente vengo inviati alla funzione (verificato l'effettivo invio con gli alert) tramite il metodo onclick di un Div ma non vengono inviati al file like.php e quindi alla tabella "like" che fa parte di database di nome "libri" e che contiene due soli campi id_libro2 e id_utente (tipo int(11)) . Dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    togli la virgola dopo "html"

    comunque, risolti gli errori sintattici, se non funziona ancora guarda la console di chrome, tab "network", ti dice cosa manda, cosa ritorna, con quale header etc

    ciao

  3. #3
    tolta la virgola, ma niente da fare
    questo è quello che succede:

    in HEADER
    Request URL:http://localhost/freebook2/like.php
    Request Method:POST
    Status Code:200 OK
    Request Headersview source
    Accept:text/html, */*; q=0.01
    Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
    Connection:keep-alive
    Content-Length:18
    Content-Type:application/x-www-form-urlencoded
    Cookienredlocal2=none
    Host:localhost
    Origin:http://localhost
    Referer:http://localhost/freebook2/
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
    X-Requested-With:XMLHttpRequest
    Form Dataview URL encoded
    libro:1
    utente:221
    Response Headersview source
    Connection:Keep-Alive
    Content-Length:42
    Content-Type:text/html
    Date:Sat, 17 Mar 2012 18:40:10 GMT
    Keep-Alive:timeout=5, max=98
    Server:Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_jk/1.2.28 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
    X-Powered-By:PHP/5.3.1

    in PREVIEW:
    attenzione, impossibile inserire il record

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prova a aggiungere
    cache:false
    in $.ajax

    comunque se arriva una risposta, anche se non e' quello che ti aspetti, sembrerebbe non dipendere dal js

  5. #5
    infatti! Ho provato ad inviare i dati con un form e lo stesso non lo invia. Il codice di like.php, però, sembra corretto... proverò degli aggiusti al codice di like.php... Grazie mille!

  6. #6
    provato anche così:
    Codice PHP:

    <?php
    $conn 
    = @new MySQLi('localhost''root''''libri');
    $libro $_POST['libro'];
    $utente $_POST['utente'];

    $sqlinser"insert into like (id_libro2, id_utente) values ('$libro', '$utente')";
    $result = @$conn->query($sqlinser);
    if (
    $result ===FALSE)
    {
    echo(
    "attenzione, impossibile inserire il record $libro $utente");
    $conn->close();
    exit;
    }
    else
    {
        echo 
    "creato il record";
    }

    ?>

    ma la risposta è questa:
    "attenzione, impossibile inserire il record 4 56" dove 4 e 56 sono i valori che inserisco nel form. Proprio non capisco, il db è quello e la tabella pure e i campi sono giusti. A questo punto credo di trovarmi nel topic sbagliato...

  7. #7
    Trovata la soluzione! banale come tutti problemi che ti fanno perdere mezza giornata. Il problema era il nome della tabella like in quanto like è utilizzato come criterio di ricerca e quindi, anche se viene messo in una posizione diversa, manda al manicomio la query (e anche me!!)

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ops, certo!
    e' completamente sfuggito anche a me

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.