consigli per la creazione di un sito (in asp)

Discuti dei problemi relativi alla programmazione nel tuo linguaggio preferito!

Moderatori: cb_123, thrantir, tonertemplum

Re: consigli per la creazione di un sito (in asp)

Messaggiodi tonertemplum il 04 feb 2010, 18:54

trovato.

[...]
La seconda soluzione: l’uso di un div vuoto

Rispettando le raccomandazione della W3C, possiamo più semplicemente aggiungere un div extra con una larghezza fissa pare a quella minima dentro il nostro contenitore che risolverà il problema del min-width con IE6.

L’HTML di base:

Codice: Seleziona tutto
<div id=”contenitore”/>
<div id=”min-width”/></div>
—il contenuto—
</div>


Le regole css:

Codice: Seleziona tutto
#contenitore{
background-color:#ccc;
min-width:500px;
}
#min-width{
width:500px;
height:1px;
}



Link: http://css.flepstudio.org/css-tips/min-width-ie6.html

Praticamente.... Metti all'interno del tuo DIV un altro DIV (la prima soluzione che affrontavi) solo che a questo specifichi la dimensione massima (proprietà supportata da tutti i browsers) cosicchè quello più esterno non può diventare più piccolo di quello dentro....

Ho visto che è simile appunto alla tua prima soluzione, ci ho appena provato e funziona...

Codice: Seleziona tutto
<style type="text/css">

#esterno {
background-color:#FF0000;
min-width:500px;
width: 100;
}
#interno{
background-color: #000099;
width:500px;
height:200px;
}   

</style>
</head>

<body>
<div id="esterno">
   <div id="interno">
    </div>
</div>


ho usato dei colori strani forti e accesi cosi ridimensionando te ne accorgi subito...
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

 

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 04 feb 2010, 19:44

e perchè a te funziona e a me no??
è esattamente quello che ho fatto io!!!
però prova a levare quel min-width, perchè se usi IE7 o firefox ti interpreta quello e il div interno non serve a nulla......
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

Re: consigli per la creazione di un sito (in asp)

Messaggiodi tonertemplum il 04 feb 2010, 19:56

Eh, lo so che non serve a nulla... ma se IE <7 è stupido... noi lo forziamo a essere "intelligente"!

quindi lasciacelo.... Hai riprovato, scusa se insisto, esattamente il mio codice? Io l'ho testato su IE 5 e FF....
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 04 feb 2010, 20:02

si si il tuo codice mi funziona perch'è c'è min-width(se lo levo non va più).....ora lo proverò sul IE5....
però come hai detto anche tu un div non dovrebbe diventare più piccolo degli oggetti che ospita.....
tonertemplum ha scritto:[...]
Praticamente.... Metti all'interno del tuo DIV un altro DIV (la prima soluzione che affrontavi) solo che a questo specifichi la dimensione massima (proprietà supportata da tutti i browsers) cosicchè quello più esterno non può diventare più piccolo di quello dentro....


quindi anche senza altri accorgimenti, non dovrebbe diventare più piccolo dell'immagine che c'è al suo interno!!! bha....
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

Re: consigli per la creazione di un sito (in asp)

Messaggiodi tonertemplum il 04 feb 2010, 20:53

no, perchè il testo è inline e img è un block... se mi ricordo bene..........
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 13 feb 2010, 13:32

