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

Discussione: perl e html con frame

  1. #1
    Utente di HTML.it L'avatar di kabuki
    Registrato dal
    Jan 2005
    Messaggi
    71

    perl e html con frame

    Ho un problema di integrazione html-perl, che viste le mie scarse conoscenze di perl non riesco a risolvere...
    in pratica, nel mio sito viene lanciata una pagina attraverso un FORM con metodo POST che apre una seconda finestra con frame; alcuni dei frame contengono degli script perl (che non ho scritto io), che sono tutti intestati per raccogliere informazioni in questo modo:

    codice:
    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    @pairs = split(/&/, $buffer);
    foreach $pair (@pairs)
    etc...
    il mio problema è che la pagina con i frame vede gli attributi passati, ma gli script no...
    esiste una soluzione che mi consenta di conciliare tutto il sito?

    Grazie mille dell'aiuto, saluti

  2. #2
    Ciao,

    sinceramente non ho capito molto, cerca di essere più chiaro. Cosa c'entra Perl con i frame che sono scritti in html?
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Utente di HTML.it L'avatar di kabuki
    Registrato dal
    Jan 2005
    Messaggi
    71
    Scusami ho fatto un po' di confusione :P

    intendevo questo:

    codice:
    <html>
    <head>
    <title>Pagina Incriminata</title>
    </head>
    <frameset rows="25%,75%,70">
    <frameset cols="50%,50%" frameborder="no">
    <frame name="logoFrame" src="logo.html" scrolling="no" />
    <frame name="topFrame" src="script1.pl" />
    </frameset>
    <frameset ID="middleFrameset" cols="50%,50%">
    <frame name="leftFrame" src="left.html" />
    <frame name="rightFrame" src="right.html" />
    </frameset>
    <frame name="bottomFrame" src="script2.pl" noresize="noresize" />
    </frameset>
    </html>
    questa è la mia pagina, a cui passo alcuni parametri. gli script numerati 1 e 2 dovrebbero ottenere questi parametri e a seconda del loro valore generare un diverso codice html. I dati a questa pagina vengono passati attraverso un form con metodo POST

    Spero di essere stato un poco più chiaro adesso...

    ho postato questo problema nel forum dell'html ma mi hanno detto che è più un problema di perl, così ho provato a vedere se qualcuno qui mi poteva aiutare....

  4. #4
    continuo a non capire... passi dei parametri tramite POST ad una pagina html?

    posta qui il codice del form a cui fai riferimento.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5
    Utente di HTML.it L'avatar di kabuki
    Registrato dal
    Jan 2005
    Messaggi
    71
    codice:
    <form name="mioForm" method="POST" target="_blank" action="newPage.html">
    <input type="text" name="textWindow" value="">
    <input type="hidden" name="tipo" value="libero">
    <input type="hidden" name="arco" value="bifora">
    <input type="submit" value="ok">
    </form>
    newPage.html contiene il frameset visto prima

  6. #6
    ok... dei parametri passati ad una pagina html non hanno alcun effetto, e non possono essere raccolti.

    Per cui un metodo funzionante sarebbe avere uno script (newPage.pl) che riceve i parametri e ti genera in maniera dinamica il codice html della pagina dei frame e inserisce nel codice qualcosa del genere:

    codice:
    <html>
    <head>
    <title>Pagina Incriminata</title>
    </head>
    <frameset rows="25%,75%,70">
    <frameset cols="50%,50%" frameborder="no">
    <frame name="logoFrame" src="logo.html" scrolling="no" />
    <frame name="topFrame" src="script1.pl?tipo=libero" />
    </frameset>
    <frameset ID="middleFrameset" cols="50%,50%">
    <frame name="leftFrame" src="left.html" />
    <frame name="rightFrame" src="right.html" />
    </frameset>
    <frame name="bottomFrame" src="script2.pl?arco=bifora" noresize="noresize" />
    </frameset>
    </html>
    a questo punto il codice del form diventerebbe:

    codice:
    <form name="mioForm" method="POST" target="_blank" action="newPage.pl">
    <input type="text" name="textWindow" value="">
    <input type="hidden" name="tipo" value="libero">
    <input type="hidden" name="arco" value="bifora">
    <input type="submit" value="ok">
    </form>
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  7. #7
    Utente di HTML.it L'avatar di kabuki
    Registrato dal
    Jan 2005
    Messaggi
    71
    acc... era così semplice che non mi è neppure balzato per il cervello!



    grazie mille, provo subito

  8. #8
    Utente di HTML.it L'avatar di kabuki
    Registrato dal
    Jan 2005
    Messaggi
    71
    no, nulla, come prima. ho usato il seguente codice:

    codice:
    #!/perl/bin/perl
    
    print "Content-type: text/html \n\n"; 
    
    sub chiamaPagina
    {
    
    print<<page;
    
    <html>
    <head>
    <title>Configuratore Gamma</title>
    </head>
    <frameset rows="25%,75%,70">
    	<frameset cols="50%,50%" frameborder="no">
    		<frame name="logoFrame" src="http://mysite/logo.jsp" scrolling="no" />
    		<frame name="topFrame" src="http://mysite/myscripts/script1.pl?tipologia=
    $input_for{'tipologia'}&modello=$input_form{'modello'
    &colore=$input_form{'colore'}&user=$input_form{'user'
    &flagIE=$input_form{'flagIE'}" />
    	</frameset>
    	<frameset ID="middleFrameset" cols="50%,50%">
    		<frame name="leftFrame" src="http://mysite/myscripts/script2.pl?tipologia=
    $input_form{'tipologia'}&modello=$input_form{'modello'
    &colore=$input_form{'colore'}&user=$input_form{'user'
    &flagIE=$input_form{'flagIE'}" />
    		<frame name="rightFrame" src="http://mysite/myscripts/script3.pl" />
    	</frameset>
    	<frame name="bottomFrame" src="http://mysite/myscripts/script4.pl" noresize="noresize" />
    </frameset>
    </html>
    
    page
    
    }
    
    
    ####################### MAIN #######################
    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    @pairs = split(/&/, $buffer);
    foreach $pair (@pairs) 
    {  
        ($name, $value) = split(/=/, $pair);
        $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $input_form{$name}=$value;
    }
    
    chiamaPagina();
    
    exit(0);
    
    ####################### FINE #######################

  9. #9
    cosa è che non funziona?
    mi sembra che il metodo che hai usato è corretto.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  10. #10
    Utente di HTML.it L'avatar di kabuki
    Registrato dal
    Jan 2005
    Messaggi
    71
    infatti in teoria è corretto (lo script funziona, per intenderci), ma quando mi viene caricata la pagina gli script del frameset non hanno ottenuto i dati passati



    è tutto il giorno che mi sto macellando per capirci qualcosa...

    :master:

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 © 2024 vBulletin Solutions, Inc. All rights reserved.