• User

    Form registrazione

    Ho provato a fare un form per la registrazione, ho messo giusto qualche controllo tanto per, ovviamente dovrà essere perfezionato, l'unico problema è che non funziona... sapete dove ho sbagliato? Contate che questo è il mio primo approccio con il php

    <? $nome=$_POST['nome'];
     $cognome=$_POST['cognome'];
     $nick=$_POST['nick'];
     $password=$_POST['password'];
     $cpassword=$_POST['cpassword'];
     $email=$_POST['email'];
     $errore='';
     $sep='|';
     $control='true';
     
          echo $nome,$cognome,$nick,$password,$email ;
     
     function ctrl_nome($nome)
      {
        for($i=0;$i<strlen($nome);$i++)
          {
            if(is_numeric($nome{i}))
            $control=false;
          } return $control;
      }                 
     function ctrl_psw($password,$cpassword)
      {
         if($password!=$cpassword)
          $control=false;
         return $control; 
      }
     function ctrl_email($email)
      {
         if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email) and !empty($email))
           $control=false;
         return $control;    
      }
      
     if(!ctrl_nome)
       { echo'ciao';
         $errore=$errore.'Il nome non puo contenere numeri.';
        }  
     if(!ctrl_psw)
        {echo'ciao';
        $errore=$errore.'Le password non coincidono.';
         }
     if (!ctrl_email)  
        $errore=$errore.' Email non corretta.'; 
        
     if($errore=="")    
       {
        $rigo=$nome.$sep.$cognome.$sep.$nick.$sep.$password.$sep.$email.$sep ;
        $file=fopen(getenv('DOCUMENT_ROOT')."utenti.txt",'a');
        fwrite($file,$rigo);
        fclose($file);
       }
      else
       echo $errore; 
    ?>
    
    
    
    
    
    
    <form method="POST" action="registrazione.php">
     Nome  <input type="text" name="nome" <? echo " value=\"".stripslashes($nome)."\""; ?>  <br />
     Cognome <input type="text" name="cognome" <? echo " value=\"".stripslashes($cognome)."\""; ?>>   <br />
     Nome Utente <input type="text" name="nick" <? echo " value=\"".stripslashes($nick)."\""; ?>>   <br />
     Password  <input type="password" name="password" <? echo " value=\"".stripslashes($password)."\""; ?>>  <br />
     Conferma Password  <input type="password" name="cpassword" <? echo " value=\"".stripslashes($cpassword)."\""; ?>> <br />
      E-mail<input type="email" name="email" <? echo " value=\"".stripslashes($email)."\""; ?>>  <br />
     Registrati <input type="submit" name="registrati" value="submit">  <br />
    </form>  
    
     
    

  • ModSenior

    Ciao cink,
    ma le funzioni dove le utilizzi?
    Restituisci anche una variabile, che è definita solo nel caso di errore, altrimenti non esiste.


  • User

    le funzioni le utilizzo facendo ad esempio if(!ctrl_nome) dove ctrl_nome è la funzione, per il restituire una variabile non ho capito...


  • ModSenior

    Le funzioni non si richiamano in quel modo, ma con nomefunzione(parametri).
    Penso che questo tutorial possa esserti utile:
    http://www.giorgiotave.it/forum/scripting-e-risorse-utili/83033-tutorial-area-privata.html