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

Discussione: un aiuto su sajax

  1. #1

    un aiuto su sajax

    ciao a tutti,

    sto cercando di far fare delle cose a php senza fargli fare il refresh della pagina...

    ora dopo alcune ricerche in internet e su questo forum ho scoperto la tecnologia ajax, in particolare sajax

    ho provato a capire gli scripts e a leggere il forum (fra l'altro mi sono registrato ma non mi hanno mai mandato la conferma via mail)

    e non ci ho capito molto

    per farla breve tramite un pulsante nella pagina chiamo un'altra pagina in php che sei occupa di cancellare un file, ora io vorrei che ciò accadesse senza che io debba andare per forza nella pag che esegue il fatto.

    cioè clicco e tutto finisce li.

    qualcuno può aiutarmi?

    grasssie

  2. #2
    AJAX non è altro che una tecnologia che permette di fare scambio di informazioni tra tra client e server.

    Nello specifico utilizza XML come mezzo di comunicazione e Javascript su client e un linguaggio server side sul server.

    Infatti AJAX vuol dire:
    Asynchronous Javascript and XML

    questa tecnologia permette, ad esempio, di eseguire delle "funzioni" residenti sul server tramite javascript per svolgere le operazioni richieste e questo permette un'elevata flessibilità!

    Prendendo un esempio dal sito di SAJAX capirai subito come funziona

    Premesssa: devi farti una piccola cultura, almeno, su javascript, css e dhtml per poterti muovere un po

    Guarda il contenuto di questa pagina:
    http://www.modernmethod.com/sajax/sa...ltiply.php.txt

    codice:
    <?
    	require("Sajax.php");
    	
    	function multiply($x, $y) {
    		return $x * $y;
    	}
    	
    	sajax_init();
    	// $sajax_debug_mode = 1;
    	sajax_export("multiply");
    	sajax_handle_client_request();
    	
    ?>
    <html>
    <head>
    	<title>Multiplier</title>
    	<script>
    	<?
    	sajax_show_javascript();
    	?>
    	
    	function do_multiply_cb(z) {
    		document.getElementById("z").value = z;
    	}
    	
    	function do_multiply() {
    		// get the folder name
    		var x, y;
    		
    		x = document.getElementById("x").value;
    		y = document.getElementById("y").value;
    		x_multiply(x, y, do_multiply_cb);
    	}
    	</script>
    	
    </head>
    <body>
    	<input type="text" name="x" id="x" value="2" size="3">
    	*
    	<input type="text" name="y" id="y" value="3" size="3">
    	=
    	<input type="text" name="z" id="z" value="" size="3">
    	<input type="button" name="check" value="Calculate"
    		onclick="do_multiply(); return false;">
    </body>
    </html>
    il codice è estremamente semplice!

    Vi è del codice php all'inizio che si occupa di dichiarare la funzione e poi tramite un'apposita funzione di verificare se deve eseguire le funzioni richieste via JS o deve proseguire normalmente

    dopo di che c'è il codice html:
    - la parte javascript si occupa inizializzare SAJAX e di eseguire le richieste quando serve, oltre che visualizzare i dati
    - la parte HTML invece si occupa di gestire l'immissione di questi dati

    Come puoi vedere la funzione do_multiply si occupa di richiamare la funzione PHP tramite sajax, chiamata x_multiply e passando 3 parametri, ovvero i due parametri in ingresso della funzione php e la funzione da richiamare a operazione conclusa, ovvero la callback!
    La funzione di callback non deve far altro che ricevere il parametro di uscita della funzione che può essere un valore come un'array e eseguire le operazione che necessità

  3. #3
    ok fin qui,

    ma a me pare che bisogna scrivere le funzioni due volte, una in php e una in javascript... :master:



    entrando nello specifico della mia domanda come posso far far eseguire il codice di una pag php senza andarci ma solo richiamandola tramite un link?


    grazie

  4. #4
    usando sajax puoi richiamare la funzione che ti serve

    inoltre non ti serve scrivere 2 volte le funzioni, infatti al posto di do_multiply potresti direttamente mettere nel bottone il codice, solo che devono essere recuperati i valori e quindi verrebbe scomdo xche la riga sarebbe tipo di 600 caratteri

  5. #5
    Originariamente inviato da daniele_dll
    usando sajax puoi richiamare la funzione che ti serve
    potresti farmi un esempio terra terra

    ho fatto varie prove senza results

  6. #6
    <?php
    require("Sajax.php");

    function multiply($x, $y) {
    return $x * $y;
    }

    sajax_init();
    sajax_export("multiply");
    sajax_handle_client_request();

    ?>

  7. #7
    che ce vo' fà !?



    quindo dopo mi basta fare un on lick su di un pulsante dove richiamo cosa?

    perchè quello che non capisco è come mai dopo nel codice javascript trovo la funzione do_multiply, non c'è un manuale un qualcosa ...

    cioè non riesco a capire se ci sono delle funzioni predefinite da richiamare o cosa...

    comunque grazie per la pazienza farò ulteriori ricerche e prove.


  8. #8
    devi semplicemente richiamare la funzione php preceduta da un x_ passandogli oltre ai parametri richiesti dalla funzione anche un'ultimo parametro corrispondente al nome di una funzione javascript che si occuperò di elaborare i dati ricevuti da php (elaborare = visualizzare)



    se guardi quelle poche righe di codice JS vedi come è semplice

  9. #9
    potevi dirlo subito no ?!!

    grazie ancora

  10. #10
    ok ho fatto così e funzia:

    codice:
    <?
    	require("Sajax.php");
    	
              function ciccia(){
                                $fp = fopen("./ciccia.txt", "a");
                                 fputs($fp, "ciao ciao\r\n");
                                 fclose($fp);
                                 }
    
    	
    	sajax_init();
    	// $sajax_debug_mode = 1;
    	sajax_export("ciccia");
    	sajax_handle_client_request();
    	
    ?>
    <script>
    	<?
    	sajax_show_javascript();
    	?>
    	
    
    	
    	function do_ciccia() {
    		x_ciccia();
    	}
    	</script>
    crea il file
    mi crea il file correttamente, ora le mie domande sono:

    dove trovo una documentazione più ampia di sajax (sul sito c'è poco) voglio dire come hai capito che va un x_ prima delle funzioni e tutto il resto?

    sul sito ok ok...



    :rollo:

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.