• User Attivo

    Allora, di seguito il codice del form:

    <h3>Newsletter</h3><form action="...(non mi fa inserire l'ulr in quanto non sono un utente premium)dominio.com/httpdocs/contact.php" method="post">
     <div>
    
    
      <div class="newsletter-email">
    
    
       <input type="text" class="text" name="email" placeholder="inserisci la tua e-mail*" required="" style="padding: 7px; border: 1px solid #DBDBDB; width: 75%; color: #aaa;" >
    
    
       <input type="submit" class="button" value="Invia" style="padding: 2%; border: 1px solid #DADADA; background: #F7F7F7; box-shadow: inset 0px 0px 9px rgba(0,0,0,0.07); color: #9D9D9D; text-shadow: 0 1px 0 #FFF; margin: 1% 0 0 0;">
    
    
      </div>
    
    
     </div>
    </form>
    

    Questo è invece è il codice su contact.php:

    <?php 
    
    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL 
    $to = "[email protected]"; 
    
    
    // COSTRUIAMO IL CORPO DEL MESSAGGIO 
    $body .= "Email: " . trim(stripslashes($_POST["email"])) . "\n"; 
    
    
    // IL SOGGETTO DELLA MAIL 
    $subject = "Contatto sito"; 
    
    
    // INTESTAZIONI SUPPLEMENTARI 
    $headers = "From: Modulo utenti<[email protected]>"; 
    
    
    // INVIO DELLA MAIL 
    if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO È ANDATO A BUON FINE... 
    
    
    echo "Messaggio inviato con successo!"; 
    
    
    } else {// ALTRIMENTI... 
    
    
    echo "Si sono verificati dei problemi nell'invio del messaggio."; 
    
    
    } 
    
    
    ?>
    
    
    
    

    Sul sito ho installato anche RSForm.
    Ti ringrazio in anticipo per l'aiuto che mi stai dando :smile5:


  • Moderatore

    Prova a riscrivere l'url in form action, bisogna capire se ci arriva a leggere il php o si ferma prima. Potrebbe essere errato il percorso assoluto con "httpdocs": prova assoluto senza httpdocs oppure relativo.


  • User Attivo

    In qualsiasi posizione metto contact.php (sia dentro httpdocs o fuori, nella root) l'errore è sempre lo stesso: errore 500. Purtroppo non essendo un utente premium non so come inserire un link sul forum, chiedo scusa.


  • Moderatore

    Ciao eleumas,
    non c'è problema. 🙂 Quando senti la necessità di inserire un link non promozionale e funzionale all'argomento (come in questo caso), puoi metterlo inattivo, cioè così:

    miodominio.com / cartella / file.estensione

    Quello che ti chiedevo è di verificare il percorso del file contact.php, e questo significa sia controllare dove fisicamente metti il file (cioè quale sia il percorso), sia inserire correttamente questo percorso in form action.

    Non mi hai detto dove hai inserito il codice html sul sito Joomla: articolo, modulo, file? Nei primi due casi sei sicuro che non venga filtrato?

    Aggiornami, nel caso faccio una prova su un mio sito. 😉

    Francesco


  • User Attivo

    Ok, ti ringrazio sei stato gentilissimo! Il codice è scritto su un modulo HTML personalizzato in joomla 2.5.16 e non credo venga filtrato. Ovviamente quando cambio posto al file contact.php correggo il percorso anche in form action. Se potessi fare una prova mi faresti una cortesia infinita, quanto meno per capire se è il file php o qualche impostazione di joomla. Se riuscissi a farlo funzionare sarebbe fantastico! :tongueout: Grazie.

    PS: il codice php non l'ho scritto io, l'ho trovato online e come ti dicevo a me ha sempre funzionato sui siti non costruiti in joomla. Attualmente il file si trova in textilemachinerytrade.com / contact.php


  • Moderatore

    Ok, appena posso la faccio e ci aggiorniamo. 😉


  • User Attivo

    Grazie mille! :wink3:


  • Moderatore

    Ciao eleumas,
    ti confermo che a me funziona. Ho messo il file contact.php nella root (dove l'hai messo anche tu) e l'ho richiamato con il percorso relativo, cioè:

    
    <form action="/contact.php" method="post">
    <div>
    <div class="newsletter-email"><input class="text" style="padding: 7px; border: 1px solid #DBDBDB; width: 75%; color: #aaa;" type="text" name="email" /> <input class="button" style="padding: 2%; border: 1px solid #DADADA; background: #F7F7F7; box-shadow: inset 0px 0px 9px rgba(0,0,0,0.07); color: #9d9d9d; text-shadow: 0 1px 0 #FFF; margin: 1% 0 0 0;" type="submit" value="Invia" /></div>
    </div>
    </form>
    
    

    Se a te non va potresti avere un problema sul php, ma mi sembra strano. Puoi provare inserendo il tuo html in un file qualunque con estensione .html che poi andrai a mettere nella root. In questo modo puoi separare il problema del form da Joomla.

    Tienici aggiornati,
    Francesco


  • User Attivo

    Ti ringrazio per aver provato e avermi confermato che tutto funziona. L'unico dubbio che mi viene a questo punto è che lui veda la cartella httpdocs come root. Altrimenti potrebbe essere qualche impostazione del server che blocca qualcosa? E in Joomla c'è qualche impostazione che potrebbe bloccare una chiamata a un foglio php?


  • Moderatore

    Ciao eleumas,
    di solito httpdocs non si inserisce nel percorso, quindi se hai qualcosa/httpdocs/contact.php hai praticamente messo il file contact.php dove c'è l'index.php di Joomla; in questo caso puoi chiamare il file semplicemente con /contact.php.

    L'istruzione form action è html e non dovrebbero esserci problemi. Bloccare l'esecuzione di uno script php? Quello è un file php come un altro, non credo. Per toglierti questo dubbio prova a fare come ti ho detto: inserisci l'html del form in una pagina con estensione html (ad esempio pagina.html) e richiamala dal browser (tuodominio.com/pagina.html), ovviamente collegando nel form action il contact.php.


  • User Attivo

    Ciao, finalmente ho risolto e anche a me funziona! La cartella httpdocs non viene considerata (come dicevi tu) nel percorso, quindi basta mettere il foglio php dentro la cartella e dargli soltanto /foglio.php Grazie mille per avermi aiutato!