Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [AJAX]: invio form con POST

    Ciao a tutti,
    ho il seguente problema: il file che segue, viene importato dentro una pagina .php tramite l'istruzione include("pagina.php");

    pagina.php è la seguente:
    Codice PHP:

    <script language="javascript">
    function ajaxFunction(){
        var ajaxRequest;  // The variable that makes Ajax possible!
        
        try{
            // Opera 8.0+, Firefox, Safari
            ajaxRequest = new XMLHttpRequest();
        } catch (e){
            // Internet Explorer Browsers
            try{
                ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try{
                    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e){
                    // Something went wrong
                    alert("Your browser broke!");
                    return false;
                }
            }
        }
        // Create a function that will receive data sent from the server
        ajaxRequest.onreadystatechange = function(){
            if(ajaxRequest.readyState == 4){
                //document.myForm.time.value = ajaxRequest.responseText;
            }
        }
        
        ajaxRequest.open("POST", "insertMarker.php", true);
        ajaxRequest.send(null); 
    }
    </script>


    <div id="infoWindow" align="center" >
        <form name="newMarker" method="post">
            <fieldset>
                <legend>Marker details</legend>
                <div class="input">
                    <label for="user">Title [b]*[/b]</label>
                    <input id="title"> 
                </div>
                <div class="input">
                    <label for="user">Comment [b]*[/b]</label>
                    <input id="comment" type="text">
                </div>
                <input type="hidden" name="author" value="Prova Trez"/>
                <input type="hidden" name="latitude" value="<?php echo $lat;  ?>"/>
                <input type="hidden" name="longitude" value="<?php echo $lng;  ?>"/>
                <input type="hidden" name="projectID" value="020"/>
                <input type='button' onclick='ajaxFunction()' value='Query MySQL' />
            </fieldset>
        </form>
    </div>

    insertMarker.php è la pagina che effettuerà la richiesta, ovvero inserirà i dati del form.
    Ecco il suo codice:

    Codice PHP:
    <?php

    $author 
    $_POST['author'];
    $lat $_POST['latitude'];
    $lng $_POST['longitude'];
    $title $_POST['title'];
    $comment $_POST['comment'];
    $projectID $_POST['projectID'];

    $coordinates $lat.' '.$lng;

    include(
    "connection.php");
    $stream mysql_connect($host,$user,$password)or die("Connessione non riuscita: " mysql_error());
    mysql_select_db($db$stream) or die("Errore nella selezione del database");
    $sql "INSERT INTO markers (author, coordinates, title, comment, project_id) VALUES ('".$author."','".$coordinates."','".$title."','".$comment."', '".$projectID."')";

    //$sql = "INSERT INTO markers (author, coordinates, title, comment, project_id) VALUES ('prova Treddy',')";
    mysql_query($sql) or die('Error, insert query failed');
    mysql_close($stream);

    echo 
    "Query inserita con successo";

    ?>
    Non riesco a capire perché non funziona.
    Che sia perché pagina.php viene importata dentro un'altra pagina php, quindi ci sono problemi tra i caratteri <? php ?> e <script....></script> ??
    Aiuto, sto impazzendo T_T!
    Grazie!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: [AJAX]: invio form con POST

    Originariamente inviato da trez
    ajaxRequest.open("POST", "insertMarker.php", true);
    ajaxRequest.send(null);
    Dov'e' l'invio dei dati? :master:

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Scusa l'ignoranza, ma come devo fare l'invio dei dati?
    E' la mia applicazioen AJAX praticamente e gaurdando un po' qui e un po' lì ho provato a far qualcosina del genere

    P.S. in questo caso per me è importante che il metodo d'invio sia POST e non GET. Infatti nella riga dell'open, il metodo specificato prima era un GET.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non si puo' usare il javascript provando a cambiare qualche parola a naso... occorre documentarsi

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Ok, my fault

  6. #6
    Ho letto e agito.
    Ora ho messo:

    Codice PHP:
    var queryString "author=" author "&latitude=" latitude "&longitude=" longitude "&title=" title "&comment=" comment "&projectID=" projectID;
        
    ajaxRequest.open("POST""insertMarker.php"true);
        
    ajaxRequest.setRequestHeader("content-type""application/x-www-form-urlencoded");
        
    ajaxRequest.send(queryString); 
    Ma nulla ancora accade.
    Se premo sul pulsante del form, non accade ancora nulla.

  7. #7
    Ho tentato di mettere alcune stampe per controllare il flusso dei dati, ma niente.
    Quando clicco sul pulsante per l'invio del form, non succede nulla: il form rimane come "immobile".

  8. #8
    Ho risolto scoprendo a mie spese che non posso mettere i tag <script></script> dentro al codice php

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 © 2025 vBulletin Solutions, Inc. All rights reserved.