Bene, ho avuto impegni e non ho più potuto andare avanti...ma ora ho ripreso...
allora, testato su IE6 non funziona, cioè il div minwidth rimane a larghezza fissa, mentre il div contenitore(che contiene il div minwidth) è come se non avesse impostata alcuna dimensione minima..... :( :( ](*,)

altra cosa...ho iniziato a scrivere qualcosa della parte dinamica...come pensavo un disastro...non ho molta esperienza con il web dinamico.... comunque devo creare una pagina che prende dei dati da un form: testo e costo, poi interroga un db che ha una tabella libri con alcuni campi e io devo selezionare le linee che mecchano con il mio testo e costo e stamparle, ho pensato, in una tabella
ora vi metto il codice, l'ho trovato a pezzi qua e la poi l'ho modificato un po'... la mia tabella e db sono diversi, e anche i campi, ma in sostanza deve fare le stesse cose....

Codice: Seleziona tutto
<% @LANGUAGE="JScript" %>
               <%
                  var con;
                  var conString;
                  con = Server.CreateObject("ADODB.Connection");
                  conString = "Provider = Microsoft.Jet.OLEDB.4.0; "
                  + "Data Source = " + Server.MapPath("./mydb.mdb");
                  con.Open(conString);
                  
                  var rst;
                  var sSQLString;
                  rst = Server.CreateObject("ADODB.Recordset");
                  
                  'Creo la query da eseguire sul db
                  sSQLString = "Select * from Books";
                  'Richiedo i paremetri dal form
                  word = Request("text");
                  cost = Request("cost");
                  'Setto un campo = falso (vuol dire che non ho selezionato neanche un criterio di ricerca
                  found=false;
                  'se il parametro text è compilato, lo inserisco nella query (e setto il parametro found a vero)
                  if text<>"" then
                     if not found Then
                        SQLQUERY=SQLQUERY & " WHERE ";
                     else
                        SQLQUERY=SQLQUERY & " and ";
                     end if
                     found=true;
                     SQLQUERY=SQLQUERY & " Books.title like '" & text & "'";
                  end if

                  'analogamente per il parametro costo
                  if cost<>"NessunLimite" then
                     if not found Then
                        SQLQUERY=SQLQUERY & " WHERE ";
                     else
                        SQLQUERY=SQLQUERY & " and ";
                     end if
                     found=true;
                     SQLQUERY=SQLQUERY & " Books.cost like '" & cost & "'";
                  end if
                  
                  'Eseguo la query
                  rst = con.Execute(sSQLString);
                  
                  'Stampo i risultati della query inserendoli in una tabella se rst non è vuoto
                  if rst!="" then
                     Response.write("<table>");
                     while (!rst.EOF) {
                        Response.write("<tr><td>" + rst("authors") + "</td><td>" + rst("title") + "</td><td>" + rst("cost") + "</td><td>" + rst("qty") + "</td><td>" + "<input type="text" size="5" name="qty">" + "</td></tr>");
                        rst.MoveNext( );
                     }
                     Response.write("<tr>");
                     Response.write("<td colspan=2><input type="submit" value="Visualizza"></td>");
                     Response.write("<td colspan=3><input type="reset" value="Cancella"></td>");
                     Response.write("</tr>");
                     Response.write("</table>");
                     
                  else
                     Response.write("<p>Spiacenti ma non sono disponibili risultati</p>");
                  
               %>


così però il browser mi da errore asp... ma io non ho idea di come posso debuggare la pagina per trovare l'errore.....e ad occhio non lo trovo.. sapete dirmi come posso fare? esiste qualche modo?
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

Re: consigli per la creazione di un sito (in asp)

Messaggiodi tonertemplum il 13 feb 2010, 14:26

fermo fermo buz....

ALlora.... innanzitutto se usi ie leva la spunta sotto opzioni "visualizza errori semplici" in alternativa usa mozilla, cosi ti darà l'errore del codice (e anche la riga)...

Ti consiglio però di rendere tutto molto + semplice... leva per dire tutte le validazioni, o altro... e stampa solo quel che il db trova (o meglio la sql)

POi una volta che funzionerà, aggiungi gli "orpelli"...

Una cosa: quel Server.MapPath("./mydb.mdb"); non mi piace molto... in che cartella è il db? se è nella root.... metti solo Server.MapPath("mydb.mdb"); non credo accetti il "." per salire... server.mapPath se non erro parte dalla root e "scende":.. senza conoscere il percorso fisico....
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 14 feb 2010, 18:54

Grazie mille, seguendo anche i tuoi consigli ho fatto funzionare tutto..... \:D/

una cosa: hai detto che usi la direttiva #include per aprire la connessione con un db ecc... come fai? perchè include non funziona all'interno del codice asp... cioè questo:
Codice: Seleziona tutto
<% #include file....... resto del codice %>

non funziona allora ho provato a mettere l'include fuori dallo script ma giustamente si lamenta dicendomi che la rariabile conn non è definita all'interno dello script vero e proprio....

tu come fai?
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

Re: consigli per la creazione di un sito (in asp)

Messaggiodi tonertemplum il 14 feb 2010, 20:33

Sei fortunato che in questi giorni sto rifacendo tutto il programma per il TLK interno nel nostro ufficio :D :D :D

Allora....

nella "root" c'è il file default.asp (ad esempio)

All'inizio, come prima riga, metto:

Codice: Seleziona tutto
<!--#include file="include/connessione.asp"-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
[...]


nella cartella include inserisco questo file qui:

connessione.asp

in cui c'è SOLO:

Codice: Seleziona tutto
<%
'Connessione al database
set cn = server.createobject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.open "DRIVER={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/mdb-database/tlk.mdb")
%>


E stop....
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 14 feb 2010, 22:58

ah ok ho capito... se dichiaro variabili prima del body, tipo nell'header queste vengono trattate come globali, invece dentro al body sono locali quindi finito lo script vengono eliminate.....no?
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 15 feb 2010, 02:31

ora ho un problema più grosso, è tutta la sera che ci sbatto la testa ma non sono arrivato a niente...
devo fare degli inserimenti nel db...e non riesco!!!!
il codice mi pare sia corretto:
Codice: Seleziona tutto
var rst = Server.CreateObject("ADODB.Recordset");
                     rst.Open("users",conString,2,2); // 2=adOpenDynamic, 2=adLockPessimistic
                     
                     rst.AddNew();
                     rst("name") = nome;
                     rst("pass") = pass;
                     rst.Update();
                     Response.Redirect("operazioni.asp");


però mi da questo errore:

Tipo di errore:
ADODB.Recordset (0x800A0CB3)
Il set di record corrente non supporta l'aggiornamento. Potrebbe trattarsi di una limitazione del provider o del tipo di blocco selezionato.

