Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-06-2009, 14:39   #1
tookie
Member
 
L'Avatar di tookie
 
Iscritto dal: Apr 2009
Messaggi: 50
pagina dinamica[shell]

Ciao a tutti,
ho un problema con un CGI in bash, in pratica da questa CGI creo dinamicamente una pagina nella quale devo gestire dinamicamente dei campi textarea e select...la prima idea che mi è venuta è quella di fare la CGI in bash, creare la pagina web dinamicamente e gestirla attraverso javascript dato che non saprei come fare in bash. Il problema è che usando funzioni javascript visualizzo solo una pagina bianca, mentre senza funzioni mi visualizza la pagina ma ovviamente non posso operarci dinamicamente . Questo problema si verifica solo all'interno del cgi, perché se creo una pagina web apposita tutto va perfettamente...chiedo aiuto se qualcuno può aiutarmi o magari consigliarmi qualche modo più semplice ottenere lo stesso risultato
tookie è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 11:34   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Puoi postare il codice ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 12:51   #3
tookie
Member
 
L'Avatar di tookie
 
Iscritto dal: Apr 2009
Messaggi: 50
Codice:
#!/bin/sh
#prova per CGI
#QUERY_STRING=?name=a&password=b
echo "Content-type: text/html"
echo ""

#NOME IN PASSWD
NAME_DB=$(cat ./postit.db | cut -d ":" -f 1)
#PASSWORD IN PASSWD
PASSWORD_DB=$(cat ./postit.db | cut -d ":" -f 2)


#NOME IN QUERY_STRING
NAME=$(printf "$QUERY_STRING" | tr "&" "\n" | head -n1 | cut -d "=" -f2 )
#PASSWORD IN QUERY_STRING
PASSWORD=$(printf "$QUERY_STRING"|cut -d "=" -f3 --output-delimiter=" ")
 
   if [ $NAME_DB = $NAME ] && [ $PASSWORD_DB = $PASSWORD ]
    then
      echo "<html>
<head>
     <title>Postit</title>
     <script type="text/javascript">
<!--
function addOpt() {
    var newitem=document.form.postit.value;
    if(newitem!=""){
    document.form.messaggi[document.form.messaggi.length] = new Option(newitem, newitem)
  }
}
function delOpt() {
if(document.form.messaggi.selectedIndex >= 0) {
document.form.messaggi.options[document.form.messaggi.selectedIndex]=null
document.form.messaggi.selectedIndex=0
}
}
function viewPost(msg) {
document.forms['form'].elements['postit'].value=msg;


}
//--> 
</script>
     </head>
     <body bgcolor="#EE4422">
     <form name="form">
<textarea name="postit" cols='20' rows='10' ></textarea><br>
<input type="button" value="Aggiungi" onclick=""/>
Codice HTML:
metto in questo onclick addOpt()
<input type="reset" value="Cancella" /> <fieldset name="fieldset"> <legend>Postit</legend> <select name="messaggi" id="messaggi" onchange="">
Codice HTML:
metto in questo onchange viewPost()
<option value="lavare i piatti">lavare i piatti</option> <option value="andare a prendere i bambini a scuola">andare a prendere i bambini a scuola</option> <option value="finale di champions">finale di champions</option> </select> </fieldset> <input type="button" value="Elimina" onclick=""/>
Codice HTML:
metto in questo onclick delOpt()
</form> </body> </html>" else echo "<html>" echo "<head>" echo "<title>Accesso negato</title>" echo "</head>" echo "<body bgcolor="#EE4422">" echo "<pre>Accesso negato</pre>" echo "<a href="http://localhost/postit/postit.html">Torna alla schermata di LogIn</a>" echo "</body>" echo "</html>" fi exit 0
cosi mi permette di vedere la pagina, ma non ho il controllo dinamico, con le aggiunte che ho messo nei tag HTML,di fianco al codice, non mi visualizza la pagina
tookie è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 16:27   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Salva e incolla la pagina generata con tutti il codice JavaScript. Imho c'è qualche problema di caratteri di escape.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 16:46   #5
Mr. G87
Senior Member
 
L'Avatar di Mr. G87
 
Iscritto dal: Aug 2006
Città: Udine
Messaggi: 3590
Hey... ma questo è ancora quel "postit" malefico?
Mr. G87 è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 18:47   #6
tookie
Member
 
