Visualizzazione risultati 1 fino 12 di 12

Discussione: Il "Dietro le quinte" di un form

  1. #1
    Guest

    Predefinito Il "Dietro le quinte" di un form

    Ciao ragazzi, espongo il mio ennesimo problema; Vorrei inserire un form nel mio sito e fin qui ci sono, ma poi cosa succede? (Domanda fortemente sciocca per qualcuno ma io ho le idee un pò confuse su questo argomento!)... mi arriva la pagina che ho creato via mail così com'è o solo descrizione e campi degli utenti che lo compilano? e per gestire ciò serve il database o meno? Grazie a tutti coloro mi presteranno attenzione. Ciao

  2. #2
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Devi prima spiegare a cosa ti serve.

    P.S. Non usa database

  3. #3
    Guest

    Predefinito Mi serve come censimento...

    ... come detto nel titolo lo vorrei sfruttare per raccogliere idee, commenti e suggerimenti dall'utente che visita il mio sito; Poi, moooolto poi, per fare l'upload nella galleria delle immagini che stò realizzando. Grazie

  4. #4
    Guest

    Post

    Ho appena fatto una cosa del genere anche per me...
    Certo che questo rende il post da sezione php, comunque per quello che ti serve è sufficiente un link sulla tua pagina che richiama una pagina .php.
    Ti mostro l'esempio che ho utilizzato io, ovviamente sarà poi da personalizzare:

    <?

    // Inserisci l'indirizzo email al quale va spedito
    $adminaddress = "";

    // URL del tuo sito comprensivo di http://www.
    $siteaddress ="";

    // Nome del sito
    $sitename = "";

    // Titolo
    $ptitle = "";

    $bgcolor = "#000099";

    $bocolor = "#F8F3F3";

    $fcolor = "#FFFFFF";

    $lcolor = "#FBFC90";

    $font = "verdana";

    $fontsize = "3";

    $date = date("m/d/Y H:i:s");
    $vers = "V1.1";
    $traceroute = "<a href=\"http://www.above.net/cgi-bin/trace?$REMOTE_ADDR\">";

    if ($REMOTE_ADDR == "") $ip = "<i> no ip </i>";
    else $ip = getHostByAddr($REMOTE_ADDR);

    IF ($action==""):
    ?>
    <html>
    <head><title><? echo "$ptitle"; ?></title>
    <body bgcolor="<? echo "$bgcolor"; ?>" Link="<? echo "$lcolor"; ?>" vLink="<? echo "$lcolor"; ?>">
    <center>

    <FORM name=validation METHOD=POST ACTION="<? echo "$PHP_SELF"; ?>" onSubmit="return checkbae()">
    <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="2" width=50% bgcolor="<? echo "$bocolor"; ?>">
    <TR>
    <TD VALIGN="TOP">
    <center><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="3" width=100% bgcolor="<? echo "$bgcolor"; ?>">
    <TR>
    <TD VALIGN="TOP" colspan=2><font face="<? echo "$font"; ?>" size="<? echo "$fontbig"; ?>" color="<? echo "$fcolor"; ?>"><b><? echo "$ptitle"; ?></b></FONT></TD>
    </TR>
    <TR>
    <TD VALIGN="TOP"><font face="<? echo "$font"; ?>" size="<? echo "$fontsize"; ?>" color="<? echo "$fcolor"; ?>"><small> Nome:</FONT></TD>
    <TD VALIGN="TOP"><INPUT TYPE="text" NAME="fname"></FONT></TD>
    </TR>
    <TR>
    <TD VALIGN="TOP"><font face="<? echo "$font"; ?>" size="<? echo "$fontsize"; ?>" color="<? echo "$fcolor"; ?>"><small>Cognome:</FONT></TD>
    <TD VALIGN="TOP"><INPUT TYPE="text" NAME="lname"></FONT></TD>
    </TR>
    <TR>
    <TD VALIGN="TOP"><font face="<? echo "$font"; ?>" size="<? echo "$fontsize"; ?>" color="<? echo "$fcolor"; ?>"><small>Email:</FONT></TD>
    <TD VALIGN="TOP"><INPUT TYPE="text" NAME="vemail"></FONT></TD> </TR> <TR> <TD VALIGN="TOP"><font face="<? echo "$font"; ?>" size="<? echo "$fontsize"; ?>" color="<? echo "$fcolor"; ?>"><small>Societ&agrave;:</FONT></TD>
    <TD VALIGN="TOP"><INPUT TYPE="text" NAME="cname"></FONT></TD> </TR> <TR> <TD VALIGN="TOP"><font face="<? echo "$font"; ?>" size="<? echo "$fontsize"; ?>" color="<? echo "$fcolor"; ?>"><small>Telefono:</FONT></TD>
    <TD VALIGN="TOP"><INPUT TYPE="text" NAME="telno"></FONT></TD> </TR>
    <TR>
    <TD VALIGN="TOP" COLSPAN="2"><font face="<? echo "$font"; ?>" size="<? echo "$fontsize"; ?>" color="<? echo "$fcolor"; ?>"><small> Messaggio:</FONT></TD>
    </TR>
    <TR> <TD VALIGN="TOP" COLSPAN="2"><TEXTAREA NAME="comments" ROWS="3"
    COLS="30"></TEXTAREA></FONT></TD> </TR>
    <TR><td colspan=2><INPUT TYPE="submit" NAME="action" VALUE="Send">
    </FORM></TD>
    </TR>
    </TABLE> </CENTER></td></TR>
    </TABLE>
    <script language="JavaScript1.2">

    var testresults

    function checkemail(){

    var str=document.validation.vemail.value

    var filter=/^.+@.+\..{2,3}$/

    if (filter.test(str))

    testresults=true

    else{

    alert("Inserisci un indirizzo email valido!")

    testresults=false

    }

    return (testresults)

    }

    </script>
    <script>

    function checkbae(){

    if (document.layers||document.all)

    return checkemail()

    else

    return true

    }

    </script>

    <?

    exit;
    ELSEIF ($action="Send"):
    mail("$adminaddress","Info Request", "FAO: Admin @ $sitename \n
    First Name: $fname
    Last Name: $lname
    Email: $vemail
    Company: $cname
    Telephone: $telno\n
    The visitor commented:
    ------------------------------
    $comments
    ------------------------------

    Logged Info :
    ------------------------------
    Mailer: $vers
    Using: $HTTP_USER_AGENT
    Hostname: $ip
    IP address: $REMOTE_ADDR
    Date/Time: $date","FROM:$adminaddress");


    mail("$vemail","Grazie per aver visitato $sitename", "Ciao $fname,\n
    Grazie per l'interessamento!
    Leggeremo la tua mail prima possibile.
    Nel caso fosse necessaria una risposta verrai contrattato entro 48 ore.\n
    Saluti da,
    $sitename
    $siteaddress","FROM:$adminaddress");

    PRINT "<html><head><title> $ptitle </title><body bgcolor=\"$bgcolor\" Link=\"$lcolor\" vLink=\"$lcolor\"><CENTER>";
    PRINT "<TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\" width=\"60%\" bgcolor=\"$bocolor\">";
    PRINT "<TR><TD VALIGN=\"TOP\">";
    PRINT "<TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\" width=\"100%\" bgcolor=\"$bgcolor\">";
    PRINT "<TR><TD VALIGN=\"TOP\"><font face=\"$font\" color=\"$fcolor\"><small>Hello, $fname.";
    PRINT "<BR><BR>";
    PRINT "<font face=\"$font\" color=\"$fcolor\">Grazie per aver completato il nostro form.<BR><BR>";
    PRINT "<font face=\"$font\" color=\"$fcolor\">Invieremo le informazioni a <b> $vemail </b>, entro 48 ore.<br>";
    PRINT "<font face=\"$font\" color=\"$fcolor\">Per tornare alla nostra homepage [<A href=\"$siteaddress\">Click Here</A>]";
    PRINT "</CENTER></td></TR></TABLE></td></TR></TABLE>";
    ENDIF;
    ?>

    </body>
    </html>
    Ultima modifica di Serverplus : 13-08-2004 alle ore 09.18.35

  5. #5
    Guest

    Predefinito

    Grazie tante del codice.... (scusate se questo post era da fare nel livello relativo del PHP). Io però continuo a domandarmi cosa succede? a me arriva la mail coi dati e all'utente, se analizzo il codice di cui sopra, uma mail di ringraziamento? stò a terra col PHP! ...si vede eh? (a me non piace fare semplicemente copia-incolla... mi piace capire le cose e personalizzarmele a mio uso e costrume...). Ancora grazie Serverplus

  6. #6
    Guest

    Predefinito ...cgi...

    Ho trovato in giro che è possibile gestire i form grazie a dei programmi che risiedono sul server che si chiamano CGI (Common Gateway Interface). Altervista li ha? Grazie!

  7. #7
    L'avatar di NoWhere
    NoWhere non è connesso Moderatore
    Data registrazione
    14-02-2003
    Residenza
    New Balarm
    Messaggi
    4,118

    Predefinito

    no! AV nn usa il cgi [ x gli utenti almeno! :winkOLD:]

    e cmq questa discussione é giusta qui perchè il form si può fare tranquillamente in normale html e nn solo in php! :winkOLD:

  8. #8
    Guest

    Predefinito E' vero...

    Ho trovato in effetti in giro qualcosa senza scomodare il PHP... tanto per farla breve è lo stesso utilizzo che si dovrebbe fare se AV avesse i CGI solo che si aggiunge l'indirizzo mail a cui destinare le risposte... è la forma che lascia un pò a desiderare però il risultato è ottimo, almeno a mio parere! Grazie NoWhere

  9. #9
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Scusa Ararak, visto che parliamo di FORM in genere e che sei incuriosito da come funziona un form, lasciamo perdere un attimo cose particolari come form per email e cgi che in questo contesto vengono completamente sostituite dal php.

    Il FORM è un oggetto puramente HTML, costituito da altri elementi HTML come caselle di testo, liste, opzioni, bottoni etc... e (a meno che non lo si utilizzi in locale con Javascript) principalmente ha come unica funzione quello di raccogliere i dati utente.
    Fondamentale per capire chi andrà invece ad elaborare questi dati inseriti è l'attributo ACTION del tag FORM. Prova a cercare cosa c'è scritto accanto a <FORM ... ACTION="[percorso]"> e troverai un url. Può esserci tipicamente indicato una cgi, una pagina ASP, JSP, etc... e anche PHP (che abbiamo qui su Altervista). In casi limite anche Javascript può fungere da elaboratore di dati inviati da form via HTTP.
    Può anche essere indicata la pagina stessa che contiene il form, anzi è pratica diffusa, specialmente quando nel caso di errore si deve ripresentare lo stesso form con i valori corretti ancora scritti.
    PHP, come altri linguaggi che processano contenuti web, esamina i dati inviati dal form e decide cosa farne, se utilizzarli per inviare una email (come nel tuo caso) o per registrare utenti, salvare/modificare dati in genere.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  10. #10
    Guest

    Predefinito

    Grazie! ora il puzzle incomincia a prendere forma...

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    Scusa Ararak, visto che parliamo di FORM in genere e che sei incuriosito da come funziona un form, lasciamo perdere un attimo cose particolari come form per email e cgi che in questo contesto vengono completamente sostituite dal php.

    Il FORM è un oggetto puramente HTML, costituito da altri elementi HTML come caselle di testo, liste, opzioni, bottoni etc... e (a meno che non lo si utilizzi in locale con Javascript) principalmente ha come unica funzione quello di raccogliere i dati utente.
    Fondamentale per capire chi andrà invece ad elaborare questi dati inseriti è l'attributo ACTION del tag FORM. Prova a cercare cosa c'è scritto accanto a <FORM ... ACTION="[percorso]"> e troverai un url. Può esserci tipicamente indicato una cgi, una pagina ASP, JSP, etc... e anche PHP (che abbiamo qui su Altervista). In casi limite anche Javascript può fungere da elaboratore di dati inviati da form via HTTP.
    Può anche essere indicata la pagina stessa che contiene il form, anzi è pratica diffusa, specialmente quando nel caso di errore si deve ripresentare lo stesso form con i valori corretti ancora scritti.
    PHP, come altri linguaggi che processano contenuti web, esamina i dati inviati dal form e decide cosa farne, se utilizzarli per inviare una email (come nel tuo caso) o per registrare utenti, salvare/modificare dati in genere.
    Ciao heracleum,
    inanzitutto complimenti per il sito e per l'iniziativa della Classifica Top-Sites!
    Avrei un problema di certificazione delle mie pagine inerente al tag FORM che utilizzo per far si che il visitatore invii una mail di segnalazione ad un suo amico: nel Form infatti non mi serve indicare l'action e w3c mi dice che è obbligatoria. Esiste un modo per indicare dinamicamente la pagina stessa, come URL, nella ACTION del tag form, senza utilizzare PHP?

  12. #12
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Beh, così ... ad occhio io direi il punto "." cioè:
    <FORM action="." method="POST">

    ma, correggendomi, ho il "forte sospetto" che indichi la directory corrente, il che potrebbe andar benissimo se la pagina si chiama "index.html" ma se si chiama per es. "inviamail.html" direi che non funge.

    Hai provato invece semplicemente con stringa vuota?:
    <FORM action="" method="POST">
    magari piace anche al w3c.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •