Visualizzazione risultati 1 fino 10 di 10

Discussione: Qualche domanda su un form in php

  1. #1
    Guest

    Predefinito Qualche domanda su un form in php

    Ciao a tutti,
    Dopo aver letto una scarnissima guida ai php (per capirci ne sapevo + prima quando non sapevo nulla ) ho una domandina:

    Io devo costruire un form che permetta all'utente di fare alcune scelte, inserire il testo al msg e poi inviarlo a un indirizzo predefinito. Io ho scaicato un file che si chiama mail.php e lo sto opportunamente modificando, ma come faccio a rendere alla variabile $a = $_POST['per'] un indirizzo già impostato da me SENZA POSSIBILITA DALL'UTENTE DI MODIFICARLO?

    io il collegamento alla variabile lo collego così:

    <p>E-mail destinatario:</p> <input type="text" name="per" class="input">

    Poi, ho un'altro problema: Agli utenti non deve apparire il client di posta, ma la mail si deve inviare da sola, quindi dovrei dedicare una casella di posta SMTP e configurare un file esterno? Se si come?

  2. #2
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    if($submit=='invia'){
    $mailsend = mail("$da", "$oggetto", "$messaggio", "From: $da\r\nRemply-To: $a");
    }
    $a = destinatario
    $da = mittente
    $oggetto =oggetto del messaggio
    $messaggio = messaggio da inviare
    ogni variabile la vuoi omettere dal Form e impostarla tu prima della funzione mail
    Se smetti di imparare e evolverti sei morto dentro

  3. #3
    Guest

    Predefinito

    Graie mak, ora modifico... ma dove devo mettere il codice che mi hai dato tu? Nella parte in php, d'accordo, ma dove stanno gli if ?

    E poi devo riservare e configurare un indirizzo di posta per permettere agli utenti di inviarmi messaggi tramite la pagina in php?

  4. #4
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    tu crei il forum ...
    alla fine inserisci
    <input type='submit' name='submit' value='invia'>
    l'if controlla se tu hai cliccato "invia" , se si esegue il comando, altrimenti no
    Se smetti di imparare e evolverti sei morto dentro

  5. #5
    Guest

    Predefinito

    Ok Grazie mille. E per il resto? Come configuro il file per permettere agli utenti di inviare?

  6. #6
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    Spedire mail


    Con Php è possibile spedire mail da una pagina web.
    Inizialmente si deve creare una pagina che chiameremo "master", completa di una FORM per l'invio dei dati, e di una pagina "slave" che riceve i dati e invia la mail.
    Per quanto riguarda la sintassi di una form, vi rimando a un qualsiasi tutorial html.
    La pagina "master" deve avere al suo interno un codice di questo tipo:

    <FORM ACTION="send.php" METHOD="POST">
    Nome e Cognome:<BR>
    <INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"><BR>
    Email:<BR>
    <INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30"><BR>
    Titolo:<BR>
    <INPUT TYPE="text" NAME="subject" SIZE="20" MAXLENGTH="30"><BR>
    Testo della mail:<BR>
    <INPUT TYPE="textarea" NAME="text" ROWS="10" COLS="60" MAXLENGTH="200"><BR>
    <INPUT TYPE="submit" VALUE="INVIA">
    </FORM>
    Nel file send.php (il nostro file "slave") sarà contenuto il seguente codice Php:

    <?
    if (isset($email)){
    # l'indirizzo email a cui inviare la mail oppure lo passi dal forum aggiungento il campo
    $target="info@sito.it";
    mail($target,$subject,"Nome: ".$nome."\nTitolo: ".$subject."\n\n".$text);
    }
    ?>
    da html.it
    http://freephp.html.it/guide/lezione.asp?id=10

    messaggio modificato
    Ultima modifica di makpaolo : 04-08-2004 alle ore 11.05.35
    Se smetti di imparare e evolverti sei morto dentro

  7. #7
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da makpaolo
    $a = destinatario
    $da = mittente
    $oggetto =oggetto del messaggio
    $messaggio = messaggio da inviare
    ogni variabile la vuoi omettere dal Form e impostarla tu prima della funzione mail
    Al posto di $da (che poi sarebbe $a, credo) non potrebbe fare così?

    Codice PHP:
    if($submit=='invia'){
    $mailsend = mail('xxx@altevista.org', $oggetto,$messaggio, "From: $da\r\nReply-To: $da");
    }
    Cambia l'indirizzo email al quale arriveranno le mail...

  8. #8
    Guest

    Predefinito

    E che valore do alle varabili $submit e $mailsend?

  9. #9
    Guest

    Predefinito

    Entrambe le variabili sono già assegnate senza il tuo intervento.

    La viariabile "submit" ti servirebbe con un valore ben preciso da controllare con un IF solamente se il form e il codice PHP per processarlo fossero nello stesso file. In tal caso all'apertura dovresti controllare:

    SE (submit è definito) {
    INVIA LA MAIL
    } ALTRIMENTI {
    Visualizza il form
    }

    Nel caso di due file separati, la variabile "submit" non ha alcuna importanza perchè nel momento in cui viene premuto il pulsante "INVIA" dall'utente si passa al modulo PHP che SENZ'ALTRO processa i dati ricevuti.

    La variabile $mailsend invece è dovuta al fatto che la funzione mail(...) restituisce un valore. Non è una funzione che "fa delle cose e basta" (si chiamano funzioni void? forse?), ma oltre a fare quelle cose restituisce un risultato che ci permette di capire se l'invio è andato a buon fine. In particolare la funzione restituisce un booleano. Dopo l'invio avrai:
    $mailsend = 1 significa che il messaggio è stato inviato con successo
    $mailsend = 0 significa che il messaggio non è stato inviato

    Spero di esser stato d'aiuto :D

  10. #10
    Guest

    Predefinito

    Certo bobo ^^ grazie mille

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •