Salve, ho scaricato uno script da questo sito, esattamente quello per la gestione degli utenti in un sito.
Ho caricato tutto sul mio sito, ma alla registrazione di un nuovo utente mi dà il seguente errore:
Notice: Undefined index: action in /membri/miosito/registrazione/include/reg.lib.php on line 51
Registrazione fallita a causa di un errore interno.
Non so proprio come risolvere, quindi vi posto qui le tre pagine coinvolte, spero riusciate a trovarmi l'errore 
REGISTRATI.PHP
codice:
<html>
<head>
<title>Modulo di registrazione</title>
</head>
<body>
<form action="register.php" method="post">
<div align="center">
<table border="0" width="300">
<tr>
<td>Nome:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Cognome:</td>
<td><input type="text" name="surname"></td>
</tr>
<tr>
<td>Indirizzo:</td>
<td><input type="text" name="indirizzo"></td>
</tr>
<tr>
<td>Occupazione</td>
<td><input type="text" name="occupazione"></td>
</tr>
<tr>
<td>Username:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>Mail:</td>
<td><input type="text" name="mail"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="action" value="Invia"></td>
</tr>
</table>
</div>
</form>
</body>
</html>
REGISTER.PHP
codice:
<html>
<head>
<style type="text/css">
<!--
.style1 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
</head>
<body>
<?php
include_once("include/config.php");
include_once("include/reg.lib.php");
if(isset($_POST['action']) and $_POST['action'] == 'Invia'){
$ret = reg_check_data($_POST);
$status = ($ret === true) ? reg_register($_POST) : REG_ERRORS;
switch($status){
case REG_ERRORS:
?>
<span class="style1">Sono stati rilevati i seguenti errori:</span>
<?php
foreach($ret as $error)
printf("%s: %s
", $error[0], $error[1]);
?>
Premere "indietro" per modificare i dati
<?php
break;
case REG_FAILED:
echo "Registrazione fallita a causa di un errore interno.";
break;
case REG_SUCCESS:
echo "Registrazione avvenuta con successo.
Vi è stata inviata una email contente le istruzioni per confermare la registrazione.";
break;
}
}
?>
</body>
</html>
INCLUDE/REG.LIB.PHP
codice:
<?php
function reg_register($data){
//registro l'utente
global $_CONFIG;
$id = reg_get_unique_id();
mysql_query("
INSERT INTO ".$_CONFIG['table_utenti']."
(name, surname, indirizzo, occupazione, username, password, temp, regdate, uid)
VALUES
('".$data['name']."','".$data['surname']."','".$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/Articoli/autenticazione/2/scripts/confirm.php?id=".$id."\">Conferma</a>";
if(mysql_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/Articoli/autenticaz...onfirm.php?id=".$id."
";
return (mail($to, "Conferma la registrazione", $msg, "From: ".$from)) ? REG_SUCCESS : REG_FAILED;
}
function reg_clean_expired(){
global $_CONFIG;
$query = mysql_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 = mysql_query("
UPDATE ".$_CONFIG['table_utenti']."
SET temp='0'
WHERE uid='".$id."'");
return (mysql_affected_rows () != 0) ? REG_SUCCESS : REG_FAILED;
}
?>
Riuscite a trovarmi l'imbroglio? Grazie mille