Visualizzazione risultati 1 fino 15 di 15

Discussione: Invio Tramite FormMail titolo post

  1. #1
    Guest

    Question Invio Tramite FormMail titolo post

    Ciao gente , ho un problema ,ho fatto una cretinata da fesso , vi spiego non capisco niente di php, ma non ostante ciò trafficando un po' ho modificato una Formail per le mie esigenze , cioè l'invio di una segnalazione da parte degli utenti, l'invio funziona benissimo ma !!! con un piccolo dettaglio manca il titolo dell post , quindi quando mi arriva la segnalazione io no so assolutamente quale articolo andare a correggere, dovrei recuperare il titolo tramite PHP .
    Codice PHP:
    <h1 class="entry-title"><?php the_title(); ?></h1>
    Come Faccio ? grazie per la votra utile conocenza e saggezza
    Codice PHP:
    <?php
    // Recupero il valore dei campi del form
    if(!isset($_POST['subject'], $_POST['messaggio']))
    die(
    'non hai settato tutti i parametri');

    $destinatario = 'xxxxxxx@xxx.com';
    $mittente = $_POST['xxxx@xxxx.it'];
    $oggetto = $_POST['oggetto'];
    $messaggio = 'subject: '.$_POST['subject']."\nMessaggio: ".$_POST['messaggio'];

    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];

    // Creo 2 variabili che riempirò più avanti...
    $headers = "From: " . $mittente;
    $msg = "";

    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
    // Apro e leggo il file allegato
    $file = fopen($allegato,'rb');
    $data = fread($file, filesize($allegato));
    fclose($file);

    // Adatto il file al formato MIME base64 usando base64_encode
    $data = chunk_split(base64_encode($data));

    // Genero il "separatore"
    // Serve per dividere, appunto, le varie parti del messaggio.
    // Nel nostro caso separerà la parte testuale dall'allegato
    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    // Aggiungo le intestazioni necessarie per l'allegato
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"{$mime_boundary}\"";

    // Definisco il tipo di messaggio (MIME/multi-part)
    $msg .= "This is a multi-part message in MIME format.\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Questa è la parte "testuale" del messaggio
    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
    $msg .= $messaggio . "\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Aggiungo l'allegato al messaggio
    $msg .= "Content-Disposition: attachment;\n";
    $msg .= " filename=\"{$allegato_name}\"\n";
    $msg .= "Content-Transfer-Encoding: base64\n\n";
    $msg .= $data . "\n\n";

    // chiudo con il separatore
    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
    $msg = $messaggio;
    }

    // Invio la mail
    if (mail($destinatario, $oggetto, $msg, $headers))
    {
    echo
    "<p>Segnalazione inviata con successo, Grazie per il tuo aiuto!</p>";
    }else{
    echo
    "<p>Errore!</p>";
    }
    ?>
    Ultima modifica di bubblesstreaming : 14-08-2013 alle ore 10.30.36

  2. #2
    Guest

    Predefinito

    Se vuoi aggiungere il titolo basta sostituire
    Codice PHP:
    $messaggio = 'subject: '.$_POST['subject']."\nMessaggio: ".$_POST['messaggio'];
    con
    Codice PHP:
    $messaggio = 'subject: '.$_POST['subject']."\nTitolo:".the_title()."\nMessaggio: ".$_POST['messaggio'];
    Inoltre
    Codice PHP:
    $mittente = $_POST['mittente@hotmail.it'];
    non dovrebbe essere
    Codice PHP:
    $mittente = $_POST['mittente'];
    o hai proprio chiamato il campo nel form "mittente@hotmail.it"?

  3. #3
    Guest

    Predefinito

    Il campo mittente ho inserto una mail fissa in modo che non sia l'utente a inserirla, per il titolo non intendo il titolo del from ma del'articolo , il campo subject lo sto utilizzando per un <select action="">, (sempre se non ho detto sciocchezze) forse mettendo html si capisce
    Codice HTML:
    <form action="http://bubblesstreaming.altervista.org/formmailx1php.php" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="destinatario" value="xxxxxx@xxxx.com">
    <table border="0">
    <tr>
      <td>Seleziona il Problema:</td>
      <td>  <select action="ìì"type="text" name="subject" id="grafica">
       <option value="Film rimosso" selected="selected">Film Rimosso o Assente </option>
       <option value="Audio fuori sincrono">Audio Fuori Sincrono </option>
       <option value="Film non corrispondente con il titolo ">Film non corrispondente con il titolo </option>
       <option value="Link alternati non funzionati ">Link alternati non funzionati </option>
       <option value="Bottone Trailer/Film guasto ">Bottone Trailer/Film guasto</option>
       <option value="Altro ">Altro</option>
    </select></td>
    </tr>
    <tr>
      <td colspan="2"align="Left">Messaggio:<br>
      <textarea cols="80" rows="2" name="messaggio"></textarea></p></td>
    <tr>
      <td colspan="2"align="right"><input type="submit" value="Invia Segnalazione" /></td>
    </tr>
    </table>
    </form>
    Ultima modifica di bubblesstreaming : 14-08-2013 alle ore 10.31.12

  4. #4
    Guest

    Predefinito

    ho provato con il tuo suggerimento ma da errore

  5. #5
    Guest

    Predefinito

    Il campo mittente ho inserto una mail fissa
    Allora dovresti mettere
    Codice PHP:
    $mittente = 'mittente@hotmail.it';
    per il titolo non intendo il titolo del from ma del'articolo
    E come lo prendi? Non con la funzione the_title()?
    ho provato con il tuo suggerimento ma da errore
    Sì, quale? Cosa dice?

  6. #6
    Guest

    Predefinito

    Grazie lo stesso ho risolto in un altro modo aggiungendo il titolo <?php the_title(); ?> nella texarea

  7. #7
    Guest

    Predefinito

    Ok, ma così possono cancellarlo...

  8. #8
    Guest

    Predefinito

    è vero , però ho specificato di aggiungere un commento facoltativo dopo il titolo , confido nell'intelligenza degli utenti , speriamo bene !

  9. #9
    Guest

    Predefinito

    Secondo me, è scomodo per gli utenti e rischioso per te, mentre inserirlo direttamente nella mail non solo è meglio, ma è anche più logico.
    Comunque fa' come credi e buona fortuna col tuo sito.

  10. #10
    Guest

    Predefinito

    Se proprio vuoi fare così (che non mi convince, ma vabeh), almeno inseriscilo in un campo input text nascosto...

  11. #11
    Guest

    Predefinito

    Grazie ragazzi , e ricambio il buona fortuna a entrambe, però forse non mi sono spiegato, vorrei fare come dite voi solo che non so assolutamente come si fa, non conosco il php

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Citazione Originalmente inviato da bubblesstreaming Visualizza messaggio
    ho provato con il tuo suggerimento ma da errore
    Che errore da? Cosa dice?

    la funzione the_title() cosa fa? Come è dichiarata? Cosa contiene?

    Ciao!

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da bubblesstreaming Visualizza messaggio
    Grazie ragazzi , e ricambio il buona fortuna a entrambe, però forse non mi sono spiegato, vorrei fare come dite voi solo che non so assolutamente come si fa, non conosco il php
    Questo non è assolutamente vero. Io ti stavo aiutando, ma quando ti ho chiesto che errore ti dava mi hai risposto
    Grazie lo stesso ho risolto in un altro modo aggiungendo il titolo <?php the_title(); ?> nella texarea
    Questo significa che volevi fare come volevi tu, non come dicevamo noi. E il fatto che non conosci il PHP era ovvio, altrimenti non avresti aperto questo topic (anche perché ciò che chiedi non è difficile da fare).

  14. #14
    Guest

    Predefinito

    Fai un input così:

    Codice HTML:
    <input type="text" name="nomePost" value="<?php the_title(); ?>" style="display:none" />
    Lo metti in mezzo agli altri input del form.

    Da php ottieni il valore con $_GET['nomePost'] o $_POST['nomePost'] a seconda di quale metodo hai scelto.

  15. #15
    Guest

    Predefinito

    chiedo venia volevo semplificarmi la vita, ma quando ci avete ragione avete ragione, posterò quello che mi chiedete , scusatemi e ancora grazie per la vostra disponibilità, solidarietà per chi sta' sul forum in pieno ferragosto ahah :)

Regole di scrittura

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