• User

    ...<form method=get action="tapullino.php">
    prova con <form action="xxx.php" method="get"> anche se preferisco POST

    per il php ti conviene a mio parere mettere tutto insieme
    <?php
    $cognome= $_GET['cognome'];
    $nome= $_GET['nome'];
    $email= $_GET['email'];
    $città= $_GET['citta'];
    $cap= $_GET['cap'];
    $telefonofisso= $_GET['fisso'];
    $azienda= $_GET['azienda'];
    $posizionelavorativa= $_GET['posizione_lavorativa'];
    $accetta= $_GET['accetta'];
    $cellulare= $_GET['cellulare'];
    elseif (trim($name=$_GET['nome']) == "" OR trim($surname=$_GET['cognome']) == "" OR trim($mail=$_GET['email']) == "" OR etc etc):
    echo "Non Tutti i campi sono stati riempiti!";
    echo " <center><h1>Controllo dati da lei inseriti:</h1>";
    echo "Gentile $cognome $nome ,<br>";
    echo "abbiamo registrato il suo indirizzo email: $email <br>";
    echo "il suo numero di cellulare è $cellulare . <br>";
    echo "Lei è residente a $citta , cap $cap , il suo numero di telefono fisso è $fisso <br> ";
    echo "Nome della sua azienda: $azienda . <br>";
    echo "Le sarà inviata una mail di conferma, grazie!<br>";
    echo "</center>";
    ?>

    a questo modo almeno su architettura lamp il tutto funziona..


  • User

    ometti questo pezzo
    elseif (trim($name=$_GET['nome']) == "" OR trim($surname=$_GET['cognome']) == "" OR trim($mail=$_GET['email']) == "" OR etc etc):
    echo "Non Tutti i campi sono stati riempiti!";

    e correggi

    $città
    senno la variabile non viene trovata poi come dicevo funziona tutto.


  • User Attivo

    Io stavo avendo da stamattina lo stesso tuo problema... e il mio caso era ancora più semplice... :arrabbiato:
    Poi sono andato sulla guida di Gt, ho provato secondo l'esempio e in locale non mi fungeva... spostandomi su remoto invece è tutto ok!
    Segui questo esempio preso dalla guida Php di Gt: http://www.giorgiotave.it/guida_php/form.php

    L'unica domanda che ho è: "perchè in locale no e sul server Aruba sì???" :mmm:

    Ho fatto caso che molte volte Dreamweaver non aggiorna subito i file e continua a restituire gli stessi errori che magari erano stati commessi prima della modifica...
    In locale forse dipendeva da quello il problema!


  • User

    Ok, grazie mille a tutti per l'aiuto, domani provo di nuovo... e speriamo sia la volta buona!!


  • User

    Grazie wilma_dammi_la_clava ci sono riuscita!!! :vai:
    Devo inoltre inserire il codice php per far sì che nel campo email sia inserita la "@" , far in modo che alcuni campi siano obbligatori, e mandare una mail di conferma iscrizione all'indirizzo mail inserito dall'utente. Chi mi da una mano? :mmm:


  • User Attivo

    Metti un ciclo if con questa condizione:

    ereg("[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+", $variabile_email)
    ``` ciao

  • User

    Funziona!!!!:D ti ringrazio!
    Ciao


  • User Attivo

    Ci sono degli ottimi esempi in rete di come costruire un'area riservata con un alto grado di sicurezza, ma per capirli biosogna avere una buona conoscenza del php... che io per es. non ho 😞


  • User Attivo

    Esatto, in un form di registrazione conviene usare il metodo post, e quando dall'altra parte recuperi i dati ovviamente li recuperi con post:

    $nome=$_POST['nome'];

    ti consiglio inoltre nella pagina controllo.php di togliere il codice html, usa solo php.Ciao

    @Vanilla said:

    ok provo, quindi non uso il metodo get ma il post..


  • User Attivo

    TI RICORDO COMUNQUE CHE IL TUTTO NON PUO' FUNZIONARE CON PAGINE HTML MA SOLO SOTTO ESTENSIONE PHP

    <?php
    if (isset($_POST['invia'])) // SE VIENE PREMUTO IL PULSANTE INVIA DEL MODULO
    {
    $email = strip_tags($_POST['email']);

    // QUESTO CONTROLLO SERVE PER I CAMPI OBBLIGATORI
    if ((!$_POST['intestazione']) || ($_POST['intestazione'] =="") OR
    (!$_POST['cognome']) || ($_POST['cognome'] =="") OR
    (!$_POST['nome']) || ($_POST['nome'] =="") OR
    (!$_POST['indirizzo']) || ($_POST['indirizzo'] =="") OR
    (!$_POST['num']) || ($_POST['num'] =="") OR
    (!$_POST['citta']) || ($_POST['citta'] =="") OR
    (!$_POST['stato']) || ($_POST['stato'] =="") OR
    (!$_POST['tel']) || ($_POST['tel'] =="") OR
    (!$_POST['email']) || ($_POST['email'] =="") OR
    (!$_POST['piva']) || ($POST['piva'] ==""))
    {
    echo "Compilare i campi con asterisco<b><a href='#' onClick='history.go (-1)'>INDIETRO</a></b>";
    }
    else if (!eregi("^[
    .0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$",$email))
    {
    echo "E-M@IL NON VALIDA PREGO REINSERIRLA <b><a href='#' onClick='history.go (-1)'>INDIETRO</a></b>";
    }
    else
    {
    $int = strip_tags($_POST['intestazione']);
    $cognome = strip_tags($_POST['cognome']);
    $nome = strip_tags($_POST['nome']);
    $indirizzo = strip_tags($_POST['indirizzo']);
    $num = strip_tags($_POST['num']);
    $cap = strip_tags($_POST['cap']);
    $citta = strip_tags($_POST['citta']);
    $stato = strip_tags($_POST['stato']);
    $tel = strip_tags($_POST['tel']);
    $fax = strip_tags($_POST['fax']);
    $cell = strip_tags($_POST['cell']);
    $username = strip_tags($_POST['username']);
    // CONTROLLO CHE NON SIA OMESSO O CHE SIA ALMENO DI OTTO CARATTERI LO USERNAME ALTRIMENTI GLI ASSEGNO, COME USERNAME, LA M@IL
    if ($username == "")
    {
    $user = $email;
    }
    else
    {
    $user = $username;
    }
    $user_str = strlen($user);

    if ($user_str < 😎
    {
    echo "USERNAME MINORE DI OTTO CARATTERI <b><a href='#' onClick='history.go (-1)'>INDIETRO</a></b></td>
    </tr>";
    }
    else
    {
    // CODICE CON 12 CARATTERI ALFANUMERICI CASUALI
    // QUESTO SERVE PER RICEVERE CONFERMA DALL'INDIRIZZO INDICATO
    $numcod = 12;
    $strx = '';
    for ($i=1; $i<=$numcod; $i++)
    {
    $set = array(rand(65,90),rand(97,122),rand(48,57));
    $strx .= chr($set[rand(0,2)]);
    }
    $codice = $strx; // QUESTO E' IL CODICE
    $codice_md5 = md5($codice); // CODICE CRIPTATO IN MD5

    // INSERISCO I DATI NEL DATABASE
    $insert = "INSERT INTO tabella (intestazione,cognome,nome,indirizzo,num,cap,citta,stato,tel,fax,cell,email,username,password,
    codice) VALUES ('" . $int . "','" . $cognome . "','" . $nome . "','" . $indirizzo . "','" . $num . "','" . $cap . "','" . $citta . "','" . $stato . "','" . $tel . "','" . $fax . "','" . $cell . "','" . $email . "','" . $user . "','" . $password . "','" . $codice_md5 . "')";
    mysql_query($insert,$conn) or die ("Impossibile eseguire l'operazione richiesta.<br>Cliente <b>$int</b> non inserito nel DB");

    // SPEDISCO LA MAIL AL CLIENTE

    $oggi = date("d/m/Y");
    $ore = date("H:i");
    // VARIABILI CORPO MAIL
    $messaggiox = "<b>ATTIVA ACCOUNT</b>";
    $messaggio_server = $trad['messaggio_server']; // ALTRA VARIABILE

    $da = maildelmittente; // MAIL MITTENTE
    $a = $email; // VARIABILE NELLA FUNZIONE MAIL CLIENTE
    $oggetto = "OGGETTO DELLA MAIL"; // OGGETTO MAIL CLIENTE

    $ind_web = "tuositoweb"; // IL TUO SITO WEB PER EVENTUALI COLLEGAMENTI

    // NUOVO MESSAGGIO MAIL IN FORMATO HTML
    $messaggio = "TUTTO IL CONTENUTO DELLA MAIL - TI CONSIGLIO DI FARE UNA SEMPLICE PAGINA HTML";
    // FINE NUOVA MESSAGGIO MAIL
    $intestazioni = "From: TUO SITO WEB - Registrazione <$da> \r \n";
    $intestazioni .= "Reply-To: TUO SITO WEB - Registrazione <$da> \r \n";
    $intestazioni .= "X-Mailer: PHP/" . phpversion();
    $intestazioni .= "MIME-version: 1.0\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n"; /impostiamo il formato della mail in HTML/

    $corpo = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">";
    $corpo .= "<HTML><HEAD>";
    $corpo .= "<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">";
    // SE AL CORPO DEL MESSAGGIO ESISTE SCRIPT JAVA INSERIRLO QUI
    $corpo .= "<script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_openBrWindow(theURL,winName,features) {
    window.open(theURL,winName,features);
    }
    //-->
    <!--
    function MM_displayStatusMsg(msgStr) {
    status=msgStr;
    document.MM_returnValue = true;
    }
    //-->
    </script>";
    $corpo .= "</HEAD>";
    $corpo .= "<BODY>";
    $corpo .= $messaggio;
    $corpo .= "</BODY></HTML>";
    @mail($a, $oggetto, $corpo, $intestazioni);

    // CHIUDO MAIL CLIENTE
    echo "VI E' STATA INVIATA UNA MAIL ALL'INDIRIZZO INDICATO -LEGGERE QUANTO SCRITTO";
    }
    }
    }
    else
    {

    QUI IL FORM CON ACTION POST

    ES:
    <form name="form_registrazione" method="post" action**="<?php echo $_SERVER['PHP_SELF']; ?>**">

    </form>
    }