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

    Passare stringa con apici a funzione javascript

    Salve a tutti, spero di essere nella sezione giusta...
    sto provando a passare una stringa json ad una funzione javascript da php, ma non so dove sbaglio... ho fatto mille e mille prove ma non sono riuscito a risolvere...

    La stringa in questione è del formato seguente:

    {"name":"ANTONIO","sex":"male","surname":"ROSSI"," age":"29 ANNI","city":"BARI"}

    Viene elaborata in questa sezione di pagina php
    Codice PHP:

    // .....................

    $row mysql_fetch_array($result);
            
    $ID             =     $row["id"];
    $LIBRO        =    ucfirst(strtolower($row["product_name"]));
    // Stringa json come questa {"name":"ANTONIO","sex":"male","surname":"ROSSI","age":"29 ANNI","city":"BARI"}
    $USERFIELDS    =    $row["user_fields"];

    echo
    "<body onload=\"createOrder('./include/books/".$LIBRO.".xml', '$USERFIELDS');\">"
    Ho provato con tutte le funzioni possibili per eliminare gli slash, ma niente... a javascript non piace per niente...

    Potrei fare un json_decode da php e passare direttamente un array alla funzione? In verità non so se si può fare e come si fa....

    attendo vostre illuminazioni...

  2. #2
    Taglia la testa al toro e usa base64_encode() (per inviare la stringa) e base64_decode() (nella pagina che riceve la stringa)
    Ovviamente devi fare il base64_decode() nella funzione javascript: http://phpjs.org/functions/base64_decode:357
    altrimenti devi cambiare "sintassi" della stringa, eliminando le ".
    Altro, così al volo, non mi viene


  3. #3
    Originariamente inviato da Dascos
    Taglia la testa al toro e usa base64_encode() (per inviare la stringa) e base64_decode() (nella pagina che riceve la stringa)
    Ovviamente devi fare il base64_decode() nella funzione javascript: http://phpjs.org/functions/base64_decode:357
    altrimenti devi cambiare "sintassi" della stringa, eliminando le ".
    Altro, così al volo, non mi viene

    Sono obbligato ad usare json... perché il sistema non l'ho fatto io, e quindi i moduli già esistenti utilizzano json...

  4. #4
    Va benissimo, usa json. Quello che dico io è di fare qualcosa del tipo
    Codice PHP:
    $row mysql_fetch_array($result);
            
    $ID             =     $row["id"];
    $LIBRO        =    ucfirst(strtolower($row["product_name"]));
    // Stringa json come questa {"name":"ANTONIO","sex":"male","surname":"ROSSI","age":"29 ANNI","city":"BARI"}
    $USERFIELDS    =    $row["user_fields"];
    $USERFIELDS base64_encode($USERFIELDS);
    echo
    "<body onload=\"createOrder('./include/books/".$LIBRO.".xml', '$USERFIELDS');\">"
    Poi nella funzione createOrder devi fare il base64_decode. Se la funzione createOrder è una funzione javascript, basta che usi il metodo che ti ho lincato, se invece è uno script php, prendi il parametro in ingresso e fai qualcosa del tipo
    Codice PHP:
    $USERFIELDS base64_decode($USERFIELDS); 

  5. #5
    Grazie mille! Risolto con il tuo aiuto!

  6. #6

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.