Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2022
    Messaggi
    10

    Problema: form method POST passa tutti i parametri in GET al submit

    Salve, ho una banalissima form con attributo method=POST e action=PHP_SELF. Al submit, tutti i parametri vengono inseriti nell'URL come se fosse una chimata GET.
    Non ne esco. L'unica cosa che potrebbe creare una complicanza del genere è una chiamata GET fatta per la modifica di alcuni elementi dinamici.
    Ma come obbligo il form originale a fare la submit in POST?

  2. #2
    Sembra più un problema di rewrite o similari...
    Alcune info aggiuntive sarebbero utili. Usi un framework? Quale? Hai la url rewrite attiva? Che server usi, Apache, Nginx...versione di php?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2022
    Messaggi
    10
    scrivo a mano uso apache, PHP 8
    la chiamata GET a cui mi riferivo è un utility ajax per l'aggiornamento dei valori di un elemento select. In effetti forza un httpRequest in GET che suppongo rimanga aperto. Ma come diavolo lo riporto a POST?

  4. #4
    Capito. Credo tutto dipenda da come chiami la funzione ajax.
    Se riesci a mettere lo snippet di codice che fa la chiamata ajax vediamo com'è

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2022
    Messaggi
    10
    codice:
    function showList(str) {
      
      var xhttp;
      if (str.length == 0) { 
        document.getElementById("attivitaB").innerHTML = "";
        return;
      }
      xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          document.getElementById("attivitaB").innerHTML = this.responseText;
        }
      };
      xhttp.open("GET", "getList.php?cat=" + str, true);
      xhttp.send();   
    }

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, da quel che so le due cose girano in modo indipendente l'una dall'altra; a meno che le due cose non siano volutamente collegate, non mi risulta che una chiamata AJAX, quale essa sia, possa influire sulla transizione di dati eseguita con un altro form, quale esso sia.

    Piuttosto, sei sicuro di aver scritto correttamente il markup del form?
    A volte capita di fare banali errori di battitura difficili da vedere ma che possono compromettere il normale comportamento delle cose.

    Puoi postare esattamente ciò che hai scritto per l'intestazione HTML del tag form?

    Inoltre, il submit viene eseguito in modo tradizionale o, per qualche ragione, viene dato in pasto a JavaScript?
    Sai, magari per validare i campi è possibile che venga interrotto il submit per poi essere rieseguito programmaticamente.
    In tal caso non vorrei che per qualche ragione prima del submit sia impostato il GET via JavaScript.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    192
    Con PHP_SELF stai indicando la pagina attuale compreso i valori GET derivati da xhttp.open("GET", "getList.php?cat=" + str, true);
    Soluzione effettua una richiesta http diversa che non sia uguale all'origine. Altrimenti se php è impostato in un certo modo i valori GET avranno precedenza rispetto i dati POST. Oppure dopo l'invio dati POST Javascript Ajax effettua la richiesta GET di fatto annullando i valori POST.
    Ultima modifica di darbula; 20-12-2022 a 16:07

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.