Pagina 8 di 8 primaprima ... 6 7 8
Visualizzazione dei risultati da 71 a 75 su 75
  1. #71

    Re: Ancora sulla validazione... un dettaglio.

    Originariamente inviato da zeferino.siani [...]
    Ehm.. c'è un errore nelle righe di php.
    Ti spiego il funzionamento di trim() (che trovi in ogni caso nella documentazione ufficiale). Questa funzione non fa altro che eliminare gli spazzi vuoti all'inizio e alla fine della stringa passatale come argomento. Quindi il blocco if non fa altro che paragonare la stringa elaborata da trim() (ovvero senza gli spazzi vuoti) con una stringa vuota (i doppi apici senza contenuto rappresentano appunto una stringa vuota); se il risultato è TRUE, significherà che la stringa passata a trim() conteneva solo spazzi vuoti e quindi lo script si termina, altrimenti va avanti.

    E' ovvio che se tu come valore passi una stringa senza mettere gli apici o i doppi apici ti restituisca errore. In ogni caso, alla funzione trim() non devi passare una frase a se stante, perché sarebbe completamente inutile, ma una variabile che contiene una stringa, in modo da verificare che la stringa contenuta dalla variabile (nel tuo esempio le variabili contenenti stringhe sono cinque: Nome, Indirizzo, Telefono, Cellulare e Email) non sia vuota.

    Quindi, riportando tutto questo a quello che devi fare tu, lo script diverrà così:
    Codice PHP:
    if ((trim($_POST['Nome']) == "") ||
        (
    trim($_POST['Indirizzo']) == "") ||
        (
    trim($_POST['Telefono']) == "") ||
        (
    trim($_POST['Cellulare']) == "") ||
        (
    trim($_POST['Email']) == "")) {
    die(
    "Il campo non può essere vuoto");

    In pratica non fa altro che controllare che tutte le variabili (ovvero, tutti i campi del tuo form) non siano stringhe vuote, in caso anche una sola risulti una stringa vuota, lo script si terminerà.


    Comunque, i controlli sui dati immessi vanno fatti prima di tutto con php, e poi con gli altri linguaggi di scripting lato client, innanzitutto per una questione di sicurezza: se tu facessi controlli solo con JavaScript, al malintenzionato basterebbe disabilitarlo dal browser per poterti fare tutte le SQLInjection (e menate del genere) che gli pare. I controlli vanno fatti prima con php, e poi con JS per rendere le cose più veloci.
    SELECT neuroni FROM cervello
    WHERE status = 'funzionante';

    La query ha restituito: 0 risultati.

  2. #72

    Rispondo a Hirakeydos

    Ciao Hirakeydos, e grazie.

    Con il tuo intervento hai sbloccato un problema che stava per morire sul nascere.

    Il codice è ok, tutto a posto. Il mio modulo funziona.

    A questo punto, è inevitabile ed urgente una proposta interessante.
    Io mi faccio da parte, perchè non ne sono all'altezza. Ma vorrei che in questo thread di HTML.it forum > Lato server > PHP > S.O.S: servono nuovi thread su php MySql , altri più bravi di me facessero un pò di fuochi pirotecnici applicando ad un form (modulo) qualsiasi dei controlli di validazione sia lato client che lato server. Una specie di gara di bravura in un segmento che notoriamente delimita la zona di confine dove termina la programmazione hobbistica ed inizia quella professionale.

    Scusami, piero.mac, ma non riesco proprio ad essere incisivo su un argomento così interessante.
    Mi pare che le cose stanno in questi termini.
    La validazione di un modulo lato client è la verifica dei campi dei moduli prima dell'invio del modulo; vengono utilizzati linguaggi come Javascript (supportato sia da Internet Explorer che da Netscape), Vbscript, ed altri.
    La validazione di un modulo lato server è la veriifica dei campi dei moduli dopo l'invio del modulo; vengono utilizzati linguaggi come PHP ed ASP.

    Più sopra ho affermato:
    Il codice è ok, tutto a posto. Il mio modulo funziona.
    .Ma potrei dire qualcosa di più. Proprio mediante il funzionamento dei controlli dei campi, ho potuto scoprire alcuni particolari interessanti:
    a) nel mio contesto, tali controlli
    debbono
    essere messi
    all'inizio del modulo di inserimento dei record nel database
    ;
    b) presumo che lo script di verifica dei campi lato client dovrà essere messo nel form stesso, e cioè campo A - insieme di controlli A, campo B - serie di controlli B, e così via; tali controlli non dovrebbero limitarsi a segnalare l'errore, ma dovrebbero anche
    costringere
    l'utente a digitare il valore del campo in modo corretto (da qualche parte ho letto del focus...!);
    c) ... stop (piero.mac ha ragione).

    Concludendo. Per imparare Javascript per i controlli lato client, e approfondire PHP per quelli lato server, arriveremmo a Natale, ammesso che con un miracolo di Lourdes questo thread ci possa arrivare. Perciò, l'idea di cui sopra.

    Cordiali saluti.
    Cicerone80.

  3. #73

    Re: Rispondo a Hirakeydos

    Originariamente inviato da zeferino.siani
    A questo punto, è inevitabile ed urgente una proposta interessante.
    Io mi faccio da parte, perchè non ne sono all'altezza. Ma vorrei che in questo thread di HTML.it forum > Lato server > PHP > S.O.S: servono nuovi thread su php MySql , altri più bravi di me facessero un pò di fuochi pirotecnici applicando ad un form (modulo) qualsiasi dei controlli di validazione sia lato client che lato server. Una specie di gara di bravura in un segmento che notoriamente delimita la zona di confine dove termina la programmazione hobbistica ed inizia quella professionale.[...]
    La validazione di un modulo lato client è la verifica dei campi dei moduli prima dell'invio del modulo; vengono utilizzati linguaggi come Javascript (supportato sia da Internet Explorer che da Netscape), Vbscript, ed altri.
    La validazione di un modulo lato server è la veriifica dei campi dei moduli dopo l'invio del modulo; vengono utilizzati linguaggi come PHP ed ASP.
    Prima regola della sicurezza Web: mai fidarsi dell'input.
    Seconda regola della sicurezza Web: mai fidarsi del lato client.

    Se vuoi fare controlli lato client per migliorare l'usabilità va bene, ma non possono sostituire in alcun modo i controlli lato server.

    PHP offre le ottime funzioni filtro : buon divertimento!

  4. #74

    Partenza sbagliata con Javascript!

    Ho mandato in esecuzione il mio primo elementare java script, e ho ricevuto subito un messaggio di errore.
    Errore di sintassi - Codice 800A03EA - Errore di compilazione di Microsoft JScript

    Ho seguito la Guida JavaScript di base di Ilario Valdelli.
    Il codice, semplicissimo, è il seguente:
    Codice PHP:
    <html>
    <
    body>
    <
    SCRIPT Language="Javascript1.2"><!--
    document.write("Il mio primo script!");
    //--></SCRIPT>
    </body>
    </
    html
    La Guida suddetta dice testualmente:
    Così come scritto, però, il tag <SCRIPT> non è completo perché i linguaggi di scripting sono diversi, allora occorre mettere anche la specificazione del linguaggio ed è:

    <SCRIPT Language="Javascript"><!--
    //--></SCRIPT>

    Ciò potrebbe bastare, ma negli ultimi riferimenti, soprattutto da parte di Netscape, si consiglia vivamente di indicare anche la versione di Javascript che si adopera, soprattutto perché l'evoluzione del linguaggio è continua e non sempre assicura la compatibilità con i vecchi browser. In tal modo si occulta il codice ai browser che non possono gestire gli aggiornamenti del linguaggio (per le versioni di Javascript si faccia riferimento alla tabella nella lezione sulle versioni JavaScript). Alla luce di quanto detto, il precedente script può essere considerato valido per la versione 1.0 di Javascript, e quindi per tutti i browser, mentre uno script del genere:

    <SCRIPT Language="Javascript1.2"><!--
    //--></SCRIPT>

    diventa leggibile solo da Netscape 4.0 e Explorer 4.0 e dalle loro versioni successive. Vi chiederete anche come fare a conoscere tutte le compatibilità: ebbene non c'è nessun programma che aiuti in ciò, occorre conoscerle a fondo oppure usare un metodo empirico: testare le pagine su diversi browser e segnalare le incompatibilità, se queste dipendono dalla versione di Javascript, mascherarle con l'indicazione della versione.
    Quindi, il mio script dovrebbe andar bene, considerato che ho Internet Explorer 7.0
    .... a meno che si tratta di fare qualche operazione sul pannello di controllo del mio pc.

    Proverò a consultare anche il sito della Sun, ma spero che frattanto qualcuno mi fornisca qualche indicazione in merito.

    Cicerone80

    P.S. Non credo che debbo scaricare qualcosa, perchè il browser è già abilitato ad interpretare il codice dello script.
    Come recita la Guida:
    linguaggi interpretati: sono quei linguaggi che risultano molto simili all'HTML, ma hanno potenzialità maggiori perché consentono di effettuare controlli e operazioni complesse, vengono inviati in file ASCII, quindi con codice in chiaro che viene interpretato ed eseguito riga per riga dal browser in modalità runtime.
    Il concetto di script è bene espresso con una similitudine nel testo di Michael Moncur su Javascript, apparso di recente e pubblicato in Italia da Tecniche Nuove, dove la spiegazione è didattica ma molto efficace e merita la citazione: script in inglese significa "copione" o "sceneggiatura", ed infatti l'utilizzo è proprio questo: il browser legge una riga, la interpreta e la esegue, poi passa alla successiva e fa la stessa cosa, e così di seguito fino alla chiusura dello script.

  5. #75

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.