Pagina 7 di 8 primaprima ... 5 6 7 8 ultimoultimo
Visualizzazione dei risultati da 61 a 70 su 73
  1. #61
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    ok, avevamo già verificato questa situazione: al PHP gli sta arrivando solo il primo parametro. Purtroppo non riesco a capirne la causa dal momento che, dalle semplici prove che ho fatto, non ho questo problema.
    Cerchiamo magari di aggirare in qualche modo il problema. Come già ti avevo indicato in precedenza, prova ad usare il metodo POST.
    Ovviamente va adeguato sia il JavaScript, modificando il parametro type della chiamata AJAX in "POST" anziché "GET", nonché usando la superglobale $_POST[] nella parte PHP, anziché $_GET[] (chiaramente, per tutti i vari punti del codice).

    Fai questa prova, magari anche col semplice exit (ovviamente sostituendo anche qui $_GET con $_POST ) e vediamo che succede.


    Ora vado, ci aggiorniamo magari domani. Buona notte
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  2. #62
    Facendo questo test ottengo lo stesso output di prima

    A domani. Buona notte

  3. #63
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    uhm, ok.

    Non vedo motivo per cui al server arrivi solo il primo parametro.
    Magari prova a postarmi un esempio dei 4 valori per quei parametri (fai un copia incolla), così faccio eventualmente qualche prova anche io; non vorrei che qualche strano carattere rompa in qualche modo il passaggio di tutti i valori.

    Ti aggiorno poi stasera.



    PS: a prescindere dal funzionamento, quel productQuantity sarà meglio non passarlo in quel modo ma andarlo a recuperare lato server per evitare falle... forse sto iniziando a capire la tua perplessità a riguardo. Poi vediamo magari meglio.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  4. #64
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    uhm, ok.

    Non vedo motivo per cui al server arrivi solo il primo parametro.
    Magari prova a postarmi un esempio dei 4 valori per quei parametri (fai un copia incolla), così faccio eventualmente qualche prova anche io; non vorrei che qualche strano carattere rompa in qualche modo il passaggio di tutti i valori.

    Ti aggiorno poi stasera.
    Per esempio perdonami, non ho ben capito , va bene se ti posto i valori delle righe delle due tabelle?

    PS: a prescindere dal funzionamento, quel productQuantity sarà meglio non passarlo in quel modo ma andarlo a recuperare lato server per evitare falle... forse sto iniziando a capire la tua perplessità a riguardo. Poi vediamo magari meglio.
    La mia perplessità è la seguente quando vado a generare la tabella lato client con il js
    codice:
      function drawRow(rowData) {                   
                        var row = $("<tr />")
                        $("#vista_richieste").append(row);
                        row.append($("<td>" + rowData.IDrichiesta + "</td>"));
                        row.append($("<td>" + rowData.IDutente + "</td>"));
                        row.append($("<td>" + rowData.IDprodotto + "</td>"));
                        row.append($("<td>" + rowData.quantity + "</td>"));
                        row.append($($("<td><button onclick='mi(\"" + rowData.IDrichiesta + "\",\"" + rowData.IDutente + "\",\"" + rowData.IDprodotto + "\",\"" + rowData.quantity + "\")'>Approva</button></td>")))
                        
                    }
    in questo modo sto andando a replicare la tabella acquisti del db (correggimi se sbaglio) , quindi nell'evento onclick nella funzione mi() passo le righe della tabella acquisti e quindi anche "rowData.IDutente" che a me teoricamente non serve giusto?
    Nella chiamata AJAX nella funzione mi(idrichiesta,idprodotto,quantity,prodquantity) , i 4 parametri sono i valori che prendo dal php. Non vorrei che l'errore fosse in un passaggio sbagliato di parametri nel js , qui è la mia perplessità e spero di essermi spiegato per bene

  5. #65
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    Per esempio perdonami, non ho ben capito , va bene se ti posto i valori delle righe delle due tabelle?
    Forse sì, mi servono giusto per effettuare personalmente una prova con una semplice chiamata AJAX ad un semplice PHP, in modo da capire se con quei valori ottengo il tuo stesso problema, dal momento che con la prova che ho fatto (passando dei semplici valori numerici) non ho alcun problema, i parametri vengono passati tutti e 4 regolarmente.

    La mia perplessità è la seguente...
    Aspetta, riguardo prodquantity mi riferivo ad un'altra questione che poi ti spiego sotto altrimenti facciamo confusione; non sto capendo però ciò che hai indicato ora. Nell'ultimo codice vedo quell'IDutente che prima non c'era, ma c'era invece prodquantity??? Fammi capire.

    Io non so esattamente quali operazioni devi effettuare con quei dati e quindi quali dati ti serva far arrivare al tuo PHP; questo dovresti saperlo tu in base a come vuoi che funzioni il tutto; in qualunque caso questo prescinde dal fatto che il passaggio di tali dati non stia funzionando, a meno che qualcuno di questi dati (cioè il contenuto stesso dei dati) non "interferisca" in qualche modo con la trasmissione da client a server. Sto cercando di capire questo, ed è per questo motivo che mi interessa avere un esempio di quei 4 valori.

    ---
    Riguardo prodquantity, se non ho capito male, è il valore della quantità disponibile del prodotto richiesto, giusto? Quindi è un dato certo.
    Ora, se fosse così, questo valore non dovrebbe poter essere modificato sul db senza i dovuti accorgimenti. Riguardando il tuo PHP noto che vai a fare un update proprio nel db, in base ad un valore ottenuto (differenza) considerando proprio questo dato.


    Codice PHP:
    $prodQuantityTemp $_GET['productQuantity'];
    $differenza $prodQuantityTemp $quantityTemp;
    if(
    $prodQuantityTemp >= $quantityTemp){
    mysqli_query($connessione" UPDATE prodotto SET productQuantity = '$differenza' ... 
    Quel productQuantity dovrebbe (e sottolineo "dovrebbe") indicare con certezza il valore attuale che è registrato nel db; ma dal momento che tale valore lo stai "costringendo" (passami il termine) a passare per il client, c'è la possibilità che venga compromesso da qualche malintenzionato o per un qualsiasi altro motivo; capisci bene che se poi vai a fare un update sul db, con un valore di cui la sua certezza può essere compromessa, hai un grosso problema. Non sto qui a spiegarti nozioni di sicurezza del codice ma chiaramente, in questo caso, c'è un problema di vulnerabilità.

    Quindi quel valore, a mio parere, andrebbe recuperato direttamente lato server, non deviato per il client per poi farlo tornare al server; mentre mi pare chiaro che gli altri valori siano da considerarsi come degli input utente, per cui dovranno passare necessariamente dal client prima di arrivare al server.
    Ultima modifica di KillerWorm; 02-12-2020 a 22:36
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  6. #66
    Allora provo a spiegarmi meglio per farti capire le operazioni che voglio fare al click del pulsante. Partiamo dal principio io devo approvare una richiesta di un utente al click del pulsante "approva" , per fare ciò lavoro su due tabelle del mio db la tabella "prodotto" e la tabella "richiesta"
    tabella prodotto: Schermata 2020-12-02 alle 21.42.55.png

    tabella richiesta:Schermata 2020-12-02 alle 21.44.46.png

    Adesso io ho questa richiesta (ho dovuto tagliare il pulsante perché non me la faceva caricare), al click del pulsante di una riga qualsiasi della tabella (tenendo presente che nella tabella ci sia più di una richiesta) , la richiesta deve essere eliminata dalla tabella e la quantità di tale richiesta deve essere aggiornata nella tabella "prodotto". Queste sono le operazioni che devo compiere

    -----
    Se per te non è un problema direi di lasciar perdere la situazione di IDutente

  7. #67
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    Ok, fammi capire però, IDrichiesta è una chiave univoca nel db?
    Se fosse così ti basterebbe passare, nella chiamata AJAX, solo quel dato; tutti gli altri li recuperi da PHP, con opportune query al db, no?
    Puoi confermare?

    E' chiaro che anche in questo caso dovrai comunque lavorare sulla sicurezza del codice per cautelarti dal passaggio di dati contraffatti o in generale da operazioni di sql injection; ma questo è un altro capitolo.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  8. #68
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ok, fammi capire però, IDrichiesta è una chiave univoca nel db?
    E' la chiave primaria nel db

  9. #69
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    Ok, quindi confermi che ti è sufficiente avere quel valore per poi recuperare tutti gli altri dati. Per questo ti dico che nella chiamata AJAX ti basta passare quell'unico parametro (diciamo così). Nel PHP farai il resto delle operazioni per recuperare gli altri dati e aggiornare infine il db.

    Che poi è grossomodo l'indicazione che avevo dato nel mio primo post

    Prova quindi a impostare nuovamente il tutto usando solo quel valore come dato da passare al PHP attraverso AJAX.

    Fai qualche prova e chiaramente fai sapere se hai bisogno di qualche aiuto in questo passaggio.
    Ora vado, ci aggiorniamo domani.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  10. #70
    Benissimo faccio qualche prova e ti aggiorno.
    A domani

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