Salve ho un problema con una pagina php.
Io Sto realizzando un sito che mi possa accedere nelle pagine private.
Il problema sta nella parte della registrazione del sito.
Ho creato un file registrati.php che contiene "il form, il file config.php che contiene la connessione al mysql e i vari REG(REG_SUCCESS, REG_ERROR ecc..)e il file reg.lib.php", il form mi porta al file register.php(fin qui non ci sono problemi). La pagina register.php
contiene le varie conferme ossia se passa REG_SUCCESS mi da il testo registrazione inviata controlla l'email invece se passano gli altri dice L'errore(fin qui non ci sono problemi).IL problema sta nel file reg.lib.php che invece di passarmi REG_SUCCES mi passa REG_ERROR.
Ecco il file reg.lib.php
codice:
<?php
function reg_register($data){
//registro l'utente
global $_CONFIG;
$id = reg_get_unique_id();
mysqli_query("
INSERT INTO ".$_CONFIG['table_utenti']."
(nome, cognome, indirizzo, occupazione, username, password, temp, regdate, uid)
VALUES
('".$data['nome']."','".$data['cognome']."','".$data['indirizzo']."',
'".$data['occupazione']."','".$data['username']."',MD5('".$data['password']."'),
'1', '".time()."','".$id."')");
//Decommentate la riga seguente per testare lo script in locale
echo "<a href=\"http://localhost:8888/acquisto/registrazione/confirm.php?id=".$id."\">Conferma</a>";
if(mysqli_insert_id()){
return reg_send_confirmation_mail($data['mail'], "test@localhost", $id);
}else return REG_FAILED;
}
function reg_send_confirmation_mail($to, $from, $id){
//invio la mail di conferma
$msg = "Per confermare l'avvenuta registrazione, clicckate il link seguente:
http://localhost:8888/acquisto/registrazione/confirm.php?id=".$id."
";
return (mail($to, "Conferma la registrazione", $msg, "From: ".$from)) ? REG_SUCCESS : REG_FAILED;
}
function reg_clean_expired(){
global $_CONFIG;
$query = mysqli_query("
DELETE FROM ".$_CONFIG['table_utenti']."
WHERE (regdate + ".($_CONFIG['regexpire'] * 60 * 60).") <= ".time()." and temp='1'");
}
function reg_get_unique_id(){
//restituisce un ID univoco per gestire la registrazione
list($usec, $sec) = explode(' ', microtime());
mt_srand((float) $sec + ((float) $usec * 100000));
return md5(uniqid(mt_rand(), true));
}
function reg_check_data(&$data){
global $_CONFIG;
$errors = array();
foreach($data as $field_name => $value){
$func = $_CONFIG['check_table'][$field_name];
if(!is_null($func)){
$ret = $func($value);
if($ret !== true)
$errors[] = array($field_name, $ret);
}
}
return count($errors) > 0 ? $errors : true;
}
function reg_confirm($id){
global $_CONFIG;
$query = mysqli_query("
UPDATE ".$_CONFIG['table_utenti']."
SET temp='0'
WHERE uid='".$id."'");
return (mysqli_affected_rows () != 0) ? REG_SUCCESS : REG_FAILED;
}
?>
Questi file li sto testando in locale e forse l'errore sta nel email perch� bisogna avere un sito publico per mettere l'istruzione mail infatti io lo sto solo testando in locale, e vorrei che l'mail non l'invia quando sono in locale perch� mi passa il valore REG_ERROR perch� non ho i diritti per usare l'istruzione mail
mi sapete dire che cosa devo fare per fare in modo che pur avendo messo le cose giuste mi passa REG_SUCCESS?