Visualizzazione risultati 1 fino 10 di 10

Discussione: Scrivere in un file js con un form php

  1. #1
    mexonline non è connesso Utente giovane
    Data registrazione
    31-05-2014
    Messaggi
    70

    Predefinito Scrivere in un file js con un form php

    allora spiego cosa vorrei fare, avrei un file js

    Codice:
    function StateSuggestions() {
    this.states = [
    "nome1","nome2","nome3"
    ];}
    io in questo file ho nome1, nome2, nome3 ecc. vorrei però che dopo l'invio del form il valore dell'input si vada ad aggiungere alla lista "nome1","nome2","nome3","nome4" senza modificare il resto del file JS

    avevo pensato di leggere tutto il contenuto con file() poi cercare la virgola e sostituirla con

    Codice:
    ,nome4,
    in questo modo inserisco nel centro del file il nuovo nome e aggiungo sia la virgola tolta che quella nuova del nome per separarlo dal resto. Poi riscrivo tutto il nuovo contenuto nel file js
    ma non riesco, penso che sia sbagliato il mio ragionamento potreste darmi voi una mano perfavore?

  2. #2
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Ho fatto alcune prove ed ho trovato una possibile soluzione (spero ti vada bene)

    ho creto un file php dove genero un array , quindi all'interno dello stesso file , creo un script con JSON
    Codice:
    ...array php...
    $valori = array(
              'citta'    => 'Paperopoli',
              'persone' => array('Paperone','Paperino')
    );
    .......
    <script>
    var valori = <?php echo json_encode($valori); ?>;
    </script>
    dove chiaramente la variabile $valori e' il mio array che voglio passare al mio js esterno
    quindi richiamo il file js esterno dove riprendo il valore del mio array e lo passo ad un array creato nello script
    Codice:
    file esterno js
    ...
    vettore[x] = valori['persone'][0];
    ...
    esempio

  3. #3
    mexonline non è connesso Utente giovane
    Data registrazione
    31-05-2014
    Messaggi
    70

    Predefinito

    nel tuo esempio se aggiorni la pagina l'array si svuota e torna tutto come al apertura.. mi spiego meglio, ho trovato un input su internet che con js e css mostra un input che scrivendo una lettera tipo 'a' trova tutte le parole (nell'array) che hanno quell'inizio e le visualizza una sotto l'altra sotto l'input, la prima parola che trova però viene usata nel input in compilazione automatica... io stavo provado ad adattare tutto al mio sito.. e avevo pensato di aggiungere ogni volta un nome nuovo (il nome viene appena l'utente si registra) e poi con quel input permettere ad altri utenti di ricercarlo attraverso l'input.. adesso posto anche un link e faccio vedere l'esempio

  4. #4
    mexonline non è connesso Utente giovane
    Data registrazione
    31-05-2014
    Messaggi
    70

    Predefinito

    questo è l'array che contiene i nomi che vorrei si aggiungessero al momento della registrazione altri nomi..
    questo invece è la pagina dove ho l'input clicca l'esempio
    adesso in questo modo funziona tutto correttamente, l'unico problema è nel aggiungere altri nomi nel file js modificando in parte o totalmente il file ogni volta che un nuovo utente si registra

    pensavo se si potesse seguire questo procedimento:
    prendo il contenuto del array presente nel file js in una variabile
    divido ogni nome attraverso la virgola che fa da separatore tra i nomi
    aggiungo un nuovo nome alla lista
    inserisco il nuovo contenuto nel file js

    (dovrei in questo modo riscrivere il file js ogni volta che un nuovo utente esegue la registrazione)
    Ultima modifica di mexonline : 05-07-2014 alle ore 18.44.54

  5. #5
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Ho capito cosa vuoi fare ...
    non comprendo perche' tu voglia salvare i dati in un file JS invece di usare un semplice DB ...
    comunque , nel caso tu voglia salvare i dati sul file ti consiglio allora di usare XML.
    Esempio:
    crei un file XML che contiene i tuoi dati (nel tuo esempio i nomi) - strutturalo bene e convalidalo con XML Schema
    quindi con XML DOM Parser potrai accedere al tuo file XML
    e con l'accesso al Nodo potrai modificare/eliminare/aggiungere degli elementi
    nel tuo caso specifico userai appendChild() per aggiungere un nuovo nome.

  6. #6
    mexonline non è connesso Utente giovane
    Data registrazione
    31-05-2014
    Messaggi
    70

    Predefinito

    io avevo deciso di riscrivere sempre il file js perchè mi sembrava molto facile... tipo recuperi i dati, e aggiungi una nuova voce.. anche perche di queste cose non capisco molto, se avrei un file di esempio riesco a capire come funziona.. ho trovato quel esempio su internet, ho cercato la parte che raccoglieva i nomi cosi era meno codice da riscrivere a ogni registrazione.. di quello che parli tu non so nulla di XML di js.. allora io recupero i dati dal DB li inserisco in un array e scrivo i nomi dell'array separati dalla virgola all' interno del file js cosi

    function StateSuggestions() {
    this.states = [

    qui i valori dell'array separati dalla virgola

    ];}

    tutto dentro un file js che viene riscritto come se fosse un file txt
    e questo posso farlo ripetere più volte
    potrebbe funzionare?

  7. #7
    mexonline non è connesso Utente giovane
    Data registrazione
    31-05-2014
    Messaggi
    70

    Predefinito

    o provato a farlo ma non riesco..

    function StateSuggestions() {
    this.states = [

    qui i valori del db

    ];}


    ma per far inserire tutti i nomi che recupero dal db tutto il codice deve stare dentro il ciclo while e se metto la function e le parentesi me le stampa piu volte nel file js.. se le metto al di fuori del ciclo mi da solo l'ultimo nome del ciclo..

    pensavo in questo modo.. ma sbagliato

    Codice PHP:
    <?php
    include "config.php";
    $filename = 'z.js';
    if (!
    $handle = fopen($filename, 'wb')) {
    echo
    "bloccato";
    exit;
    }

    $co1 = "function StateSuggestions(){
    this.states = ["
    ;

    $co3="];}";

    mysql_connect($db_host,$db_user,$db_password);
    @
    mysql_select_db($db_name) or die("Impossibile selezionare il database.");
    $query="SELECT * FROM utente";
    $risultati=mysql_query($query);
    $num=mysql_numrows($risultati);
    mysql_close();
    $i=0;
    while (
    $i < $num) {
    $co2[$i]=mysql_result($risultati,$i,"email");
    $i++;
    }
    if (
    fwrite($handle,"$co1
    $co2
    $co3
    "
    ) === FALSE) {
    echo
    "Errore file";
    exit;
    }
    ?>
    Ultima modifica di alemoppo : 09-07-2014 alle ore 00.03.52 Motivo: Correzione tag

  8. #8
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Ciao,

    quello che ti suggerisco di fare e' di usare jQuery Autocomplete UI con PHP JSON

    in pratica crei un DB con i tuoi nomi , crei un file php per accedere ai nomi e codificarli con JSON , quindi crei un file html con un form ed uno script che quando scrivi i primi due caratteri di un nome ti suggerisce (prelevando i dati dal DB) un elenco di nomi possibili.

    quando avrai compilato il nome ti bastera' eseguire un POST ed inserirlo nel DB.

  9. #9
    mexonline non è connesso Utente giovane
    Data registrazione
    31-05-2014
    Messaggi
    70

    Predefinito

    ok capito tutto meno una cosa: ho i nomi nel database, li recupero con php adesso dovrei unire il js con i risultati dati dal php, quindi dovrei scrivere tutti i valori dentro un input nascosto.. poi con js scrivere: var availableTags = $("#idinput").html();

    potresti farmi un esempio su questa parte? cè tipo se dentro l'input dovrei separarli in questo modo "nome","nome","nome"..
    poi nel esempio la variabile è scritta cosi

    availableTags = [

    "Luca",
    "Giorgio",
    "Franco",
    "Dario",
    "Simone",

    ];

    quindi non so se servono ancora le parentesi quadre ecc.
    non so neanche se l'idea di inserire valori in un input nascosto sia esatta grazie per l'aiuto

  10. #10
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    in questo Post ho scritto una guida con un esempio , se hai ancora problemi fammi sapere...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •