Salve a tutti.. sono nuovo, vi scrivo per un problema: Sto creando un sito internet con un area di registrazione, dove gli utenti possono registrarsi per poi accedere ad una loro area personale; i loro dati devono essere salvati in un database che ho creato in phpmyadmin con MySQL. il problema è che quando faccio la prova per registrare è come se non venisse letto lo script e il database non memorizzasse i dati.....
vi posto cosa ho fatto, così magari potete darmi una mano a capire se c'è qualche errore....
GRAZIE IN ANTICIPO...
- FASE 1
Ho creato uno script di collegamento al database: l'ho chiamato config.php
<?php
session_start();
$db_host= "localhost";
$db_user= "root";
$db_password= "pass";
$db_name= "my_epr";
mysql_select_db($db_name, mysql_connect($db_host, $db_user, $db_password)) or die("Errore durante la connessione al database.".mysql_error());
function clear($var) {
return addslashes(htmlspecialchars(trim($var)));
}
?>
- FASE DUE
Ho creato la pagina chiamata registrazione.php: all'interno del <body> di questo file ho inserito oltre a vari elementi del menù, sia lo script in php sia il form creato con html:
<body>
<?php
//includo il file per la connessione al database
include ('config.php');
if (isset($_POST['submit'])) {
//riscrivo i dati presenti nel form
$nome= isset($_POST['Nome']) ? clear($_POST['nome']) : false;
$cognome=isset($_POST['Cognome']) ? clear($_POST['cognome']) : false;
$indirizzo_email=isset($_POST['Indirizzo_email']) ? clear($_POST['indirizzo_email']) : false;
$password=isset($_POST['Password']) ? clear($_POST['password']) : false;
//controlliamo che tutti i campi non siano vuoti
if(empty($nome) || empty($cognome) || empty($indirizzo_email) || empty($password)) {
echo 'Non tutti i campi sono stati riempiti'
;} elseif(strlen($password) < 6 || strlen($password) > 20) {
echo 'Password troppo corta; Minimo 6 caratteri e massimo 20'
;} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo 'Indirizzo email non valido'
;} else {
//criptiamo la password
$password = md5($password);
//inseriamo i valori nel database
if(mysql_query("INSERT INTO utenti
(nome , cognome , indirizzo_email , password ) VALUES
('$nome', '$cognome', '$indirizzo_email', '$password_md5')")) {
echo 'registrazione effettuata con successo.';
} else {
echo 'Errorre nella registrazione: '.mysql_error();
}
}
} else {
?>
<form action="<?php echo $_SERVER['PHP SELF']; ?>" method="POST">
<div class="form-title"><h2>REGISTRAZIONE</h2></div>
<div class="form-title">Nome</div>
<input class="form-field" type="text" name="nome" required /><br />
<div class="form-title">Cognome</div>
<input class="form-field" type="text" name="cognome" required /><br />
<div class="form-title">Indirizzo Email</div>
<input class="form-field" type="text" name="indirizzoEmail" required /><br />
<div class="form-title">Password</div>
<input class="form-field" type="password" name="password" required /><br />
<div class="submit-container">
<input class="submit-button" type="submit" value="REGISTRATI" />
</div>
</form>
<?php
}
?>
</body>
Il problema è quello che vi citavo prima: inserisco i dati nel form ma quando clicci su registra il form si azzera e i dati non vengono inviati al database e di conseguenza non appare nessun messaggio di avvenuta registrazione....
Vi prego... qualcuno mi aiuti..(((((((
(((((