L'Avatar di tookie
 
Iscritto dal: Apr 2009
Messaggi: 50
Eccolo al completo

#!/bin/sh
#prova per CGI
#QUERY_STRING=?name=a&password=b
echo "Content-type: text/html"
echo ""

#NOME IN PASSWD
NAME_DB=$(cat ./postit.db | cut -d ":" -f 1)
#PASSWORD IN PASSWD
PASSWORD_DB=$(cat ./postit.db | cut -d ":" -f 2)


#NOME IN QUERY_STRING
NAME=$(printf "$QUERY_STRING" | tr "&" "\n" | head -n1 | cut -d "=" -f2 )
#PASSWORD IN QUERY_STRING
PASSWORD=$(printf "$QUERY_STRING"|cut -d "=" -f3 --output-delimiter=" ")

if [ $NAME_DB = $NAME ] && [ $PASSWORD_DB = $PASSWORD ]
then
echo "<html>
<head>
<title>Postit</title>
<script type="text/javascript">
<!--
function addOpt() {
var newitem=document.form.postit.value;
if(newitem!=""){
document.form.messaggi[document.form.messaggi.length] = new Option(newitem, newitem)
}
}
function delOpt() {
if(document.form.messaggi.selectedIndex >= 0) {
document.form.messaggi.options[document.form.messaggi.selectedIndex]=null
document.form.messaggi.selectedIndex=0
}
}
function viewPost(msg) {
document.forms['form'].elements['postit'].value=msg;


}
//-->
</script>
</head>
<body bgcolor="#EE4422">
<form name="form">
<textarea name="postit" cols='20' rows='10' ></textarea><br>
<input type="button" value="Aggiungi" onclick="addOpt()"/>
<input type="reset" value="Cancella" />
<fieldset name="fieldset">
<legend>Postit</legend>
<select name="messaggi" id="messaggi" onchange="viewPost()">
<option value="lavare i piatti">lavare i piatti</option>
<option value="andare a prendere i bambini a scuola">andare a prendere i bambini a scuola</option>
<option value="finale di champions">finale di champions</option>
</select>
</fieldset>
<input type="button" value="Elimina" onclick="delOpt()"/>
</form>
</body>
</html>"
else
echo "<html>"
echo "<head>"
echo "<title>Accesso negato</title>"
echo "</head>"
echo "<body bgcolor="#EE4422">"
echo "<pre>Accesso negato</pre>"
echo "<a href="http://localhost/postit/postit.html">Torna alla schermata di LogIn</a>"
echo "</body>"
echo "</html>"
fi
exit 0
tookie è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 18:56   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Devi fare l'escape di tutti i doppi apici nel codice HTML
Ad esempio questa linea:

<script type="text/javascript">

deve diventare così:

<script type=\"text/javascript\">
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 19:15   #8
tookie
Member
 
L'Avatar di tookie
 
Iscritto dal: Apr 2009
Messaggi: 50
grazie mille cionci, ora funziona! Ti son debitore
tookie è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2009, 19:22   #9
Mr. G87
Senior Member
 
L'Avatar di Mr. G87
 
Iscritto dal: Aug 2006
Città: Udine
Messaggi: 3590
Quote:
Originariamente inviato da tookie Guarda i messaggi
grazie mille cionci, ora funziona! Ti son debitore
Paga da bere....
quindi hai finito tutti e 3 gli esercizi, giusto?

poi li passi
Mr. G87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Recensione Corsair Harpoon v2 Wireless: ...
Nasce il primo OLED con film cristallino...
Altman smonta una delle più grand...
JVC HA-S59W in prova: le cuffie on-ear l...
Professore nasconde una trappola nel com...
I chip di NVIDIA attuali progettano quel...
HONOR Pad X9 Max debutta in Italia: disp...
Tutte le videocamere di sorveglianza e i...
Dreame Matrix10 Pro a 799€: robot aspira...
Grazie al Very Large Telescope abbiamo u...
S.T.A.L.K.E.R. 2: il DLC Cost of Hope ad...
I nuovi modelli di IA di Microsoft per l...
Come sta cambiando il mestiere dell'inst...
Meta sospende i test sull'abbonamento pe...
TCL OLED+ Pro X3B: monitor gaming o prof...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v