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

    [PHP] register e EasyPhp

    Salve a tutti ho creato un sito/database (alle prime armi con PHP) con EasyPhp (in locale poi l'ho importato su un sito altervista ma il risultato non cambia) ma
    quando avvio la pagina Register.php (inserisco i dati e premo sul bottone "Registrami") mi da questo errore xk?

    Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\EasyPHP-5.3.8.1\www\Sito\register.… on line 81
    Errore, link di attivazione non inviato.

    in locale ho letto su una guida che devo settare il mail function di PHP.ini e visto che possiedo la vodafone station questo č quello che ho impostato:

    codice:
    [mail function] ; 
    
    For Win32 only. ; 
    http://php.net/smtp 
    SMTP = smtp.net.vodafone.it ; 
    
    http://php.net/smtp-port 
    smtp_port = 25
    non riesco a capire il problema, consigli?
    grazie infinite
    Echelon

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Le funzione mail ha lanciato un warning segnalando che il from (ovvero l'indirizzo da cui spedisci) non č impostato, nč nel php.ini nč come header nella chiamata della funzione.

    Rispetto al codice che hai postato, se continui a leggere il php.ini trovi la porprietā sendmail_from commentata. Decommenta e inserisci il tuo indirizzo mail.

    Se lo vuoi inserire nella chiamata di funzione vedi l'esempio 2 del manuale.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    Originariamente inviato da Grino
    Le funzione mail ha lanciato un warning segnalando che il from (ovvero l'indirizzo da cui spedisci) non č impostato, nč nel php.ini nč come header nella chiamata della funzione.

    Rispetto al codice che hai postato, se continui a leggere il php.ini trovi la porprietā sendmail_from commentata. Decommenta e inserisci il tuo indirizzo mail.

    Se lo vuoi inserire nella chiamata di funzione vedi l'esempio 2 del manuale.

    ok ma quando metto il sito online su altervista xk non va?il file PHP.ini non č solo di EasyPhp?
    a me interesserebbe solo che funzionasse su altervista...
    Echelon

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Credo che su altervista sei obbligato ad utilizzare come from un loro alias dedicato al tuo sito.

    Prova un po' a vedere questo post

    http://forum.it.altervista.org/799631-post5.html

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  5. #5
    Originariamente inviato da Grino
    Credo che su altervista sei obbligato ad utilizzare come from un loro alias dedicato al tuo sito.

    Prova un po' a vedere questo post

    http://forum.it.altervista.org/799631-post5.html

    scs ma sono un novellino...

    register.php

    <?php

    include 'header.php';

    ?>

    <div id="wrapper">

    <?php

    if(!isset($_GET['passkey'])){

    if(!isset($_POST['invia'])){ ?>

    <form method="post" action="#" id="formregistrazione">

    <ul>
    [*]<label for="username">Username</label>
    <input type="text" name="username" id="username" />

    [*]
    <label for="password1">Password</label>
    <input type="password" name="password1" id="password1" />

    [*]
    <label for="password2">Ripeti Password</label>
    <input type="password" name="password2" id="password2" />

    [*]
    <label for="email">Email</label>
    <input type="text" name="email" id="email" />

    [/list]
    <input type="submit" name="invia" id="registrati" value="Registrati" />
    </form>

    <?php } else {

    // creazione di un codice di conferma
    $codiceconferma = md5(uniqid(rand()));

    // Valori del form

    $username = mysql_real_escape_string($_POST['username']);
    $password1 = mysql_real_escape_string($_POST['password1']);
    $password2 = mysql_real_escape_string($_POST['password2']);
    $email = mysql_real_escape_string($_POST['email']);

    // controllo campi vuoti e password

    if($username == "" || $email == ""){
    echo "Devi riempire tutti i campi";
    }elseif($password1 == "" || $password2 == ""){
    echo "Devi riempire tutti i campi";
    }elseif($password2 != $password1){
    echo "Le password devono coincidere";
    }else{

    $recuperauseremail = mysql_query("SELECT id FROM utenti WHERE username='$username' OR email='$email'");
    $contausermail = mysql_num_rows($recuperauseremail);

    if($contausermail > 0){

    echo "Nome utente o email giā disponibili";

    } else {

    // Invia dati alla tb utenti_temp

    $inviautentitemp = mysql_query("INSERT INTO utenti_temp (codiceconferma, username, password, email) VALUES ('$codiceconferma', '$username', '$password2', '$email')");

    if($inviautentitemp){

    $to=$email;
    $subject="Conferma la Registrazione";
    $header="Da: Amministratore";
    $message="Ecco il tuo codice di attivazione \r\n";
    $message.="Clicca sul link per confermare la registrazione \r\n";
    $message.="http://127.0.0.1/sito/register.php?passkey=$codiceconferma";

    $sentmail=mail($to,$subject,$message,$header);


    }

    if($sentmail){

    echo "Per completare la registrazione controlla la tua casella di posta elettronica e clicca sul link di attivazione.";

    }else{

    echo "Errore, link di attivazione non inviato.";

    }

    }
    }

    }

    } else {

    $passkey = $_GET['passkey'];

    $sqlrecuperauser = "SELECT * FROM utenti_temp WHERE codiceconferma = '$passkey'";
    $risultatouser = mysql_query($sqlrecuperauser);

    if($risultatouser) {

    $contauser = mysql_num_rows($risultatouser);

    if($contauser == 1){

    $rows = mysql_fetch_array($risultatouser);
    $username = $rows['username'];
    $email = $rows['email'];
    $password = $rows ['password'];

    $passwordcript = md5($password);

    $sqlconfermauser = mysql_query("INSERT INTO utenti (username, password, email) VALUES ('$username', '$passwordcript', '$email')");

    if ($sqlconfermauser) {

    echo "Il tuo account č stato attivato con successo";
    $sqleliminadati = mysql_query("DELETE FROM utenti_temp WHERE codiceconferma = '$passkey'");

    } else {

    echo "Errore!";

    }

    }

    }

    }

    ?>


    </div>


    </body>
    </html>

    qst č il file lo inserisco al posto di questo?:

    $to=$email;
    $subject="Conferma la Registrazione";
    $header="Da: Amministratore";
    $message="Ecco il tuo codice di attivazione \r\n";
    $message.="Clicca sul link per confermare la registrazione \r\n";
    $message.="http://127.0.0.1/sito/register.php?passkey=$codiceconferma";

    $sentmail=mail($to,$subject,$message,$header);
    Echelon

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.