Visualizzazione dei risultati da 1 a 6 su 6

Discussione: PHP Javascript Ajax

  1. #1
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39

    PHP Javascript Ajax

    Premetto che ho da poco approcciato PHP, non conosco Javascript ne tantomeno Ajax benché me ne sia fatta piàù che un inda leggendo le numerose guide sull'argomento.

    Considerando che è mia intenzione far partecipare il meno possibile linguaggi estranei al PHP ho la seguente esigenza:

    Immaginiamo un form html, con variabili php che l'utente deve valorizzare.
    Immaginiamo ancora che il form richieda ad esempio l'input (select o input diretto è indifferente) il codice del cliente o magari il codice dell'articolo di magazzino.

    Ciò premesso, una volta inserito/selezionato il codice del cliente o dell'articolo di magazzino sul form html ho la necessità di far valorizzare tutti gli altri campi del form collegati, come ad esempio l'intestazione per il cliente e la descrizione e il prezzo unitario per l'articolo di magazzino.

    Da quanto ho capito non ci sono molte strade, javascript è client-side e php è server-side, uno non vede le variabili dell'altro, è quindi impossibile passare valori di variabili php a javascript (le variabili sono sul server e non sul client) o il contrario.

    Una strada percorribile sembrerebbe Ajax, che a quanto promette, dovrebbe esserein grado di richiamare una funzione (php) sul server e ricevere da questa i valori da poi inserire nel form o da qualsiasi altra parte del modulo html.

    Per i miei scopi (memorizzazione sul database) non servirebbe ma per l'utente che utilizzerebbe l'applicazione serve sicuramente sapere se il cliente 100 corrisponde a tizio, caio o sempronio, così come serve capire se ha beccato l'articolo di magazzino desiderato.
    I dati che dovrei mettere sul form sarebbero di tipo DIsabled e servirebbero solo per evidenza all'utente.

    Il giro che ipotizzo:
    - FORM HTML con codice PHP
    - L'utente seleziona un valore chiave (cliente/articolo)
    - Sull'evento onchange (immagino) viene scatenata una funzione remota di lettura dei dati relativi al cliente o all'articolo selezionato e ritorna tali dati (in qualche modo) nei campi del form disabled per evidenziarli all'utente che ha originato la richiesta.

    In teoria tutto molto semplice... a farsi... molto più complicato! Sapreste indicarmi la retta via? Magari con qualche esempio.. grazie.

  2. #2
    ciao,
    Secondo me sei molto molto confuso....
    AJAX in primis non è un linguaggio di programmazione ma un modo di utilizzare javascript e xml tramite i quali effettuare chiamate asincrone verso un database sostanzialmente. Quello che dici tu è fattibile, basta recuperare attraverso il DOM il valore inserito dall'utente ma a quel punto per rendere tutti i dati o fai partire uno script php attivando direttamente il submit del form attraverso js o ti affidi ad AJAX.
    AJAX purtroppo non ho avuto ancora tempo di studiarlo a fondo ma in molti mi consigliano per fare lavori veloci e funzionanti di usarlo tramite Jquery.
    Il sapere umano appartiene al mondo.

  3. #3
    scusi ma Javascript si possa vedere i valori da form.

    per esempio fai un funziona in Javascript come
    codice:
    <script type="text/javascript" language="Javascript">
    function provare(){
      if(form.nome.value == ""){
        alert("Si deve inserire un nome!");
        form.nome.focus();
        return false;
      }
      return true;
    }
    </script>
    e adesso il tuo form:

    codice:
    <form action="invia.php" method="post" onsubmit="javascript:provare()">
    Nome: <input type="text" name="nome" />
    Altro: <input type="text" name="altro" value="un'altro" />
    </form>
    c'è un hyphen in l'esempio in onsubmit in il codice. usi "javascript" non java-script: (è una cambia di HTML.it)

    i valori (in questo caso solo "nome") sono provato da Javascript e poi inviato per la pagina di processando (invia.php)

    Ciao!
    Dennis M.
    Nuovo Blog di Programmazione! (Lo ha i tutti tipi! PHP e C/C++)
    Per piacere lo supporti!

  4. #4
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    Originariamente inviato da Jardel
    ciao,
    Secondo me sei molto molto confuso....
    AJAX in primis non è un linguaggio di programmazione ma un modo di utilizzare javascript e xml tramite i quali effettuare chiamate asincrone verso un database sostanzialmente. Quello che dici tu è fattibile, basta recuperare attraverso il DOM il valore inserito dall'utente ma a quel punto per rendere tutti i dati o fai partire uno script php attivando direttamente il submit del form attraverso js o ti affidi ad AJAX.
    AJAX purtroppo non ho avuto ancora tempo di studiarlo a fondo ma in molti mi consigliano per fare lavori veloci e funzionanti di usarlo tramite Jquery.
    Jardel così non mi aiuti... sul fatto che sia confuso non mi serviva una tua conferma, altrimenti non avrei scritto nel forum per chiedere aiuto, grazie per averlo sottolineato così delicatamente (molto molto... delicatamente).
    Preciso che non ho scritto da nessuna parte che Ajax sia un linguaggio (leggi bene) anche se di sicuro PHP non è visto che è in javascript con uso di xml e richiama anche php lato server.
    La cosa che mi avrebbe di sicuro aiutato è un esempio (anche banalissimo) sulla linea cliente/articolo che avevo proposto.

    Poi non riesco a capire cosa c'entri il "submit" del form, io non voglio fare submit (se dovevo re-interagire col server l'avrei fatto in php puro).

    Diciamo che ho la necessità di riempire una distinta prodotti e che dato l'articolo (anche in questo caso da poter ricercare tramite popup o altra diavoleria) devo andarmi a leggere sul server la descrizione, l'unità di misura e il prezzo e riportarlo nel form attivo SENZA REINVIARE TUTTO IL MODULO.
    Anche per il cliente devo poter fare una ricerca del codice tramite popup (o altro) inserendo ad esempio una parte dell'intestazione e, attraverso una lista (sempre nel popup o altra diavoleria) devo poterne selezionare uno che come per magia deve andarmi a finire nella mia prima pagina (form) assieme a tutti gli altri dati anagrafici del cliente, la modalità di pagamento, e così via.

    Mi tocca studiare questo è ovvio, ma prima di incamminarmi a naso gradivo qualche suggerimento (sicuramente Jquery è un suggerimento ma non supportato da una tua diretta esperienza in merito).

    Altri suggerimenti... utili?

  5. #5
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    Originariamente inviato da DennisM
    scusi ma Javascript si possa vedere i valori da form.

    per esempio fai un funziona in Javascript come
    codice:
    <script type="text/javascript" language="Javascript">
    function provare(){
      if(form.nome.value == ""){
        alert("Si deve inserire un nome!");
        form.nome.focus();
        return false;
      }
      return true;
    }
    </script>
    e adesso il tuo form:

    codice:
    <form action="invia.php" method="post" onsubmit="javascript:provare()">
    Nome: <input type="text" name="nome" />
    Altro: <input type="text" name="altro" value="un'altro" />
    </form>
    c'è un hyphen in l'esempio in onsubmit in il codice. usi "javascript" non java-script: (è una cambia di HTML.it)

    i valori (in questo caso solo "nome") sono provato da Javascript e poi inviato per la pagina di processando (invia.php)

    Ciao!
    Dennis M.
    Ciao Dennis e grazie per la tua simpatica risposta.
    In realtà io NON devo leggere dati del form da javascript, no... la mia esigenza è tutt'altro.
    come ho scritto prima... dato un valore inserito/selezionato nel form e sapendo che questo valore è un codice cliente o codice articolo di magazzino... SENZA LASCIARE LA PAGINA ATTIVA devo poter andare a leggere tutti i dati collegati a quel codice cliente/articolo e riportarli all'interno del form che può eventualmente anche stravolgersi totalmente.

    La tecnologia da utilizzare è senza dubbio Ajax (javascritp da solo non può interagire col server e quindi fare interrogazioni sul database etc etc, inoltre non può leggere i valori delle variabili php perchè ovviamente queste risiedono sul server e non sul client, se mi sbaglio fermatemi).
    Ajax invece permetterebbe di scatenare un processo detto "asincrono" verso il server, dove potrebbe essere possibile prelevare le informazioni in background e passarle alla pagina attiva senza che l'utente debba ogni volta inviare (submit) form vari.

    Mi sarebbe molto utile un esempio di codice almeno "vicino" allo scenario da me ipotizzato.
    Inoltre devo poter ricercare cliente e articoli mediante popup (o altro) senza che io abbandoni la pagina attiva e con la possibilità di filtrare e selezionare i dati e infine di riportarli sulla pagina originaria nei posti giusti.

    Ciao e grazie ancora.

  6. #6
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    Ho trovato un esempio con JQuery... ho usato quel codice e va bene.

    Grazie a tutti.

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