• User

    Aiuto per un compito

    Ciao Ragazzi, sono nuovissimo del forum.
    Scrivo e mi sono iscritto perchè un mio amico mi ha chiesto aiuto per un compito di informatica.
    Il compito è il seguente:
    [LEFT]Svolgeremo questa attività:

    1. realizzare un modulo (form) di registrazione per un ipotetico evento culturale (ad
      esempio un convegno), in cui siano richieste le seguenti informazioni:
      nome, cognome, email, indirizzo, città, cap, telefono fisso,
      cellulare, nome ente/azienda, posizione lavorativa,
      e permesso di trattare i dati ai fini della legge sulla privacy.
      nome, cognome, email e cellulare sono campi obbligatori,
      quindi da controllare se sono stati immessi dati e se i dati sono congrui
      (es. la stringa di email deve contenere un carattere @);
      anche il permesso ai fini privacy è obbligatorio.
      Una volta controllati i campi, lo script potrà inviare una email di conferma all?utente.
      Realizzare la form in una pagina HTML (registrazione.html) e la pagina di controllo in
      PHP (controlloreg.php) che controlli i dati messi in ingresso alla form e reagisca di
      conseguenza, ciclando in caso di errori fino alla corretta registrazione.

    FINE TESTO
    Io ho provato a svolgerlo, ma non ho installato un server PHP al momento. Vorrei semplicemente che mi poteste dire gentilmente se ci sono errori. Vi ringrazio in anticipo.

    ECCO IL FILE REGISTRAZIONE.HTML:
    <?php include('controlloreg.php'); ?>
    <html>
    <head>
    <title>Form di registrazione</title>
    </head>
    <body>
    <h1>Form di Registrazione per ipotetico evento culturale</h1>
    <form id="Register" action="controlloreg.php" method="POST" runat="controlloreg.php" disablebuttons="all">
    <table cellpadding="2" cellspacing="0" border="0">
    <tr>
    <td width="130">
    <vllabel validators="UserID,UserIDExist" errclass="error" for="UserID" cerrclass="controlerror">
    <font color="#FF0000"></font>
    Nome: </vllabel>
    </td>
    <td width="140">
    <input name="UserID" type="text" class="control" id="UserID" size="15">
    <vlvalidator name="UserID" type="required" control="UserID" errmsg="Non hai inserito il tuo nome">
    <vlvalidator name="UserIDExist" type="custom" control="UserID" errmsg="User ID already exist" function="UserIDCheck">
    </td>
    <td width="300" rowspan="13" valign="top">
    <vlsummary class="error" headertext="Error(s) found:" displaymode="bulletlist">
    </td>
    </tr>
    <tr>
    <td width="130">
    <vllabel validators="UserID,UserIDExist" errclass="error" for="UserID" cerrclass="controlerror">
    <font color="#FF0000">
    </font>
    Cognome:</vllabel>
    </td>
    <td width="140">
    <input name="UserID0" type="text" class="control" id="UserID0" size="15">
    <vlvalidator name="UserID" type="required" control="UserID" errmsg="Non hai inserito il tuo cognome">
    <vlvalidator name="UserIDExist" type="custom" control="UserID" errmsg="User ID already exist" function="UserIDCheck">
    </td>
    </tr>
    <tr>
    <td width="130" height="27">
    Indirizzo:</td>
    <td width="140" height="27">
    <input type="text" size="15"></td>
    </tr>
    <tr>
    <td width="130">
    Città:</td>
    <td width="140">
    <input type="text" size="15" name="T1"></td>
    </tr>
    <tr>
    <td width="130">
    CAP:</td>
    <td width="140">
    <input type="text" size="15" name="T2"></td>
    </tr>
    <tr>
    <td width="130">
    Telefono fisso:</td>
    <td width="140">
    <input type="text" size="15" name="T3"></td>
    </tr>
    <tr>
    <td width="130">
    <vllabel validators="UserID,UserIDExist" errclass="error" for="UserID" cerrclass="controlerror">
    <font color="#FF0000"></font>
    Cellulare:</vllabel>
    </td>
    <td width="140">
    <input name="UserID5" type="text" class="control" id="UserID5" size="15">
    <vlvalidator name="UserID" type="required" control="UserID" errmsg="Non hai inserito il tuo numero di cellulare">
    <vlvalidator name="UserIDExist" type="custom" control="UserID" errmsg="User ID already exist" function="UserIDCheck">
    </td>
    </tr>
    <tr>
    <td width="130">
    Nome Ente/azienda</td>
    <td width="140">
    <input type="text" size="15" name="T4"></td>
    </tr>
    <tr>
    <td width="130">
    Posizione Lavoratica</td>
    <td width="140">
    <input type="text" size="15" name="T5"></td>
    </tr>
    <tr>
    <td>
    <vllabel errclass="error" validators="EmailReq,Email" for="Email" cerrclass="controlerror">
    <font color="#FF0000">
    </font> E-mail:</vllabel>
    </td>
    <td>
    <input name="Email" type="TEXT" class="control" id="Email" size="15">
    <vlvalidator type="required" name="EmailReq" control="Email" errmsg="Non hai inserito la tua E-mail">
    <vlvalidator type="format" format="email" name="Email" control="Email" errmsg="E-mail non valida">
    </td>
    </tr>
    <tr>
    <td colspan=2>
    <input name="Agreement" type="checkbox" id="Agreement" value="1">
    Permesso di trattare i dati ai fini della privacy
    <vlvalidator type="required" name="Agreement" control="Agreement" errmsg="Non hai dato il permesso al trattamento dei dati ai fini privacy">
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <p align="center">
    <input type="submit" class="control" value="OK">
    <input type="reset" class="control" value="Cancella">
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <font color="#FF0000">* campi obbligatori</font></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    <?php VDEnd(); ?>

    ECCO IL FILE CONTROLLOREG.PHP
    <?php
    $sDatabase = 'db_name';
    $sHostname = 'localhost';
    $sPort = 3306;
    $sUsername = 'user_name';
    $sPassword = 'password';
    $sTable = 'Customers';
    $rConn = mysql_connect("$sHostname:$sPort", $sUsername, $sPassword) or die(mysql_error());
    mysql_select_db($sDatabase);
    define('controlloreg_PARSE', false);
    include('controlloreg.php');
    function UserIDCheck($sValue, &$oStatus)
    {
    global $sTable;
    $sUserID = addslashes($sValue);

    $oStatus->bValid = false;
    $oStatus->sErrMsg = "User ID '$sValue' already exist";
    
    $sQuery = "SELECT UserID FROM $sTable WHERE UserID = '$sUserID'";
    if ($rRecordset = mysql_query($sQuery))
    {
        $oStatus->bValid = mysql_num_rows($rRecordset) == 0;
        mysql_free_result($rRecordset);
    }
    

    }
    // Funzione per aggiungere o rimuovere slashes
    $sUserID = VDFormat($_POST['UserID'], true);
    $sQuery = "INSERT INTO $sTable SET UserID = '$sUserID'";
    mysql_query($sQuery);
    ?>
    <html>
    <head>
    <title>Form di registrazione</title>
    </head>
    <body>
    <h1>Form di Registrazione per ipotetico evento culturale</h1>
    <p>I tuoi dati sono stati archiviati</p>
    <table cellpadding="0" cellspacing="0" border="0">
    <tr>
    <td width="100">User ID:</td>
    <td width="300"><?php echo $_POST['UserID']; ?></td>
    </tr>
    <tr>
    <td>Password:</td>
    <td><?php echo $_POST['Password']; ?></td>
    </tr>
    <tr>
    <td>Name:</td>
    <td><?php echo $_POST['Name']; ?></td>
    </tr>
    <tr>
    <td>E-mail:</td>
    <td><?php echo $_POST['Email']; ?></td>
    </tr>
    </table>
    </body>
    </html>

    Premesso che ho mezzo copiato alcune parti in giro per internet, per far prima, mi servirebbe sapere se ci sono errori rispetto a quanto richiesto dal TESTO...

    VI RINGRAZIO INFINITAMENTE.
    Mastro
    PS: se riusciste a rispondermi entro domani mi fareste un favore, d'altronde non è nemmeno per me: è per un mio amico, insomma è bello aiutarsi a vicenda. GRAZIE ANCORA.[/LEFT]


  • User

    Ma perchè nessuno mi ha risposto e cosa vuole dire il fatto che la lettera nell'elenco dei topic è azzurra e c'è di fianco al mio nome un segno di spuntato?


  • Super User

    Prova a utilizzare easyphp, non installa nessun server, dopo puoi testare lo script da solo. Altrimenti per ogni correzione lo devi riscrive e qualcuno dovrebbe ritestarlo!


  • Super User

    @cali1981 said:

    Prova a utilizzare easyphp, non installa nessun server
    Errato 🙂
    Lo installa, insieme a tutto il resto, mysql incluso... Solo che è tutto in un unico pacchetto ( bleah! ) XD


  • Super User

    @PaTeR said:

    Errato 🙂
    Lo installa, insieme a tutto il resto, mysql incluso... Solo che è tutto in un unico pacchetto ( bleah! ) XD
    Beh non credo installi niente in avvio automatico registro ecc... Tu premi avvia e lui avvia tutto, premi stop e ferma tutto, ti ritrovi come all'inizio senza aver appesantito e installato schifi vari i giro.
    O no?:?


  • Super User

    @cali1981 said:

    Beh non credo installi niente in avvio automatico registro ecc... Tu premi avvia e lui avvia tutto, premi stop e ferma tutto, ti ritrovi come all'inizio senza aver appesantito e installato schifi vari i giro.
    O no?:?
    Ci sono persone che campano con questi schifi XD
    Ti ripeto, li installa come se fosse un unico programma. Quando clicchi su avvia, lui ti avvia apache e mysql. Quando clicchi su stoppa, ti termina apache e mysql.


  • User

    in pratica questo easyphp installa tutto in back ground, effettivamente non è una cosa simpatica che nasconda quel che fa, ma se funziona ci dò un'occhiata, la procedura di installazione è noiosa...


  • Super User

    @Mastro_Benza said:

    la procedura di installazione è noiosa...

    installa apache o iis, mysql e php in modalità normale senza usare easyphp.
    vedrai che l'installazione è più stimolante 🙂


  • User

    Ma non mi interessa che sia stimolante, volevo soltanto testare questo programmino che nemmeno era per me, non ho tempo di mettermi a installare e "stimolarmi", non ho più sedici anni che perdevo ore a programmare... 🙂 C'ho da lavorare... 🙂 Quindi la soluzione più rapida è quella migliore.

    Comunque ho provato sto easyphp...premesso che installa tutto eccome, infatti mi è partito il firewall (gli ho dato accesso per ora tanto per provare), non capisco perchè se clicco su Esplora File non succede nulla...


  • Super User

    Era ironico quando diceva stimolante credo, ti dovresti impazzire un pò di più. Per il firewall non vuol dire nulla, ovviamente lui cerca di fare accesso alla rete, altrimenti se non installava niente, che faceva? Ti faceva vedere per finta la finestra e basta? O si inventava una pagina simile al phpinfo ma statica?
    Comunque se devi provare questo è il modo migliore, quando lo hai avviato prova fare localhost sul browser e vedi che succede....


  • User

    Ragazzi scusate ma calcolate che sto stampando un catalogo, parlando al telefono con un cliente e parlando di lavoro con un collega, quindi son un po' fuso non colgo tutto...il firewall lo dicevo solo per conferma, so come funziona... 🙂

    In questo momento però non ho presente dove inserire localhost in IE...o meglio: se me lo dite e lo becco direttamente mi fate un favore ed evito di cercarlo, così il favore lo faccio anch'io al mio amico che mi ha chiesto sto favore...ohps che giochi di parole...vabbè ci siam capiti... 🙂


  • User

    Ragazzi scusate ma calcolate che sto stampando un catalogo, parlando al telefono con un cliente e parlando di lavoro con un collega, quindi son un po' fuso non colgo tutto...il firewall lo dicevo solo per conferma, so come funziona... 🙂

    In questo momento però non ho presente dove inserire localhost in IE...o meglio: se me lo dite e lo becco direttamente mi fate un favore ed evito di cercarlo, così il favore lo faccio anch'io al mio amico che mi ha chiesto sto favore...ohps che giochi di parole...vabbè ci siam capiti... 🙂


  • Super User

    @Mastro_Benza said:

    Ragazzi scusate ma calcolate che sto stampando un catalogo, parlando al telefono con un cliente e parlando di lavoro con un collega, quindi son un po' fuso non colgo tutto...il firewall lo dicevo solo per conferma, so come funziona... 🙂

    In questo momento però non ho presente dove inserire localhost in IE...o meglio: se me lo dite e lo becco direttamente mi fate un favore ed evito di cercarlo, così il favore lo faccio anch'io al mio amico che mi ha chiesto sto favore...ohps che giochi di parole...vabbè ci siam capiti... 🙂
    Beh in IE puoi inserirlo nella barra degli indirizzi per cominciare...


  • User

    E cosa dovrei ottenere in quel modo?
    Non sto proprio capendo forse...


  • Super User

    @Mastro_Benza said:

    E cosa dovrei ottenere in quel modo?
    Non sto proprio capendo forse...
    Se tu installi easyphp lui avvia il server apache e mysql. Quindi hai un server web in locale. Se fai lcoalhost, visualizzi il file index nella dir di root del webserver, che in genere contiene phpinfo.


  • User

    ...ma mi esce una pagina senza senso...o almeno...
    mi visualizza EasyPhp Weblocal e questa roba qua: 🙂

    "); print(" "); print(" image "); print("$file"); print(""); } } } if ($bAuMoinsUnRepertoire == false) { print(" [CENTER]- $noDir -[/CENTER]
    "); print(""); } closedir($rep); clearstatcache(); ?>

    Che me ne dovrei fare?


  • Super User

    @Mastro_Benza said:

    ...ma mi esce una pagina senza senso...o almeno...
    mi visualizza EasyPhp Weblocal e questa roba qua: 🙂

    "); print(" "); print(" image "); print("$file"); print(""); } } } if ($bAuMoinsUnRepertoire == false) { print(" [CENTER]- $noDir -[/CENTER]
    "); print(""); } closedir($rep); clearstatcache(); ?>

    Che me ne dovrei fare?
    Strano, sembra che sia php non compilato. Hai avviato il server? PHP è configurato correttamente?


  • User

    sì infatti sembra anche a me, ma mi pare senza senso. Il server non lo dovrebbe avviare Easyphp?


  • Super User

    @Mastro_Benza said:

    sì infatti sembra anche a me, ma mi pare senza senso. Il server non lo dovrebbe avviare Easyphp?
    Si ma devi dirglielo tu. basta vedere la finestra di easyphp, si vede subito se è avviato o no.


  • User

    ah allora sì ci sono i due semafori entrambi sul verde e c'è scritto che sono avviati...
    Quindi il problema quale sasrebbe?