Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Piccolo problema [PHP]

  1. #1

    Piccolo problema [PHP]

    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
    Laura Pausini ♥
    Bellissima Così

  2. #2

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.