Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Un form che non funziona

    Premessa: capisco di php quel poco che mi consente di installare qualche script che trovo preconfezionato.
    Avevo quindi predisposto un modulo per l'invio di dati che funzionava perfettamente.
    Senza che io abbia apportato alcuna modifica da quando ho cambiato hosting ha smesso di funzionare. Per quanto vengano inseriti tutti i dati richiesti obbligatoriamente contunua ad apparire il messaggio che invita a compilare i campi. Credo che si tratti di diversa versione di php.
    Ma non saprei dove mettere le mani. Il form manda i dati col metodo post a questo script:
    //////////////////////////////////////////////////////////////
    // //
    // Gm Form Mail by Giancarlo Moschitta - giancarlo@myphp.it //
    // //
    //////////////////////////////////////////////////////////////

    $from="From: Dal sito<edizioni@altradefinizione.it>";

    $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 $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


    Premi il tasto indietro del tuo Browser per tornare al modulo.
    </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 $_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;

    ?>

    Grazie se qualcuno mi aiuta!
    L'attesa del piacere... è essa stessa piacere!
    www.tonicopi.it ma mi trovi anche in Joomla: tutorial e guide

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    da premettere che io nn utilizzerei mai questo script, è troppo macchinoso.
    Cmq prova così:
    Codice PHP:
    <?php
    $from
    ="From: Dal sito<edizioni@altradefinizione.it>";


    $nascosti=array($_POST["recipient"],$_POST["soggetto"],$_POST["requested"],$_POST["redirect"],$_POST["ip"]);
    $richiesti=explode(",",$nascosti);
    $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


    Premi il tasto indietro del tuo Browser per tornare al modulo.
    </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 $_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";
    }
    ?>

  3. #3
    Grazie per l'aiuto. Ho sostituito il mio file con il tuo ma adesso mi dà questo errore:
    Parse error: syntax error, unexpected $end in /home/mhd-01/www.altradefinizione.it/htdocs/edizioni/formtomail.php on line 53
    che trovo persino strano perchè nela linea 53 non c'è altro che il tag di chiusura di php.
    L'attesa del piacere... è essa stessa piacere!
    www.tonicopi.it ma mi trovi anche in Joomla: tutorial e guide

  4. #4
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    devi aggiungere una parentisi graffa } prima dei tag di chiusura.

  5. #5
    Niente da fare solito messaggio:
    Il form non è stato inviato per i seguenti errori:

    Il campo Array è vuoto


    Premi il tasto indietro del tuo Browser per tornare al modulo.

    Guarda che se ti è più semplice mi puoi indicare un form meno complesso.
    Secondo me ha smesso di funzionare per una diversa versione di php che ci sarà nel nuovo hosting.
    L'attesa del piacere... è essa stessa piacere!
    www.tonicopi.it ma mi trovi anche in Joomla: tutorial e guide

  6. #6
    up
    L'attesa del piacere... è essa stessa piacere!
    www.tonicopi.it ma mi trovi anche in Joomla: tutorial e guide

  7. #7
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    ciao sono sempre io:

    potresti scrivere il codice completo della form?

  8. #8
    Ciao Mario! Con vero piacere!
    Stavo giusto cercando qui un altro form da provare.
    Ti faccio presente che su consultingweb questo form va tuttora mentre su tophost no.
    Il form ha smesso di funzionare senza aver apportato alcuna modifica solo dopo aver cambiato hosting.
    Secondo me deve essere un cazzatina di sintassi...
    Ecco il codice:
    FORM
    <form action="formtomail.php" method="post">
    <p align="left" class="corpohome">Il Costo del corso, iva esclusa,
    &egrave; di &euro; 250. Nel prezzo &egrave; inclusa una valigetta di strumenti logopedici necessari per lo svolgimento pratico del corso, che verr&agrave; consegnata
    a tutti i partecipanti. </p>
    <p align="left" class="corpohome">Estremi per effettuare il
    bonifico: Abi 05018 Cab 12100 Cin M C/c n&deg; 0000101285
    intestato ad Altra Definizione scarl - presso Banca Etica
    Corso S. Felice 220 - 36100 Vicenza. </p>
    <p align="left" class="corpohome">Per iscriverti al corso puoi
    compilare questo modulo on-line oppure scaricarlo e spedirlo
    via fax.</p>
    <table width="400" align="center" bgcolor="#CCCCCC">
    <tr>
    <td colspan="2"><label class="corpohome">Cognome</label>
    </td>
    <td width="209"><input name="cognome" type="text" id="cognome"></td>
    <td width="1"></td>
    </tr>
    <tr>
    <td colspan="2"><label class="corpohome">Nome</label> </td>
    <td>


    <input name="nome" type="text" id="nome3">
    </p></td>
    <td rowspan="5"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome">Indirizzo</td>
    <td><input name="indirizzo" type="text" id="indirizzo"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome">Codice Avv. Post.</td>
    <td><input name="CAP" type="text" id="CAP"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome">Comune</td>
    <td><input name="comune" type="text" id="comune"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome">Provincia</td>
    <td><input name="provincia" type="text" id="provincia"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome"> E-mail</td>
    <td>


    <input name="email" type="text" id="email" size="30">
    </p></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome">Telefono</td>
    <td class="corpohome"><input name="telefono" type="text" id="telefono"></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="2"> <label class="corpohome">C.F. o partita
    IVA</label> <label> </label></td>
    <td><input name="cf" type="text" id="cf"></td>
    <td rowspan="5"></td>
    </tr>
    <tr>
    <td colspan="3"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome">Data del bonifico</td>
    <td><input name="databonifico" type="text" id="databonifico"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome"> <nobr>Importo del bonifico
    &euro;</nobr></td>
    <td><input name="Euro" type="text" id="Euro"></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome">Banca</td>
    <td><input name="Banca" type="text" id="Banca" size="30"></td>
    </tr>
    <tr>
    <td colspan="3"></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="2" class="corpohome"></td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="4"></td>
    </tr>
    <tr>
    <td colspan="2"> <label class="corpohome">Eventuali altre

    comunicazioni</label> </td>
    <td><textarea name="comunicazioni" cols="35" rows="4" id="textarea">
    </textarea></td>
    <td></td>
    </tr>
    <tr>
    <td width="145"></td>
    <td width="25"></td>
    <td> <input type=hidden name=redirect value="http://www.altradefinizione.it/CORSI/esatto.htm">
    <input type=hidden name=recipient value="edizioni@altradefinizione.it">
    <input type=hidden name=soggetto value="iscrizione corso">
    <input type=hidden name=ip value=""> <input type=hidden name=requested value="cognome,nome,indirizzo,CAP,comune,provincia ,cf,databonifico,Euro,Banca">
    <input type="submit" name="Submit" value="Invia"></td>
    <td> </td>
    </tr>
    </table>
    </form>

    Script php

    <?

    //////////////////////////////////////////////////////////////
    // //
    // Gm Form Mail by Giancarlo Moschitta - giancarlo@myphp.it //
    // //
    //////////////////////////////////////////////////////////////

    $from="From: Dal sito<edizioni@altradefinizione.it>";

    $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


    Premi il tasto indietro del tuo Browser per tornare al modulo.
    </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;

    ?>
    L'attesa del piacere... è essa stessa piacere!
    www.tonicopi.it ma mi trovi anche in Joomla: tutorial e guide

  9. #9
    Mario, se ti può essere di aiuto l'assistenza di tophost mi dice questo:

    Vostra richiesta:
    Ho da poco trasferito il mio sito presso di voi.
    Ho scoperto però che il modulo che utilizzavo in questa pagina:
    http://www.altradefinizione.it/edizioni/acquisto.htm
    e che nel provider precedente funzionava, non funziona più. Mi sapete aiutare?
    Grazie

    Risposta del tecnico del Supporto di Primo Livello:
    Salve,
    la ringraziamo per averci contattato.

    Il modulo indicato non è compatibile con la direttiva register_globals=off (http://it.php.net/register_globals)

    Le consigliamo di sistemare lo script in modo da utilizzare correttamente le variabili globali.

    Le auguriamo buona giornata
    L'attesa del piacere... è essa stessa piacere!
    www.tonicopi.it ma mi trovi anche in Joomla: tutorial e guide

  10. #10
    Risolto!

    Dal pannello di controllo ho impostato php 5 e spuntato l'opzione register_globals=on
    Forse potrebbero sorgere problemi di sicurezza ma intanto il form ha ripreso a funzionare!

    Grazie a Mario per l'interessamento.

    L'attesa del piacere... è essa stessa piacere!
    www.tonicopi.it ma mi trovi anche in Joomla: tutorial e guide

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 © 2024 vBulletin Solutions, Inc. All rights reserved.