Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    Problema assurdo nell'inviare una mail con PHP

    Ciao,
    se andate a questo indirizzo e provate a mandare una mail noterete che midà un problema assurdo: http://www.andreamontepaone.com/contact.html

    Sostanzialmente dopo aver compilato il form quando si preme il tasto invia, dice di scaricare il file send.php e di aprirlo con dreamweaver sul mio pc invece di essere elaborato e di inviare la mail correttamente...da cosa può dipendere questa assurdità?

    Grazie
    Andrea

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    Sicuramente la pagina che processa il form dato che l'errore lo da anche se non compili i campi

    prova a postare il codice, comunque penso sia una cosa daniente

  3. #3
    Ti avverto che peraltro, se si scarica il file si può anche vedere sia il tuo indirizzo email, sia tutto il codice.
    Fortnatamente, non ci sono dati sensibili tipo connessioni al DB o simili.

    Secondo me, però, lo spazio web che ospita il tuo sito non ha la possibilità di processare codice PHP, per questo motivo ti viene spedita la pagina: il server non lo processa per cui per lui è come se inviassi un file (di estesione sconosciuta - per lui) da scaricare!
    Informati tramite il tuo hoster, ma vedrai che è come dico io!

    Ci sono comuque tutta una serie di problemi (e non parlo di quelli CSS e di codice ridondante che usando l'XHTML come doctype dovresti evitare).

    Parto dalla form.
    Usa il POST invece del metodo GET e metti l'enctype oppure rischi che il server si perda delle variabili.
    codice:
    <form method="POST" action="send.php" enctype="multipart/form-data">
    .

    Nella pagina send.php invece, dovresti recuperare le variabili come di seguito.
    Codice PHP:
    <?php
    $mittente 
    $_POST['nomemittente'];
    $emailmittente $_POST['emailmittente'];
    $oggetto $_POST['oggetto'];
    $testo $_POST['corpomesaggio'];
    $destinatario "destinatario@hoster.tld"// la tua email insomma

    mail($destinatario$oggetto$testo);
    ?>
    Non è presente neanche un minimo di filtraggio degli input, per cui lo script è preda di qualsiasi tipo di hacking, però così dovrebbe funzionare.
    Rimango però dell'opinione che il tuo server non ha l'interprete PHP.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    non è tanto assurdo.

    Se l'hosting non ti fornisce php (penso proprio che alcio abbia ragione) è chiaro che il file non può essere eseguito quindi ti propone di scaricarlo.

    prova a lanciare questo:

    Codice PHP:
    <?php
    phpinfo
    ();
    ?>
    Se hai lo stesso effetto non c'è dubbio
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    A mente fresca, ho riletto il codice di send.php e forse ho capito dove sta la magagna: hai usato gli short-open-tags e forse le impostazioni del php.ini dell'hoster non lo permettono.

    Quindi, ad inizio pagina usa la sintassi <?php in luogo di <?.

    Insomma, usa il codice esatto che ti ho mandato nel precedente post.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.