Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Problema nella creazione di form di contatto in wordpress

    Ciao a tutti, come da titolo, sto avendo grosse difficoltà a far funzionare il mio form di contatto.

    Probabilmente per pura ignoranza sbaglio qualcosa di banale, spero possiate aiutarmi.

    Ho creato un form tradizionale con html e css.

    Poi ho scaricato, abilitato e testo il plugin WP mail SMTP. Il testo di invio ha dato esito positivo.

    Ora, da quanto ho capito, ci vuole una parte di code PHP per far funzionare il tutto.

    Ho così creato un codice "process-form.php", con il seguente contenuto:

    codice:
    <?php
    
    
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    
      // Recupera i dati dal form
      $name = $_POST['nome'];
      $surname = $_POST['cognome'];
      $email = $_POST['email'];
      $phone = $_POST['telefono'];
      $message = $_POST['messaggio'];
    
    
      // Imposta i destinatari dell'email
      $to = 'mia@email';
      $subject = 'Nuovo messaggio dal sito web';
    
    
      // Costruisce il corpo dell'email
      $body = "Nome: $name\n\nCognome: $surname\n\nEmail: $email\n\nTelefono: $phone\n\nMessaggio:\n$message";
    
    
      // Imposta l'intestazione dell'email
      $headers = "From: $email\r\n";
    
    
      // Invia l'email
      if(mail($to, $subject, $body, $headers)) {
        echo 'Email inviata con successo!';
      } else {
        echo 'Si è verificato un errore durante l\'invio dell\'email.';
      }
    
    
    }
    
    
    ?>
    Sopra la parte html ho inserito anche questo codice:

    codice:
    <?php  if ($_SERVER["REQUEST_METHOD"] == "POST") {
        require_once('process-form.php');
      }
    ?>
    Infine, nel codice html, richiamo il predetto file così:

    codice:
    <form action="process-form.php" method="post">
    Purtroppo non funziona.

    Ora, non ho capito se l'utilizzo del plugin dovrebbe rendere superflua la creazione del file php o se ho sbagliato qualcosa nella configurazione del suddetto file.

    Spero possiate aiutarmi, grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,501
    Non conosco il plugin in questione, quindi non so dirti come funziona.
    Per il resto, l'action richiama di per se un file php, quindi il require-once non dovrebbe essere necessario, devi assicurarti che nell'action ci sia il percorso corretto a dove si trova il file process-form.php

  3. #3
    Ti ringrazio per le delucidazioni!

    Il file php sta della stessa root di gli altri file di wordpress (index.php, page.php, single.php, ecc...).

    Non so come si rappresenta il percorso...forse con un semplice "/process-form.php"?

    In alternativa, il file contenuto del file richiamato non si potrebbe direttamente infilare nel codice senza un richiamo?

    Per il momento mi serve trovare un combinazione teoricamente funzionante, per fare un test di invio.

    Grazie!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,501
    Ma se usassi invece il plugin Contact Form 7, che ti permette di non dover scrivere codice?

  5. #5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Ma se usassi invece il plugin Contact Form 7, che ti permette di non dover scrivere codice?
    Mi sono impegnato a realizzare un tema tutto mio partendo da zero e scrivendo ogni riga di codice, cercando di ricorrere ai plugin solo in caso di stretta necessità, pertanto se possibile eviterei.

    Inoltre questi plugin, nella versione gratuita, mi sembra che non siano esteticamente personalizzabili inserendo codice proprio.

  6. #6
    Ciao, secondo me puoi inserire il codice del file process-form.php direttamente dove ti serve.
    se vuoi tenere file separati allora puoi usare require "process-form.php"; (senza /) purchè si trovi nella stessa dir del file in cui vuoi richiamarlo

    Hai letto questo? Secondo me ti aiuta: https://www.agenziawebeureka.it/come...contatto-html/

  7. #7
    Quote Originariamente inviata da Fabio66452 Visualizza il messaggio
    Ciao, secondo me puoi inserire il codice del file process-form.php direttamente dove ti serve.
    se vuoi tenere file separati allora puoi usare require "process-form.php"; (senza /) purchè si trovi nella stessa dir del file in cui vuoi richiamarlo

    Hai letto questo? Secondo me ti aiuta: https://www.agenziawebeureka.it/come...contatto-html/
    Grazie mille per il riscontro!

    Quella guida postula anche l’utilizzo di JS, che io non vorrei usare se non assolutamente necessario.

    Mi piacerebbe per il momento capire perché il mio codice non funziona oppure trovare una guida per realizzarne uno.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    191
    1) La funzione mail di php può non utilizzare SMTP
    2) Prima di WordPress, occorre aiuto al codice php, inoltre dal codice indica comunque un testo.. Tu vedi tale testo, se si quale?
    Altrimenti vedi come creare la funzione php per il file functions.php del tema child come menzionato da Fabio66452

  9. #9
    Abbi pazienza ma non ho capito quasi nulla di quello che hai scritto.

    Quote Originariamente inviata da darbula Visualizza il messaggio
    2) Prima di WordPress, occorre aiuto al codice php, inoltre dal codice indica comunque un testo.. Tu vedi tale testo, se si quale?
    Posso chiederti, in altre parole, cosa intendevi dire?

    Quote Originariamente inviata da darbula Visualizza il messaggio
    Altrimenti vedi come creare la funzione php per il file functions.php del tema child come menzionato da Fabio66452
    Ancora non capisco.
    Chi ha parlato di agire sul functions.php?
    Chi ha parlato di Child theme?

  10. #10
    Aggiornamento: ho provato ad inserire la parte php postata in apertura alla fine del mio file function.php.

    Finalmente l'invio delle email funziona! Succede però che mi arrivano continuamente ed in automatico email dal sito, con i campi di testo vuoti, come se il sito le inviasse in automatico periodicamente.

    Non ho idea del perché possa accadere!

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.