sulla linea rst.AddNew();

non so più che fare... da cosa ho capito potrebbe essere un problema di permessi di scrittura, ma da IIS la spunta sulla casella scrittura l'ho messa!!!
aiuto sto impazzendo....
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

Re: consigli per la creazione di un sito (in asp)

Messaggiodi tonertemplum il 15 feb 2010, 08:18

le dichiaro prima cosi nel codice, quando devo recuperare un valore ho già il recordset (che io chiamo rs) aperto e basta che faccio
Codice: Seleziona tutto
Response.write(rs("nome"))

e basta...
Poi appena non mi serve con un altro include, verso fine pagina, chiudo tutto con
Codice: Seleziona tutto
rs.close
cn.close
set rs = nothing
set cn = nothing


Per la scrittura..
1) nome e pass come le recuperi? E' un request.form?

2) Prova a usare il mio codice....

Codice: Seleziona tutto
<%
pagina = Request.ServerVariables("HTTP_REFERER") 'recupero la pagina di provenienza
nome = primaletteramaiuscola(Replace(Request.Form("nome"),"'","''")) 'con la replace evito gli apici cosi da evitare errori
cognome = primaletteramaiuscola(Replace(Request.Form("cognome"),"'","''")) 'come sopra
username = Replace(Request.Form("username"),"'","''") ' come sopra
password = Replace(Request.Form("password"),"'","''") ' come sopra
ruolo = Replace(Request.Form("ruolo"),"'","''") 'come sopra
attivo = true

sql = "insert into users (nome, cognome, username, password, ruolo, attivo)"
sql = sql & "values ('" & nome
sql = sql & "','" & cognome
sql = sql & "','" & username
sql = sql & "','" & password
sql = sql & "','" & ruolo
sql = sql & "'," & attivo & ")"

rs.open sql, cn, 1, 1
%>

<%
Session("msg") = "<div id='messaggio'><p>Nuovo utente inserito correttamente!</p></div>"
Response.Redirect(pagina)
%>


sappi che rs e cn sono definiti dal vecchio include di qualche post fa e la funzione primaletteraMaiuscola.. è una funzione che mi sono scritto per mettere sempre la prima lettera maiuscola, anche se per dire l'utente in inserimento avesse scrittto aLeSsAndRo lui salva Alessandro...
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 15 feb 2010, 12:56

Ciao, si ho provato con il tuo codice ma niente....
però finalmente sono riuscito a risolvere!!!!!! come credevo era un problema di accessi alla cartella del db... ho risolto così: >pannello do controllo > impostazioni cartella > togliere la spunta dalla voce Utilizza condivisione file semplice . poi andare alla cartella che contiene il db click con tasto destro, selezionare la linguetta protezione (che compare deselezionando la casella di prima), selezionare l'utente guest e dargli i permessi di lettura e scrittura...

FINALMENTE!!!!!!!!!!!!!

però di domande ne ho ancora.....
allora:
1 - esiste una funzione per ottenere l'autore della pagina corrente?
2 - devo mettere delle restrizioni su username e password... sulla lunghezza ok, uso Len(nome) e Len(pass) e faccio il controllo, però devo anche controllare che contengano solo caratteri alfanumerici, inoltre la pass può anche contenere i caratteri + e - e deve obbligatoriamente contenere almeno una lettera, un numero e un carattere + o - .Il nome invece deve inizire con una lettera. Esiste qualche funzione utile allo scopo? potrei usare la funzione substring però dovrei passargli una espressione regolare che indichi una qualsiasi lettera o un qualsiasi numero...

ah, premetto che io uso javascript e non vbasic.......
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

Re: consigli per la creazione di un sito (in asp)

Messaggiodi tonertemplum il 15 feb 2010, 14:50

ok ;)
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Re: consigli per la creazione di un sito (in asp)

Messaggiodi buz87 il 15 feb 2010, 20:01

ma mi succede una cosa strana....
io apro un recordset faccio una rst.Open per eseguire un update del database e poi quando invoco rst.Close() mi da errore dicendomi che rst è già chiuso.... infatti se levo rst.Close() e lascio solo rst = null; funziona tutto....

Codice: Seleziona tutto
var rst = Server.CreateObject("ADODB.Recordset");
rst.Open(SQLquery,con,2,2); // 2=adOpenDynamic, 2=adLockPessimistic

Response.write("<p><b> ...Aggiornamento effettuato... </b></p>");

rst = null;
- E6600 @ 3400Mhz - 2x1gb geil 6400 / 800Mhz 4-4-4-12 - asus p5k-e wifi - nvidia7900gs - westerndigital 320gb sata - ali lc green power 550W - :nemo: liquidcooled by ybris k11 - . :lin: case costruito da me :lin: *work in progress* :ok:
Avatar utente
buz87
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 373
Iscritto il: 29 mag 2006, 23:26

 
PrecedenteProssimo

Torna a Programmare

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron