Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [php.html.it]Gestire gli utenti con PHP| validazione email

    Ciao a tutti, avevo aperto un post in precedenza su un'altro script riguarda il login, e sinceramente dopo aver riletto le basi sul sito, qualcosina-ina-ina mi è piu chiara. allora io ho il file config.php :

    Le parti in gassetto sono le parti modificate:

    codice:
    <?php
    $_CONFIG['host'] = "localhost";
    $_CONFIG['user'] = "user";
    $_CONFIG['pass'] = "pass";
    $_CONFIG['dbname'] = "dbname";
    
    $_CONFIG['table_sessioni'] = "sessioni";
    $_CONFIG['table_utenti'] = "utenti";
    
    $_CONFIG['expire'] = 60;
    $_CONFIG['regexpire'] = 24; //in ore
    
    $_CONFIG['check_table'] = array(
    	"username" => "check_username",
    	"password" => "check_global",
    	"name" => "check_global",
    	"surname" => "check_global",
    	"indirizzo" => "check_global",
    	"occupazione" => "check_global",
    	"mail" => "check_mail"
    );
    
    function check_username($value){
    	global $_CONFIG;
    	
    	$value = trim($value);
    	if($value == "")
    		return "Il campo non può essere lasciato vuoto";
    	$query = mysql_query("
    	SELECT id
    	FROM ".$_CONFIG['table_utenti']."
    	WHERE username='".$value."'");
    	if(mysql_num_rows($query) != 0)
    		return "Nome utente già utilizzato";
    	
    	return true;
    }
    
    function check_global($value){
    	global $_CONFIG;
    	
    	$value = trim($value);
    	if($value == "")
    		return "Il campo non può essere lasciato vuoto";
    	
    	return true;
    }
    
    function check_mail($value){
    	global $_CONFIG;
    	
    	$value = trim($value);
    	if($value == "")
    		return "Il campo non può essere lasciato vuoto";
    	if(eregi("^[a-z0-9\._-]+@([a-z0-9-]+\.)+([a- z]{2,4})",$mail))
    		return "Email non valida";
    	return true;
    }
    
    
    //--------------
    define('AUTH_LOGGED', 99);
    define('AUTH_NOT_LOGGED', 100);
    
    define('AUTH_USE_COOKIE', 101);
    define('AUTH_USE_LINK', 103);
    define('AUTH_INVALID_PARAMS', 104);
    define('AUTH_LOGEDD_IN', 105);
    define('AUTH_FAILED', 106);
    
    define('REG_ERRORS', 107);
    define('REG_SUCCESS', 108);
    define('REG_FAILED', 109);
    
    $conn = mysql_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass']) or die('Impossibile stabilire una connessione');
    mysql_select_db($_CONFIG['dbname']);
    ?>
    xò quando poi lo testo a volte mi da degli errori sulla linea 86 con $end, ma quest'end non esiste nel codice, invece a volte mi esce solo "Il campo non può essere lasciato vuoto" anche se ci metto l'email.

    Chi puo darmi una mano?

  2. #2
    $end nn è una variabile ma ti dice che hai dimenticato di finire chiudere qualcosa con }
    aggiungi una } alla riga che dici te e prova

  3. #3
    Grazie della risposta super savio, ma nn ho ben capito dove mettere la }, se nn sbaglio ci stanno e sono tutte aperte-chiuse

  4. #4
    io lho provato in locale e nn mi stampa nessun errore....

  5. #5
    Allora puoi andare qui

    http://gamedev.altervista.org/regist...registrati.php

    e guarda te stesso
    registrati, e prova

    a me ora mi da registrazione fallita causa errore interno

  6. #6
    Ho risolto con questo:

    function check_mail($value){
    global $_CONFIG;

    $value = trim($value);
    if($value == "")
    return "Il campo non può essere lasciato vuoto";
    if (!preg_match("/^([a-zA-Z0-9])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/", $_POST['email']))
    return "Indirizzo eMail non valido";
    return true;
    }



    grazie ancora per le risposte

  7. #7
    Niente da fare ancora non va, ho cercato molti esempi per le validazioni ma modificando il codice nn riesco a farlo funzionare

    edito: ho provato questo, ma anche se metto un indirizzo valido non funge lo stesso:

    function check_mail($value){
    global $_CONFIG;

    $value = trim($value);
    if($value == "")
    return "Il campo non può essere lasciato vuoto";
    if (!eregi("^[a-z0-9][_\\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\\.)+([a-z]{2,4})", $mail)) {
    return "Indirizzo email NON valido";
    } else {
    return "Indirizzo email valido";
    }

    return true;
    }


  8. #8
    Vi prego aiutatemi

  9. #9
    Normale che non funzioni, nell'espressione regolare controlli una inesistente variabile $mail ...

    Questa riga:
    codice:
     if (!eregi("^[a-z0-9][_\\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\\.)+([a-z]{2,4})", $mail)) {
    Va sostituita con questa:
    codice:
     if (!eregi("^[a-z0-9][_\\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\\.)+([a-z]{2,4})", $value)) {

  10. #10
    Anzi gia' che ci siamo cambiamo pure l'espressione regolare con una un po' piu' robusta va:

    codice:
    if (!eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$", $value)) {

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.