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