Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problemino con php

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    34

    Problemino con php

    Ciao a tutti, allora premetto che non so usare il php ed ho cominciato da pochissimo a fare siti.
    Il problema è questo, ho fatto una pagina web in html con un form per invio informazioni, questa pagina l'ho legata ad uno script php. Lo script funziona nel senso che non appena nel form premo il pulsante invio nella mia mail arriva il messaggio l'unico problema è che quando premo il pulsante mi va in una nuova pagina con la scritta (se tutti i campi sono stati inseriti correttamente)e-mail inviata con successo. Come si fà a rimanere nella stessa pagina html del form visualizzando solo un msg che ti dice per esempio che l'email è stata inviata con successo?spero di essere stato chiaro posto anche lo script

    <?php
    $receiverMail = "miamail@miamail.com";

    $nome = ltrim(rtrim(strip_tags(stripslashes($_POST['nome']))));
    $cognome = ltrim(rtrim(strip_tags(stripslashes($_POST['cognome']))));
    $indirizzo = ltrim(rtrim(strip_tags(stripslashes($_POST['indirizzo']))));
    $cap = ltrim(rtrim(strip_tags(stripslashes($_POST['cap']))));
    $citta = ltrim(rtrim(strip_tags(stripslashes($_POST['citta']))));
    $prov = ltrim(rtrim(strip_tags(stripslashes($_POST['prov']))));
    $telefono = ltrim(rtrim(strip_tags(stripslashes($_POST['telefono']))));
    $Fax = ltrim(rtrim(strip_tags(stripslashes($_POST['fax']))));
    $email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
    $oggetto = ltrim(rtrim(strip_tags(stripslashes($_POST['oggetto']))));
    $info = ltrim(rtrim(strip_tags($_POST['info'])));

    $ip = getenv("REMOTE_ADDR");
    $msgformat = "DA: $nome $cognome($ip)\nEmail: $email\nCittà: $citta\nProvincia: $prov\nCap: $cap\nTelefono: $telefono\nFax: $fax\nMessaggio: $info";

    // VALIDATION
    if(empty($nome) || empty($cognome) ||empty($oggetto) ||empty($email) ||empty($indirizzo) ||empty($citta) ||empty($prov) ||empty($cap) ||empty($telefono) ||empty($info)) {
    echo "<h3>L'E-mail non e' stata inviata</h3>

    Per favore riempi tutti i campi richiesti</p>";
    }
    elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
    echo "<h3>L'E-mail non e' stata inviata</h3>

    L'indirizzo digitato potrebbe essere non corretto</p>";
    }
    else {
    mail($receiverMail, $oggetto, $msgformat, "From: $nome $cognome <$email>");
    echo "<h3>L'E-mail e' stata inviata con successo</h3>

    Risponderemo il prima possibile, grazie per averci contattato!</p>"; }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    puoi far puntare il form (attributo ACTION) allo stesso script dov'è il form stesso: bisogna aggiungere un controllo (IF) che verifica se mostrare il form "vuoto" o se si sta arrivando dall'invio... ovviamente ci sarà comunque il refresh della pagina... se invece vuoi evitare questo (come potrebbe trasprarire dalla tua richiesta) la cosa è più complicata, perchè dovresti usare JavaScript+PHP in maniera asincrona (AJAX)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    34
    Grazie per la risposta va benissimo la soluzione più semplice,c'è solo un piccolo problema, non credo di saperlo fare. Il file php con lo script che ho postato è un file a parte e il form sta nella pagina html del sito,nel form ho messo il comando action che punta al file invio.php. Devo cambiare questo puntatore?

  4. #4
    Se il form è inserito in una pagina html, dovrai convertire la suddetta pagina in PHP e poi inserire dentro un if lo script per l'invio dell'email.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    34
    ok ci provo anche se devo ancora capire cosa scrivere dentro il nuovo ciclo if...grazie per i consigli!

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.