Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Attivazione account via email - problema indirizzo email col punto

    Ciao a tutti,
    ho creato una procedura di registrazione, tramite la quale un utente compila il form di registrazione dove indica l'indirizzo email (supponiamo test.test@dominio.com) ed al quale gli viene inviata una mail contenente il link di attivazione. Cliccando sul link, lo script va in eccezzione restituendomi un errore e non attiva l'account (ovvero un semplice update sul campo attiva_utente della tabella utenti).

    Se la stessa procedura la eseguo indicando un indirizzo email come ad esempio: test@dominio.com e quindi senza il punto, la procedura va a buon fine.

    La porzione di codice che riceve in $_GET le variabili ed effettua l'update del campo è il seguente:
    Codice PHP:
    <?php
    include ('database.php');

    if (isset(
    $_GET['email']) && preg_match('/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/'$_GET['email']))
    {
        
    $email $_GET['email'];
    }
    if (isset(
    $_GET['key']) && (strlen($_GET['key']) == 32))//The Activation key will always be 32 since it is MD5 Hash
    {
        
    $key $_GET['key'];
    }


    if (isset(
    $email) && isset($key))
    {

        
    // Update the database to set the "activation" field to null

        
    $query_activate_account "UPDATE......

    ...
    Mi sapreste aiutare?

    Grazie

  2. #2
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    Con la mia versione di Php (5.4.7) quell'espressione regolare funziona anche sull'email test.test@dominio.com. Non è che hai usato un indirizzo e-mail diverso e il problema, quindi, non sia nel . bensì altrove?

    Prima idea che mi viene in mente: dai un escape al . nella classe di caratteri prima del @.

    La seconda idea, è quella che ti consiglio: esistono espressioni regolari già ampiamente testate che, magari, contemplano indirizzi che una propria espressione non validerebbe, pur essendo corretti. Fai un giro su questa pagina per farti un'idea. Dopodiché scegli quella che ti sembra la più adatta
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

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 © 2024 vBulletin Solutions, Inc. All rights reserved.