Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96

    non funziona richiedi password

    ciao,
    non mi funziona richiedi password eppure i dati che inserisco ci sono nel database, e il file config.php è corretto, per caso ho fatto qualche errore di sintassi?


    <?php
    session_start();
    include('config.php');


    // controllo sul parametro d'invio
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Richiedi"))
    {
    //controllo sul formato dell'email
    if((!isset($_POST['username'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['username'])))
    {
    // parametro non corretto
    echo "Attenzione, formato email non valido.";
    }else{
    // se il parametro è corretto interroghiamo il database
    $username = $_POST['username'];


    $sql_controllo = "SELECT a_anagrafica.*, a_login.*
    FROM a_anagrafica
    INNER JOIN a_login
    ON a_anagrafica.id_anagrafica = a_login.id_anagrafica
    WHERE (a_login.username = '$username')";
    $result_controllo = mysql_query($sql_controllo,$conn) or die (mysql_error());
    $row_controllo = mysql_num_rows($result_controllo);


    $email = $row_controllo["email"];
    $password = $row_controllo["password"];


    if ($row_controllo==0){
    echo "Non risulti registrato";
    }else{
    // messaggio di conferma
    echo "Abbiamo inviato la password al tuo indirizzo email";

    $admin_email = "mia@email.it";


    // email per la conferma
    // intestazioni
    $headers = "From: $admin_email\nreply-To: noreply\r\n";
    $subject = "Ricorda Password.";
    // corpo del messaggio
    $messaggio = "Ciao.\n";
    $messaggio .= "La tua password è: ".$password."\n";
    // invio dell'email
    @mail($email, stripslashes($subject),stripslashes($messaggio),$h eaders);
    }
    }
    }else{
    // form per la richiesta
    ?>
    <h1>Modulo ricorda password:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Username (la tua email al momento della tua registrazione):<br>
    <input name="username" type="text" size="20"><br>
    <input name="submit" type="submit" value="Richiedi">
    </form>
    <?
    }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    non da nessun errore ma non invia l'email
    Ultima modifica di pablos; 01-08-2015 a 18:39

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se invia la email mi pare di poter dire che funzioni... no?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    ho dimenticato di scrivere NON

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prima cosa, togli la @ da davanti alla funzione email (così non sopprimi l'eventuale errore)
    visto che ci sei, stampa a schermo il messaggio "Abbiamo inviato la password al tuo indirizzo email" dopo aver invocato la funzione email

    sto dando per scontato che non finisca nelle parti del programma in cui non deve inviare email o stampare altri messaggi di avviso

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    Fatto ma continua a non inviare l'email

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    gli errori sono tutti abilitati, vero?
    nel caso, inserisci questo codice in cima allo script

    Codice PHP:
    ini_set('display_errors','On');
    error_reporting(E_ALL); 
    altra cosa: non è che la email sta finendo nello spam? Capita se non si settano tutti gli header corretti
    altra cosa part 2: verifica con un if(mail(...)) che sia effettivamente stata inoltrata per l'invio
    Ultima modifica di clasku; 01-08-2015 a 18:56

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    Quote Originariamente inviata da clasku Visualizza il messaggio
    gli errori sono tutti abilitati, vero?
    nel caso, inserisci questo codice in cima allo script

    Codice PHP:
    ini_set('display_errors','On');
    error_reporting(E_ALL); 
    ok ora lo aggiungo

    Quote Originariamente inviata da clasku Visualizza il messaggio
    altra cosa: non è che la email sta finendo nello spam? Capita se non si settano tutti gli header corretti
    ho controllato non c'è niente nello spam

    Quote Originariamente inviata da clasku Visualizza il messaggio
    altra cosa part 2: verifica con un if(mail(...)) che sia effettivamente stata inoltrata per l'invio
    ok

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova a fare uno script di test semplice semplice in cui non fai altro che richiamare la funzione mail con i parametri destinatario, oggetto e testo di prova

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    per adesso ho solo inserito il tuo codice e mi fa vedere i messaggi di errore:

    Notice: Undefined variable: avviso2 in /web/htdocs/www.sito.net/home/ricorda_password.php on line 58

    Username (la tua email al momento della tua registrazione): Notice: Undefined variable: avviso1 in /web/htdocs/www.sito.net/home/ricorda_password.php on line 60

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.