Ciao a tutti ragazzi.
Sto realizzando un quiz stupido nel mio sito per prendere familiarità con il php e il salvataggio di values su db mysql...
Ho scritto questo:
Codice PHP:
<?php
    
if(isset($_GET['sent'])) {
        
        
$rules = array(
            
'email' => array('req''email' => true),
            
'name' => array('req''minlength' => 3),
            
'surname' => array('req''minlenght' => 2),
        );
        
        
$errors = array();
        
        foreach(
$rules as $name => $rule) {
            if((! isset(
$_POST[$name])) || empty($_POST[$name])) {
                
$errors[$name] = 'Obbligatorio';
                continue;
            }
            
            if(isset(
$rule['email']))
                if(
preg_match('/^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})$/i'$_POST[$name]) == false) {
                    
$errors[$name] = 'Email non valida';
                    continue;
                }
            
            if(isset(
$rule['minlength']))
                if(
strlen($_POST[$name]) < $rule['minlength']) {
                    
$errors[$name] = 'Minimo ' $rule['minlength'] . ' caratteri';
                    continue;
                }
            
            if(isset(
$rule['length']))
                if(
strlen($_POST[$name]) != $rule['length']) {
                    
$errors[$name] = 'Inserisci ' $rule['length'] . ' caratteri';
                    continue;
                }
            
            if(isset(
$rule['values']))
                if(! 
in_array($_POST[$name], $rule['values'])) {
                    
$errors[$name] = 'Obbligatorio';
                    continue;
                }
        }
        
        if(
count($errors) > 0)
            
$showform true;
        else {
            
$showform false;
            
            
$dbConn = @mysqli_connect('IP DEL SERVER''NOME''PASSWORD''NOME DEL DATABASE');
            if(! 
$dbConn)
                
$error 'Qualcosa non ha funzionato.
Per favore, riprova più tardi'
;
            else {                
                
$query 'INSERT INTO concorso (email, name, surname) VALUES(' .
                    
'\'' $_POST['email'] . '\',' .
                    
'\'' $_POST['name'] . '\',' .
                    
'\'' $_POST['surname'] . '\',' .
                    
')';
                
                
mysqli_query($dbConn$query);
            }
        }
    
    }
    else
        
$showform true;
        
    if(
$showform) {
?>
    <form action="?sent=true" method="post">
                <center>[b]<p style="color: white; font-size:13px;">Informazioni personali</p>[/b]
                <label for="email"><p style="color: white; font-size:11px;">[b]Indirizzo email[/b]<?= isset($errors['email']) ? ' <span class="error">' $errors['email'] . '</span>' ''?></label>

                <input type="text" name="email" id="email" value="<?=$_POST['email'];?>" />
                <label for="name"><p style="color: white; font-size:11px;">[b]Nome[/b]<?= isset($errors['name']) ? ' <span class="error">' $errors['name'] . '</span>' ''?></label>

                <input type="text" name="name" id="name" value="<?=$_POST['name'];?>" />
                <label for="surname"><p style="color: white; font-size:11px;">[b]Cognome[/b]<?= isset($errors['surname']) ? ' <span class="error">' $errors['surname'] . '</span>' ''?></label>

                <input type="text" name="surname" id="surname" value="<?=$_POST['surname'];?>" /></center>
              <center><input type="image" src="img/inviabtn.png" /></center>
<?
    
} elseif(isset($error)) { ?>
    



<h1><center><?= $error?></center></h1>
<?
    
} else { ?>
    



<h1><center>Grazie di aver partecipato!
Ti invieremo una mail se sarai selezionato tra i vincitori.<center></h1>
<?
    
?>
su mysql ho creato una tabella con i seguenti settaggi:
id - INT autoincrement
email - varchar - latin swedish - max 255 caratteri
nome - varchar - latin swedish - max 255 caratteri
cognome - varchar - latin swedish - max 255 caratteri
answer1 - int(255)
answer2 - int(255)
answer3 - int(255)
answer4 - int(255)

ora, il codice prepostato crea una pagina in cui l'utente compila i primi tre campi, cioè email nome cognome, poi passa alla pagina della prima domanda, poi alla seconda, poi alla terza...fino ad arrivare all'ultima domanda dove con un pulsante si terminerà il quiz e verranno inviati i dati...
Per ora il risultato che ottengo è una pagina con il div dove c'erano i form vuoto e come url:
dati.php?sent=true
Solo che non vengono salvati i primi tre campi nel database