Visualizzazione risultati 1 fino 7 di 7

Discussione: Eseguire script php senza caricare una nuova pagina

  1. #1
    Guest

    Question Eseguire script php senza caricare una nuova pagina

    Allora, vengo subito al mio problema, io ho uno script php simile a questo:
    Codice PHP:
    <?php

    $variabile1
    = $_POST[id];
    $risultato= "$variabile1_test"
    ....
    ?>
    Questo è solo un esempio, lo script è molto piu complicato.
    Ora ho la necessità che questo script venga eseguito senza aprire una nuova pagina web, quindi in una pagina html (non posso utilizzare php in questa nuova pagina) ho utilizzato questo script in javascript che devo dire la verità funziona molto bene:
    Codice HTML:
    <script language="JavaScript" type="text/JavaScript">
    <!--
    var execproc=new Image();
    
    execproc.src="http://miosito.it/?id=52852857";
    //-->
    </script>
    Fin qui tutto OK, ora siccome avrei bisogno di far inserire la variabile ID in un form e poi inviarla in questo script javascript ho provveduto in questo modo:

    Codice HTML:
    <script language="javascript">
    <!--
    function Esempio() {
    var miaVariabile = document.nomeForm.nomeTextbox.value;
    var execproc=new Image();
    execproc.src="http://miosito.it/?id=\"miaVariabile\"";
    }
    //-->
    </script>
    
    <form name="nomeForm">
    Inserisci ESSID
    <input type="text" name="nomeTextbox">
    <input type="button" value="Prova" onClick="Esempio()">
    </form>
    Facendo in questo modo non funziona e lo script php non va in esecuzione. Dove sbaglio? Poi oltre a questo avrei bisogno che la seconda variabile [$risultato] che viene generata dallo script php venga importata nello javascriipt e mi viene mostrata ad esempio in un textbox oppure in un allert. Come posso fare? Ringrazio anticipatamente, sperando di aver esposto il mio problema chiaramente.

  2. #2
    Guest

    Predefinito

    Si puà fare solo usando ajax, non dimenticare che il codice php viene seguito sul server e non nel brawser...

  3. #3
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    puoi vedere questo risultato in questa pagina .html(anche per una pagina .php):
    http://eurosalute.altervista.org//tool/banIP.html

    http://eurosalute.altervista.org//tool/banIP.php

    sul query string stampa il valore del nome del campo di testo...

    prova tu stesso...

    ho fatto così:
    Codice HTML:
    <script language="javascript">
    <!--
    function Esempio() {
    var miaVariabile = document.nomeForm.nomeTextbox.value;
    var execproc=new Image();
    execproc.src=miaVariabile;
    }
    //-->
    </script>
    
    <form name="nomeForm">
    Inserisci ESSID
    <input type="text" name="nomeTextbox">
    <input type="submit" value="Prova" onClick="Esempio()">
    </form>
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  4. #4
    Guest

    Question

    No, non voglio che quello che viene scritto nel form venga trascritto nell'url, ma inviato ad uno script php. Ho cercato di informarmi su ajax ed ho capito che è l'unica soluzione. Qualcuno sarebbe così gentile da spiegarmi come integrare ajax nel mio progetto? Allora ho una pagina html dove l'utente inserisce un valore in un form ($variabile1) questa variabile deve essere inviata ad uno script php che la controlla e ne genera un altra ($variabile1-2). Infine ho bisogno che la variabile generata ($variabile1-2) venga mostrata nella pagina html o in un campo di testo oppure in un alert. Quindi come dovrebbe essere il codice ajax? Grazie mille...

  5. #5
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Il problema è nel codice Javascript: correggi questa riga
    Codice:
    execproc.src="http://miosito.it/?id=\"miaVariabile\"";
    diventa
    execproc.src="http://miosito.it/?id="+miaVariabile;
    Come avevi scritto tu, l'indirizzo dell'immagine era sempre http://miosito.it/?id="miaVariabile", e non dipendeva dal valore immesso nel campo nomeTextbox.

  7. #7
    Guest

    Wink

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Il problema è nel codice Javascript: correggi questa riga
    Codice:
    execproc.src="http://miosito.it/?id=\"miaVariabile\"";
    diventa
    execproc.src="http://miosito.it/?id="+miaVariabile;
    Come avevi scritto tu, l'indirizzo dell'immagine era sempre http://miosito.it/?id="miaVariabile", e non dipendeva dal valore immesso nel campo nomeTextbox.
    GREAT... così funziona, ma ora il problema rimane quello di leggere l'output o meglio la variabile generata da php. Come fare? Ho letto qualche cosa della guida ma non ho capito gran chè!!!

    ----

    Allora, ho cercato di smanettare un po con ajax ed ho creato la pagina html in questo modo:


    Codice HTML:
    <script language="javascript">
    
    
     function createRequestObject() {   
         var ro;   
         var browser = navigator.appName;   
         if(browser == "Microsoft Internet Explorer"){   
             ro = new ActiveXObject("Microsoft.XMLHTTP");   
         }else{   
             ro = new XMLHttpRequest();   
         }   
         return ro;   
     }   
        
     var http = createRequestObject();   
        
     function sndReq() {   
         http.open('get','http://www.miosito.it/script.php?id=12345678');  
         http.onreadystatechange = handleResponse;   
         http.send(null);   
     }   
        
    function handleResponse() {   
         if(http.readyState == 4){   
             var response = http.responseText;   
                if(response){ 
                 alert(response); 
             } 
         }   
     }
    </script>
    <a href="javascript:sndReq">PROVA</a>
    Ora il file php se lo visualizzo normalmente mi stampa la scritta "il tuo id è 12345678" ma se apro la pagina html che ho creato e mando in esecuzione lo script tutto rimane fermo e non va in esecuzione (dovrebbe visualizzarmi nell'alert quello che mi restituisce php giusto?) Dove sbaglio?

    Sarà perchè il file html è in locale e non sul server a differenza del file php? Ajax funziona solo sullo stesso dominio, ma la mia situazione è questa: il file php si trova sul server http://sito.it/script.php invece il file ajax deve essere eseguito in locale. Come ovviare a questo problema?
    Ultima modifica di googlepacman : 27-10-2010 alle ore 18.55.44

Regole di scrittura

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