Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254

    Acquisizione password in popup

    Buongiorno,
    ho cercato diversi post e chiesto in quelli ma non ricevo risposte. Forse scrivendone uno nuovo indicando il risultato che vorrei ottenere riesco a ricevere aiuto.

    La questione è molto semplice:

    Da pagina madre (madre.php) apro un popup (pop.php) che mi richiede un codice, all'invio il popup si chiude e la pagina madre riceve il codice per controllarlo.

    Sembra una cosa semplice visto che da popup tutti ricevono dati tipo date, ulr di immagini etc, ma non riesco a trovare la soluzione al mio problema che a vista d'occhio sembra più semplice.
    Chiedo aiuto perchè non sono bravo con gli script e ci sto sbattendo la testa da una settimana.

    Grazie Angelo.

    Ps. non posto il codice perchè magari stavo sbagliando strada e sono aperto alle vostre.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: Acquisizione password in popup

    Originariamente inviato da a.forte
    ho cercato diversi post e chiesto in quelli ma non ricevo risposte.
    non e' corretto fare cosi': o continui in una discussione veramente vicina al problema e non risalente alla notte dei tempi o apri una tua discussione.
    all'invio il popup si chiude e la pagina madre riceve il codice per controllarlo.
    invio? la popup ha un form? se si' la pagina di destinazione deve occuparsi di inviare i dati all' opener
    riceve il codice, dove? e' un campo di un altro form? e' una variabile javascript?
    form -> window.opener.document.nomeForm.nomeCampo.value='v alore';
    o variabile -> window.opener.nomeVariabile='valore';

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254

    Re: Re: Acquisizione password in popup

    Originariamente inviato da Xinod
    non e' corretto fare cosi': o continui in una discussione veramente vicina al problema e non risalente alla notte dei tempi o apri una tua discussione.
    Hai ragione, la prossima volta aprirò una discussione subito, credevo che rispondendo a post che parlassero del mio argomento avrei ottenuto subito una risposta visto che gli utenti ricevono una mail.

    invio? la popup ha un form? se si' la pagina di destinazione deve occuparsi di inviare i dati all' opener
    riceve il codice, dove? e' un campo di un altro form? e' una variabile javascript?
    form -> window.opener.document.nomeForm.nomeCampo.value='v alore';
    o variabile -> window.opener.nomeVariabile='valore';
    Allora il popup (pop.php) dovrebbe essere più o meno così:
    <form>
    <input type="text" nome="codice">
    <input type="submit" value="invia">
    </form>
    mentre la pagina madre (madre.php)
    <script type="text/javascript">
    var stile = "top=10, left=10, width=500, height=500, status=no, menubar=no, toolbar=si scrollbar=si";
    function Popup(apri) {
    window.open(apri, "", stile);
    }
    </script>
    <? echo "<body onLoad=\"javascript:Popup('pop.php')\">";

    poi dovrebbe ricevere il valore inserito nell'input "codice" per controllarlo.
    Cosa manca?
    Innanzitutto lo script in pop.php per inviare i dati a madre.php e nella funzione l'istruzione windows.close() per chiudere il popup. Poi i campi da inserire in <form> di pop.php per invocare la funzione dello script che esegue i comandi. Ma non me la cavo molto bene con javascript per cui li ho lasciati in sospeso per costruirli insieme.

    Cosa ne pensi?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Allora, pop.php dovrebbe essere pressappoco così:

    codice:
    <html>
        <head>
            <title>Test</title>
            <script type="text/javascript">
                function controllo()
                {
                	 window.opener.campo='campo';
                    window.close();
                }
            </script>
        </head>
        <body>
            <form id="mioform" name="mioform" action="madre.php" method="post">
                <input type="text" value="" id="campo" name="campo" />
                <input type="button" value="INVIA" onclick="controllo()" />
            </form>
        </body>
    </html>

    Come faccio adesso a ricevere il valore di campo in una variabile della pagina madre (madre.php)?
    Credo che manchi solo questo.

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: Re: Re: Acquisizione password in popup

    di nuovo
    Originariamente inviato da a.forte
    poi dovrebbe ricevere il valore inserito nell'input "codice" per controllarlo.
    ricevere dove?

    quello che la pagina di destinazione del form in popup deve fare l' ho gia' scritto alla fine del precedente messaggio, stampa uno
    <script type="text/javascript">
    l' istruzione opportuna seguita da
    window.close()
    </script>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Non so se non hai letto il msg seguente o non mi spiego bene.

    Innanzitutto il flusso deve essere il seguente:

    codice:
    madre.php --->                     pop.php --->
    invoca il popup (pop.php)  ->   richiede il codice, lo invia a madre.php e si chiude ->
    
    ->madre.php
    ->riceve il codice in una variabile e lo controlla
    il codice pop.php dovrebbe essere completo. Ora devo ricevere il codice in una variabile in madre.php

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    no, abbiamo postato contemporaneamente

    se e' il valore di campo che devi passare sara'
    window.opener.campo=document.mioForm.campo.value;

    rifletti sulla logica di quello che stai facendo:
    - madre.php viene comunque servita al client
    - pop.php in un secondo tempo potra' fornire il valore in questione
    questo per dire: non ti aspettare che madre per magia faccia qualcosa con quel valore mentre viene caricata
    se c'e' una funzione javascript di madre da richiamare, dev' essere pop a farlo prima di chiudersi
    se c'e' da rimettere in ballo php dopo che questo valore e' stato passato
    o non passi per un popup (carichi pop nella stessa finestra, acquisisci il tuo dato, componi madre di conseguenza)
    o devi ricaricare madre
    o usi ajax

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Dunque, restare su madre no.
    Ricaricare madre si, ma da pop.php? Sarebbe carino, ma come lo faccio?
    Ajax è un po arabo per me.

    In sostanza se voglio ricaricare madre dovrei fare così?

    codice:
    <title>Test</title>
            <script type="text/javascript">
                function controllo()
                {
                	 window.opener.campo=document.mioForm.campo.value;
                  --->istruzione per ricaricare madre.php
                  window.close();
                }
            </script>
        </head>
    Però poi in madre l'istruzione quale sarà?
    - $_REQUEST['campo']
    - $_POST['campo']
    - devo fare uno script?

    credo manchi solo questo o sono proprio fuori dai binari?

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma se tu ricarichi madre quel valore che hai passato poco prima non esiste piu'
    quindi non serve passarlo a madre

    il modo piu' semplice per passare qualcosa e' via querystring, appendendo all' indirizzo

    l' istruzione nel popup diventa
    window.opener.location.href='madre.php?campo='+enc odeURIComponent(document.mioForm.campo.value);

    e in madre.php fai
    rawurldecode($_GET['campo'])
    per ottenere quanto passato

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    In teoria sembrerebbe la via migliore, ma non funziona
    Metto il codice finale completo, magari c'è qualche errore stupido, però ci siamo quasi dai, non mi abbandonare ora.

    pop.php
    Codice PHP:
    <html>
        <
    head>
            <
    title>Test</title>
            <
    script type="text/javascript">
                function 
    controllo()
                {
                    
    window.opener.location.href='madre.php?campo='+encodeURIComponent(document.mioForm.campo.value);
                    
    window.close();
                }
            
    </script>
        </head>
        <body>
            <form id="mioform" name="mioform" action="madre.php" method="post">
                <input type="text" value="" id="campo" name="campo" />
                <input type="button" value="INVIA" onclick="controllo()" />
            </form>
        </body>
    </html> 
    madre.php
    Codice PHP:
    <script type="text/javascript">
    var stile = "top=10, left=10, width=500, height=500, status=no, menubar=no, toolbar=si scrollbar=si";
    function Popup(apri) {
    window.open(apri, "", stile);
    }
    </script>
    <? 
    echo "<a href=\"#\" onClick=\"javascript:Popup('pop.php')\">Apri popup</a>";
    $variabile=rawurldecode($_GET['campo']);
    echo 
    $variabile;

    ?>
    adesso il popup non si chiude e la variabile non la riceve cmq, però credo sia un errore scemo che io ora ignoro.

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.