Visualizzazione dei risultati da 1 a 6 su 6

Discussione: form mail in php

  1. #1
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515

    form mail in php

    cercando ad internet ho trovato un'altro script in php per inviare l'email dal wb....vi invio lo script per verificarlo...perchè non riesco a capire dove sbaglio....

    l'index è questo:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>Invia e-mail</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    </head>

    <body>
    <h1>Invia e-mail</h1>
    <?php
    if(isset($_GET['err']))
    {
    ?>
    <p style="color: red;"><?php echo $_GET['err']; ?></p>
    <?php
    }
    elseif(isset($_GET['sent']))
    {
    ?>
    <p style="color: green;">Il messaggio &egrave; stato inviato con successo!</p>
    <?php
    }
    ?>
    <form action="send.php" method="post">
    <table cellspacing="10">
    <tr>
    <td><label>Nome:</label></td>
    <td><input type="text" name="name" /></td>
    </tr>
    <tr>
    <td><label>Cognome:</label></td>
    <td><input type="text" name="surname" /></td>
    </tr>
    <tr>
    <td><label>E-mail:</label></td>
    <td><input type="text" name="email" /></td>
    </tr>
    <tr>
    <td><label>Messaggio:</label></td>
    <td><textarea name="message" cols="50" rows="5"></textarea></td>
    </tr>
    <tr>
    <td><input type="submit" name="submit" value="Invia" /></td>
    <td><input type="reset" name="reset" value="Resetta" /></td>
    </tr>
    </table>
    </form>
    </body>
    </html>

    mentre il send è questo:

    <?php
    // specifica la tua email e l'oggetto del messaggio
    $your_email = 'xxx@xxx.it';
    $subject = 'Nuovo messaggio';

    // funzione per la visualizzazione degli errori
    function show_error($errtxt)
    {
    // creo la query per la pagina
    $query = array('err' => $errtxt);
    $query = http_build_query($query);

    // reindirizzo alla pagina
    header("Location: index.php?{$query}");

    // interrompo lo script
    exit();
    }

    // se il form è stato inviato
    if(isset($_POST['submit']))
    {
    // recupero i dati inviati
    $name = isset($_POST['name']) ? trim($_POST['name']) : '';
    $surname = isset($_POST['surname']) ? trim($_POST['surname']) : '';
    $email = isset($_POST['email']) ? trim($_POST['email']) : '';
    $message = isset($_POST['message']) ? trim($_POST['message']) : '';

    // controlla che i campi non siano vuoti
    if($name == '')
    show_error('Non hai inserito il tuo nome.');
    if($surname == '')
    show_error('Non hai inserito il tuo cognome.');
    if(!preg_match('/^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$/', $email))
    show_error('L\'e-mail che hai fornito non &egrave; valida.');
    if($message == '')
    show_error('Non hai inserito il tuo messaggio.');

    // crea il messaggio da inviare
    $msgtxt = "Un nuovo messaggio ti è stato inviato da un utente.\n";
    $msgtxt = "L'utente ha fornito queste informazioni:\n";
    $msgtxt = "---------------------------------------------------\n";
    $msgtxt = "Nome: $name\n";
    $msgtxt = "Cognome: $surname\n";
    $msgtxt = "E-mail: $email\n";
    $msgtxt = "---------------------------------------------------\n";
    $msgtxt = "$message\n";
    $msgtxt = "---------------------------------------------------\n";
    $msgtxt = "L'indirizzo IP dell'utente è {$_SERVER['REMOTE_ADDR']}.";

    // tenta di inviare il messaggio
    if(!mail($your_email, $subject, $msgtxt))
    show_error('Impossibile inviare il messaggio. Riprova pi&ugrave; tardi.');

    // visualizza il messaggio di avvenuto invio
    header('Location: index.php?sent=true');
    }
    // altrimenti
    {
    // reindirizza al file del form
    show_error('Non hai inviato i dati. Ritenta.');
    }
    ?>

    dove sbaglio????

    aiutatemi...mi invia l'email ma on mi invia niente.....

  2. #2
    Scusami, organizza le idee!?!

    "Ti invia l'email ma non l'invia", cioè?

    Ti dice che l'ha inviata, ed invece no?
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  3. #3
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    no al contrario....mi dice che i dati non sono stati inviati.....invece la posta mi arriva ma solo con l'indirizzo ip della persona che mi che mi scrive.....

    spero di essere stato chiaro

    help!!!! paul

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    70
    innanzitutto correggi questa:

    show_error('L'e-mail che hai fornito non è valida.');

    così:

    show_error("L'e-mail che hai fornito non è valida.");

    Secondo non unisci le parti della stringa $msgtxt,
    prova così:

    Codice PHP:
    $msgtxt "Un nuovo messaggio ti è stato inviato da un utente.\n";
    $msgtxt .= "L'utente ha fornito queste informazioni:\n";
    $msgtxt .= "---------------------------------------------------\n";
    $msgtxt .= "Nome: $name\n";
    $msgtxt .= "Cognome: $surname\n";
    $msgtxt .= "E-mail: $email\n";
    $msgtxt .= "---------------------------------------------------\n";
    $msgtxt .= "$message\n";
    $msgtxt .= "---------------------------------------------------\n";
    $msgtxt .= "L'indirizzo IP dell'utente è {$_SERVER['REMOTE_ADDR']}."

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    70
    alla fine sotto
    Codice PHP:
     // altrimenti 
    manca un else ?

  6. #6
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    ho risolto il problemino...grazie mille...ora vorrei mettere il form al centro della pagina....il "<p align"center"> dov lo dovrei metere???? non riesco a mettere il form al centro della pagina...

    aiutami...

    grazie mille paul.....

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.