Ciao a tutti ragazzi. Ho qualche problema a registrare email nome e cognome su un database.
Quando l'utente clicca su continua la pagina diventa vuota e non c'è trascrizione su database mysql...
Innanzitutto il database mysql non fa parte dello stesso pacchetto hoster (sito e mysql sono su due account aruba diversi) potrebbe essere questo il problema?

il codice è semplicissimo:

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> 
<? 
    
?>
Ragazzi aiuto!! ci sto sbattendo la testa da una settimana