Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    12

    formtomail ha smesso di inviare

    Da quando il server che ospita il sito ha avuto problemi che l'amministratore non mi ha rivelato (suppongo abbia fatto un cambio di hosting, il pannello di controllo è cmq cambiato), il file.php da sempre funzionante, non invia + i dati del form .

    Php è attivo sul sito e le prove che ho fatto di passaggio di dati tra due pagine php è avvenuto con successo, ma non vengono spedite l'email ridandomi il seguente massaggio
    "Il campo /spazio bianco/ è vuoto"
    non indica quale campo sia vuoto nonostante che la compilazione del form sia completa e corretta.

    Qualcuno mi può aiutare a capire la causa per porvi rimedio? premetto che non conosco php.

    Vi ringrazio moltissimo.

    <?

    $from="From: MyFormMail<mio_nome@hotmail.com>";

    $richiesti=explode(",",$requested);
    $nascosti=array("recipient","soggetto","requested" ,"redirect","ip");
    $count=count($richiesti);

    for($i=0;$i<$count;$i++)
    {
    $a=$richiesti[$i];
    if(trim($HTTP_POST_VARS[$a])=="")
    {
    $mess.="Il campo $a è vuoto
    ";
    }
    }

    if($mess) :
    echo "<table><tr><td style=\"font-family:verdana;font-size:10 pt\">
    Il form non è stato inviato per i seguenti errori:

    $mess
    </td></tr></table>";
    else :

    while(list($nome,$value)=each($HTTP_POST_VARS))
    {
    $campi[]=$nome;
    if(!in_array($nome, $nascosti))
    {
    $body.= "$nome: $value\n";
    }
    }

    $head="Modulo proveniente dal sito $HTTP_HOST\n\n\n";
    $giorno=date("d/m/y");
    $ora=date("H:i:s");
    $foot="\n\nModulo compilato il $giorno alle ore $ora";

    if (in_array ("ip", $campi))
    {
    $foot.=" dall'IP $REMOTE_ADDR";
    }

    $contenuto=$head.$body.$foot;
    mail($recipient,$soggetto,$contenuto, $from);
    if($redirect) :
    header("Location: $redirect");
    else :
    echo "Il form è stato inviato correttamente";
    endif;

    endif;

    ?>

  2. #2
    forse il suporto PHP è stato upgradato.
    Prova questo:

    Codice PHP:
    <?

    $from
    ="From: MyFormMail<mio_nome@hotmail.com>";

    $richiesti=explode(",",$requested);
    $nascosti=array("recipient","soggetto","requested","redirect","ip");
    $count=count($richiesti);

    for(
    $i=0;$i<$count;$i++)
    {
    $a=$richiesti[$i];
    if(
    trim($_POST[$a])=="")
    {
    $mess.="Il campo [b]$a[/b] è vuoto
    "
    ;
    }
    }

    if(
    $mess) :
    echo 
    "<table><tr><td style=\"font-family:verdana;font-size:10 pt\">
    [b]Il form non è stato inviato per i seguenti errori:[/b]

    $mess
    </td></tr></table>"
    ;
    else :

    while(list(
    $nome,$value)=each($_POST))
    {
    $campi[]=$nome;
    if(!
    in_array($nome$nascosti))
    {
    $body.= "$nome$value\n";
    }
    }

    $head="Modulo proveniente dal sito $_SERVER['HTTP_HOST']\n\n\n";
    $giorno=date("d/m/y");
    $ora=date("H:i:s");
    $foot="\n\nModulo compilato il $giorno alle ore $ora";

    if (
    in_array ("ip"$campi))
    {
    $foot.=" dall'IP $_SERVER['REMOTE_ADDR']";
    }

    $contenuto=$head.$body.$foot;
    mail($recipient,$soggetto,$contenuto$from);
    if(
    $redirect) :
    header("Location: $redirect");
    else :
    echo 
    "Il form è stato inviato correttamente";
    endif;

    endif;

    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    12
    Grazie Devil, ho provato il file ma purtroppo ancora non funziona e mi manda una pagina completamente bianca.

    Se il supporto PHP fosse stato upgradato, cosa determinerebbe? devo cambiare il codice php o il problema potrebbe essere dovuto alla non abilitazione del server ad inviare posta SMTP.
    grazie ancora

  4. #4
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Potrebbe essere successo che il server adesso richieda l'autenticazione delle email inviate tramite script, questo si traduce nella seguente modifica:


    Codice PHP:
    mail($recipient,$soggetto,$contenuto$from"-finfo@tuodominio.xx"); 
    dove l'indirizzo email "info@tuodominio.xx" dev'essere sostituito da un indirizzo realmente esistente su quel dominio ( solitamente info c'è sempre ).
    Prova e fammi sapere.
    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    12
    Grazie Razorblade,
    ho usato l'indirizzo email "info@miodominio.xx" esistente su mio dominio ma ancora non funzione e la risposta è sempre una pagina bianca con url http://www.miosito.it/formtomail.php.

    Potrei fare qualcosa accedendo al pannello di controllo del sito?

  6. #6
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ho notato che ti crei un array dalla variabile $requested

    Codice PHP:
    $richiesti=explode(",",$requested); 
    dove $requested immagino che sia un qualcosa che proviene dal form.
    E' possibile che sul tuo server abbiano disabilitato i register globals? In questo caso le variabili dal form le ricavi utilizzando l'array $_POST ( nel caso invii il form con richiesta post ),
    ad esempio $_POST["requested"].

    Aiuterebbe avere anche lo script del form.
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    12
    Si il form usa il metodo post e $requested richiede la compilazione di alcuni campi obbligatoria, scusa se mi esprimo in modo inesatto. Se necessario, mi puoi indicare come utilizzare l'array $_POST?


    Codice PHP:
      <body>
    <
    form name="riv" id="riv" method="post" action="formtomail.php">
      <
    table width="600" border="0" align="center" cellpadding="0" cellspacing="2" class="form">
       ....... 
    ..........
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader"><labelCognome </label></td>
          <
    td><input name="Cognome" type="text" id="Cognome3" size="40" />
          </
    td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader"><labelNome </label></td>
          <
    td><input name="Nome" type="text" id="Nome" size="40" />
          </
    td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader">Indirizzo e ncivico</td>
          <
    td><label>
            <
    input name="Indirizzo" type="text" id="Indirizzo" size="40" />
          </
    label></td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader">Citt&agrave;</td>
          <
    td><label>
            <
    input name="Citt&agrave;" type="text" id="Citt&agrave;" size="40" />
          </
    label></td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader">Prov.</td>
          <
    td><label>
            <
    select name="Provincia" id="Provincia">
              <
    option 
                              value
    ="nullo" selected="selected">- scegli -</option>
              <
    option 
                              value
    ="AG">Agrigento</option>
            
     .................
        
            </
    select>
          </
    label></td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader">Cap</td>
          <
    td><label>
            <
    input name="Cap" type="text" id="Cap" size="7" maxlength="5" />
          </
    label></td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader">Numero telefono </td>
          <
    td><label>
            <
    input name="Telefono" type="text" id="Telefono" size="25" />
            <
    span class="inattivo">(0522123456)</span> </label></td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td class="tableHeader">Indirizzo e-mail</td>
          <
    td><label>
            <
    input name="Email" type="text" id="Email" size="40" />
          </
    label></td>
          <
    td></td>
        </
    tr>
        <
    tr>
          <
    td></td>
          <
    td>[img]immagini/spacer.gif[/img]</td>
          <
    td><label>
            <
    input type="hidden" name="redirect" value="http://www.miodominio.it/grazie.html" />
            <
    input type="hidden" name="recipient" value="info@miodominio.it" />
            <
    input type="hidden" name="soggetto" value="soggetto email" />
            <
    input type="hidden" name="ip" value="" />
            <
    input type="hidden" name="requested" value="Cognome,Nome,Indirizzo,Citt&agrave;,Cap,Telefono,Email" />
            <
    input name="annulla" type="reset" class="btn" id="annulla" value="Annulla" />
            <
    input name="invia" type="submit" class="btn" id="invia3" value="ordina" />
          </
    label></td>
          <
    td></td>
        </
    tr>
      </
    table>
    </
    form>

    </
    body>
    </
    html

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    12
    Ora, inserendo il codice che mi hai indicato nel mio file iniziale,

    [PHP]$from="From: MyFormMail<mioIndirizzo@hotmail.com>";
    $richiesti=explode(",",$_POST["requested"]);
    ……..
    mail($recipient,$soggetto,$contenuto, $from, "info@miodominio.it");
    PHP]

    sembra che parzialmente funzioni poichè vengo indirizza ad una pag. con il seguente messaggio "il form è stato inviato correttamente", ma il messaggio non mi è ancora arrivato al mioIndirizzo@hotmail.com. Non so se al server abbiano disabilitato i register globals.
    Che ne pensi?

  9. #9
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Se inizia a funzionare allora si trattava di quello.
    I register global sul php.ini ora sono settati su off.
    Per ripristinare del tutto il tuo form devi modificare le variabili inviate dal form da $variabile a $_POST["variabile"], esattamente per come hai fatto con $requested.
    Fammi sapere.
    Ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    12
    ho modificato solo queste variabili alla riga 44, ma il risultato rimane invariato.

    Codice PHP:
    mail($_POST["recipient"],$_POST["soggetto"],$_POST["contenuto"], $_POST["from"], "info@fake.ltd"); 
    Devo rivedere anche altre variabili?
    Grazie ancora per l'assistenza.
    Ciao

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.