codice:
require("../../includes/fpdf.php");
/********************************************************/
$nome=strip_tags($_POST['nome']);
$cognome=strip_tags($_POST['cognome']);
$luogo_nascita=strip_tags($_POST['luogo_nascita']);
$data_nascita=strip_tags($_POST['data_nascita']);
$residenza=strip_tags($_POST['residenza']);
$indirizzo=strip_tags($_POST['indirizzo']);
$cellulare=strip_tags($_POST['cellulare']);
$fisso=strip_tags($_POST['fisso']);
$email=strip_tags($_POST['email']);
$istruzione=strip_tags($_POST['istruzione']);
$stato_civile=strip_tags($_POST['stato_civile']);
$figli=strip_tags($_POST['figli']);
$patente=strip_tags($_POST['patente']);
$esperienze_lavoro=strip_tags($_POST['esperienze_lavoro']);
$cessazione_rapporti=strip_tags($_POST['cessazione_rapporti']);
$occupazione=strip_tags($_POST['cessazione_rapporti']);
$obiettivi_lavorativi=strip_tags($_POST['obiettivi_lavorativi']);
$inglese=$_POST['inglese'];
$francese=$_POST['francese'];
$tedesco=$_POST['tedesco'];
$os=$_POST['os'];
$office=$_POST['office'];
$militare=$_POST['militare'];
$esperienze_formative=strip_tags($_POST['esperienze_formative']);
$altre_informazioni=strip_tags($_POST['altre_informazioni']);
$spostarsi=$_POST['spostarsi'];
$notturni=$_POST['notturni'];
$piano_ferie=$_POST['piano_ferie'];
$festivi=$_POST['festivi'];
/********************************************************/
$allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg"); // i formati di immagine permessi
function chkEmail($email)
{
// elimino spazi, "a capo" e altro alle estremità della stringa
$email = trim($email);
// se la stringa è vuota sicuramente non è una mail
if(!$email) {
return false;
}
// controllo che ci sia una sola @ nella stringa
$num_at = count(explode( '@', $email )) - 1;
if($num_at != 1) {
return false;
}
// controllo la presenza di ulteriori caratteri "pericolosi":
if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
return false;
}
//controllo se la stringa rispetta il formato classico di una mail?
if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
return false;
}
return true;
}
/**************************************************************************/
//Controllo se sono stati inseriti i dati anagrafici
if ( empty($nome) || empty($cognome) || empty($luogo_nascita) || empty($residenza) || empty($indirizzo) || empty($cellulare) ) {
echo "<h1>Attenzione: i dati anagrafici inseriti non sono completi.</h1><p class=\"main_paragraph\"><a href=\"#\" onclick=\"history.back();return false\">Torna indietro e riprova</a></p>";
//... e gli altri dati obbligatori
}elseif ( empty($militare) || empty($spostarsi) || empty($notturni) || empty($piano_ferie) || empty($festivi) ) {
echo "<h1>Attenzione: alcuni dati obbligatori non sono stati inseriti.</h1><p class=\"main_paragraph\"><a href=\"#\" onclick=\"history.back();return false\">Torna indietro e riprova</a></p>";
}else{
//imposto io le informazioni facoltative nel caso siano state lasciate vuote
if ( empty($fisso) || empty($figli) || empty($patente) || empty($esperienze_lavoro) || empty($cessazione_rapporti) || empty($occupazione) || empty($obiettivi_lavorativi) || empty($esperienze_formative)
|| empty($altre_informazioni) ) {
$fisso="Non indicato";
$figli="Non indicato";
$patente="Non indicato";
$esperienze_lavoro="Non indicato";
$cessazione_rapporti="Non indicato";
$occupazione="Non indicato";
$obiettivi_lavorativi="Non indicato";
$esperienze_formative="Non indicato";
$altre_informazioni="Non indicato";
};
//controllo se l'email è stata inserita e se è stata inserita controllo che sia valida
if (empty($email)) {
$email="Non indicato";
}else{
if (!chkEmail($email)) {
echo "<h1>Attenzione: inserisci un indirizzo email corretto.</h1><p class=\"main_paragraph\"><a href=\"#\" onclick=\"history.back();return false\">Torna indietro e riprova</a></p>";
exit;
};
};
//controllo se la foto è stata inserita è se è stata inserita controllo che rispetti le regole
if (empty($_FILES['foto'])) {
$foto="Non indicata";
}else{
if ($_FILES['foto']['size'] > 100000) { //controllo che il file non superi le dimensioni permesse
echo "<h1>Le dimensioni del file superano il limite consentito</h1><p class=\"main_paragraph\"><a href=\"#\" onclick=\"history.back();return false\">Torna indietro e riprova</a></p>";
exit;
};
if (!in_array($_FILES['foto']['type'],$allowed_types)) { //controllo che il tipo di file caricato sia permesso
$tipo_files=implode(",", $allowed_types);
echo "<h1>Il tipo di file non é amesso</h1><h2>Sono ammessi solo files del tipo $tipo_files</h2>
<p class=\"main_paragraph\"><a href=\"#\" onclick=\"history.back();return false\">Torna indietro e riprova</a></p>";
exit;
};
$upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/moduli_assunzione/foto"; // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$new_name = ""; // Eventuale nuovo nome da dare al file uploadato
$file_name = ($new_name) ? $new_name : $_FILES["foto"]["name"];// Se $new_name è vuota, il nome sarà lo stesso del file uploadato
is_uploaded_file($_FILES["foto"]["tmp_name"]);
move_uploaded_file($_FILES["foto"]["tmp_name"], "$upload_dir/$file_name");
list($width, $height, $type, $attr) = getimagesize("$upload_dir/$file_name");
// Creo la versione 120*90 dell'immagine (thumbnail)
$thumb = imagecreatetruecolor(415, 533);
$source = imagecreatefromstring(file_get_contents("$upload_dir/$file_name"));
$fototessera=imagecopyresized($thumb, $source, 0, 0, 0, 0, 415, 533, $width, $height);
};
/*echo "$fisso"; */
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Cell(60,10,"$fisso",0,1,'C');
$pdf->Output('anteprima', 'I');
};
Il codice non è completo ma non ha importanza. non riesco a fargli verificare tutte le condizioni in modo giusto. Ci sono dei campi che sono obbligatori e lo script si blocca è da in messaggio se non vengono riempiti. Altri che sono facoltativi e li imposto io se non lo fà l'utente, altri ancora che non ha importanza se vengano riempiti o no, come il campo della foto. Qua mi stà dando problemi: anche se non è necessario che la foto venga caricata, lo script mi avvisa cmq che il tipo di foto nn è supportato. Ho fatto tante di quelle prove e mi ha dato tanti di quegli errori che ormai ho il cervello in pappa...