salve a tutti, ho provato a creare una classe che abbia i metodi necessari a ricevere i dati da un form e salvarli in un file, dopo aver verificato l' input dell' utente e di avere i permessi sui file.
ecco cosa mi è uscito
facendo il debug non è sorto nessun errore, ma ho molte perplessità sul codice.
E' concettualmente giusto come sono strutturate le funzioni?
Come potrei indentare e rendere più efficente e funzionale questa stessa classe' Cosa è consigliabile che modifichi?
Insomma, secondo voi è scritta bene o si poteva scrivere notevolmente meglio?
Grazie delle risposte , ciao a tutti
ecco cosa mi è uscito
PHP:
<?php
class Scrivifile {
public $file="iscritti.txt";
public $nome;
public $cognome;
public $mail;
public function __construct() {
$this->nome=$_POST['nome'];
$this->cognome=$_POST['cognome'];
$this->mail=$_POST['mail'];
}
public function Controllodati ($nome,$cognome,$mail) {
if(!isset($this->nome) ||!$this->nome || !isset($this->cognome) || !$this->cognome )
return FALSE;
else return TRUE;
}
public function Controllomail($mail) {
trim($this->mail);
if(!$email)
return FALSE;
$num_at = count(explode( '@', $this->mail )) - 1;
if($num_at != 1)
return FAlSE;
if(strpos($this->mail,';') || strpos($this->mail,',') || strpos($this->mail,' '))
return FALSE;
if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $this->mail))
return FALSE;
return TRUE;
}
public function Controllofile ($file) {
if (is_writable($this->file) && feof($this->file))
return TRUE;
else return FALSE;
}
public function Scrittura ($file) {
if($this->Controllodati($nome,$cognome,$mail) && $this->Controllomail($mail) && Controllofile($file)) {
if(fopen($this->file,a)) {
$dascrivere="$this->nome | $this->cognome | $this->mail/r/n";
fwrite($this->file,$dascrivere);
fclose($this->file);
}
else echo "errore nell' apertura del file, ci scusiamo per l' inconveniente";
}
else if(!$this-Controllodati($nome, $cognome, $mail) || !$this->Controllomail($mail))
echo "I dati da te immessi sono errati, la preghiamo di ricontrollarli" ;
}
}
?>
E' concettualmente giusto come sono strutturate le funzioni?
Come potrei indentare e rendere più efficente e funzionale questa stessa classe' Cosa è consigliabile che modifichi?
Insomma, secondo voi è scritta bene o si poteva scrivere notevolmente meglio?
Grazie delle risposte , ciao a tutti