Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Ajax e Php

  1. #1

    Ajax e Php

    Ciao a tutti!

    Sono un nabbo di Ajax ma me la cavo col php. Avevo iniziato a fare qualche chiamata asincrona al php e sono riuscito a fare in modo che si scriva in un text input di un form e con l'onSubmit faccio un .append della stringa digitata nel campo.
    Ora stavo cercando di fare in modo che il php non mi ritorni solo un echo. Più precisamente
    mi serviva fare in modo che quando Ajax richiama in modo asincrono la pagina php, in questa io modifico il contenuto di una variabile di sessione, e nel momento in cui la chiamata termina, oltre a tornare il solito echo che ".appendo" poi in qualche div, mi serve che Ajax mi stampi il contenuto di questa variabile di sessione da qualche parte nella pagina...
    Dovrei fare una cosa del tipo $(div).text(<?php $_SESSION["var"] ?>);

    Spero di essere stato chiaro
    Conto sul vostro aiuto, come sempre!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Perchè non fai tornare il contenuto della variabile di sessione nell'echo?

  3. #3
    ma lo devo stampare da un'altra parte...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da sharkdrew
    ma lo devo stampare da un'altra parte...
    Filtra l'output e rigiralo come ti pare a te in js no?

  5. #5
    ho provato a fare così:
    var foo = "<?php echo $_SESSION["var"]; ?>";
    alert(foo); //per vedere se la "prende" bene

    ma non va! può essere che sbaglio a piazzare il session_start() e session_commit() ??
    (sono uno di quelli della programmazione a spaghetti, avendo imparato da autodidatta e ho 16 anni)

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da sharkdrew
    ho provato a fare così:
    var foo = "<?php echo $_SESSION["var"]; ?>";
    alert(foo); //per vedere se la "prende" bene

    ma non va! può essere che sbaglio a piazzare il session_start() e session_commit() ??
    (sono uno di quelli della programmazione a spaghetti, avendo imparato da autodidatta e ho 16 anni)
    Innanzitutto dovresti fare cosi per non sovrapporre gli apici
    var foo = "<?php echo $_SESSION['var']; ?>";

    Poi fai presente che il valore viene stampato quando viene caricata la pagina
    quindi non dinamicamente o a seconda del client, ora il mio consiglio
    è questo, perchè non ricavi semplicemente la variabile di sessione dalla pagina
    richiamata in ajax che apporta le modifiche? Magari filtrando l'output o dividendolo

  7. #7
    ho letto il tuo consiglio prima... ho provato a trovare un'altra soluzione perchè in javascript mi dovrei andare a cercare come farlo...comunque ho capito cosa vuoi dire. Una cosa che in php corrisponderebbe a substr(output, -2) praticamente prendo gli ultimi due caratteri della stringa di output, glieli "strappo" via e li uso come contenuto di una variabile... provo subito =D

  8. #8
    RoTeam ho provato a filtrare la stringa di ritorno del php come mi avevi suggerito... ho avuto dei problemi. La stringa è un codice html, una cosa tipo "<span> caratteri vari bla bla </span>56" allora io nella funzione ho messo quel 56 alla fine e lo prendo come fosse una variabile che il php passa di ritorno all'ajax.
    Ho fatto così:
    codice:
    aggiornaPagina(stringa){
            var get_num = stringa.substring(-2);
    	var stringa = stringa.substring(stringa.lenght-2);
    	
    	$(".div_name").text(get_num);
    	$(".content").append(stringa);
    }
    Il problema è che la stringa che prima mi riconosceva "come codice html" adesso i tag me li prende come semplici caratteri e mi stampa tutto <span> ecc...
    Come mai?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da sharkdrew
    RoTeam ho provato a filtrare la stringa di ritorno del php come mi avevi suggerito... ho avuto dei problemi. La stringa è un codice html, una cosa tipo "<span> caratteri vari bla bla </span>56" allora io nella funzione ho messo quel 56 alla fine e lo prendo come fosse una variabile che il php passa di ritorno all'ajax.
    Ho fatto così:
    codice:
    aggiornaPagina(stringa){
            var get_num = stringa.substring(-2);
    	var stringa = stringa.substring(stringa.lenght-2);
    	
    	$(".div_name").text(get_num);
    	$(".content").append(stringa);
    }
    Il problema è che la stringa che prima mi riconosceva "come codice html" adesso i tag me li prende come semplici caratteri e mi stampa tutto <span> ecc...
    Come mai?
    Potresti spiegarti meglio? Quale delle 2 stringhe ti da problemi? Prova con $(..).html(..)

  10. #10
    grazie per le quick reply!
    In pratica mentre prima mi faceva un .append dello span con le cose scritte (e quindi a video stampa solo le cose scritte) adesso mi stampa paro paro tutto il codice che non si dovrebbe vedere. Mi stampa <span> scritte ecc. </span>... non so se è chiaro

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.