Visualizzazione risultati 1 fino 13 di 13

Discussione: Form Contact Non funzionante

  1. #1
    takethisportfolio non  connesso Utente AlterBlog
    Data registrazione
    25-04-2016
    Messaggi
    7

    Predefinito Form Contact Non funzionante

    Salve, ho disegnato un sito con adobe muse, premetto quindi che di codice non ne so praticamente nulla, e il form dei contatti non funziona con altervista. Lo stesso muse, quando va a pubblicare il sito, mi avverte della cosa e nel codice (php) mi inserisce il seguente commento:
    Codice PHP:
    /*     
    If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
    Contact your hosting provider regarding PHP configuration for your site.

    PHP file generated by Adobe Muse CC 2015.1.2.344
    */ 
    Genera inoltre tre file php form-u944.php , form_check.php , form_process.php associati al form contatti.
    Potete gentilmente aiutarmi e correggere il problema?
    Avete bisogno del codice dei tre file php? La pagina contatti la seguente: http://takethisportfolio.altervista.org/contact.html

    PS Oltre ad aver controllato la posta nello spam ed eventuali ritardi di ricezione, ho testato l'invio delle email dal mio spazio web con il seguente script e tutto funziona correttamente:
    Codice PHP:
    <?php
    if(mail('miaemail@gmail.com','oggetto','messaggio','From: takethisportfolio@altervista.org'))
    echo 
    'email inviata correttamente';
    else echo 
    'Errore!';
    ?>
    Ringrazio anticipatamente :)

  2. #2
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,605

    Predefinito

    Riporta qua il contenuto dei tre file PHP.

  3. #3
    takethisportfolio non  connesso Utente AlterBlog
    Data registrazione
    25-04-2016
    Messaggi
    7

    Predefinito

    Eccoli :)
    1) form-u944.php
    Codice PHP:
    <?php 
    /*     
    If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
    Contact your hosting provider regarding PHP configuration for your site.

    PHP file generated by Adobe Muse CC 2015.1.2.344
    */

    require_once('recaptchalib.php');
    require_once(
    'form_process.php');

    $form = array(
        
    'subject' => 'Invio di Contact',
        
    'heading' => 'Nuovo invio del modulo',
        
    'success_redirect' => '',
        
    'resources' => array(
            
    'checkbox_checked' => 'Selezionato',
            
    'checkbox_unchecked' => 'Non selezionato',
            
    'submitted_from' => 'Modulo inviato dal sito Web: %s',
            
    'submitted_by' => 'Indirizzo IP del visitatore: %s',
            
    'too_many_submissions' => 'Troppi invii recenti da questo IP',
            
    'failed_to_send_email' => 'Invio e-mail non riuscito',
            
    'invalid_reCAPTCHA_private_key' => 'Chiave privata reCAPTCHA non valida.',
            
    'invalid_field_type' => 'Tipo di campo "%s" sconosciuto.',
            
    'invalid_form_config' => 'Il campo "%s" ha una configurazione non valida.',
            
    'unknown_method' => 'Metodo di richiesta server sconosciuto'
        
    ),
        
    'email' => array(
            
    'from' => 'takethisportfolio@altervista.org',
            
    'to' => 'miamail@alice.it'
        
    ),
        
    'recaptcha' => array(
            
    'private_key' => '----'
        
    ),
        
    'fields' => array(
            
    'custom_U957' => array(
                
    'order' => 1,
                
    'type' => 'string',
                
    'label' => 'who u think you are',
                
    'required' => true,
                
    'errors' => array(
                    
    'required' => 'Il campo \'who u think you are\'  obbligatorio.'
                
    )
            ),
            
    'Email' => array(
                
    'order' => 2,
                
    'type' => 'email',
                
    'label' => 'E-mail',
                
    'required' => true,
                
    'errors' => array(
                    
    'required' => 'Il campo \'E-mail\'  obbligatorio.',
                    
    'format' => 'L\'e-mail del campo "E-mail" non  valido.'
                
    )
            ),
            
    'custom_U948' => array(
                
    'order' => 3,
                
    'type' => 'string',
                
    'label' => 'Messaggio',
                
    'required' => true,
                
    'errors' => array(
                    
    'required' => 'Il campo \'Messaggio\'  obbligatorio.'
                
    )
            ),
            
    'recaptcha_response_field' => array(
                
    'order' => 4,
                
    'type' => 'recaptcha',
                
    'label' => 'Verifica con immagine',
                
    'required' => true,
                
    'errors' => array(
                    
    'required' => 'Il campo \'Verifica con immagine\'  obbligatorio.',
                    
    'format' => 'Valore reCAPTCHA errato.'
                
    )
            )
        )
    );

    process_form($form);
    ?>
    2) form_check.php
    Codice PHP:
    <?php 
    /*     
    If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
    Contact your hosting provider regarding PHP configuration for your site.

    PHP file generated by Adobe Muse CC 2015.1.2.344
    */



    if ($_SERVER['REQUEST_METHOD'] == 'GET'
    {
        
    $supportResponse checkSupport();
        if (!empty(
    $_GET['mode']) and $_GET['mode'] == 'verify')
        {
            echo 
    $supportResponse;
            exit;
        }
        
        echo(
    '<!DOCTYPE html><html><head><title>Muse PHP Diagnostics</title>');
        echo(
    '<style type="text/css">body { font: 14pt Myriad Pro, Arial, Helvetica;}ul { list-style-type: none; }');
        echo(
    ' h1 { background-color: #CCCCCC; padding: 2px;} label {display: inline-block; width: 100px; vertical-align: top;}');
        echo(
    '.good:before { color: green; content:\'\2713\0020\';} .bad:before {color: red; content: \'X\0020\';}');
        echo(
    '</style></head><body>');
        echo(
    '<h1>Diagnostics</h1><ul>');
        
        if (
    strrpos($supportResponse,'PHP:0;') === false)
        {
            echo(
    '<li class="bad">PHP version too low');
        }
        else 
        { 
            echo(
    '<li class="good">PHP version ok');
        }
        if (
    strrpos($supportResponse,'Mail:0;') === false)
        {
            echo(
    '<li class="bad">Mail configuration: PHP mail() configured incorrectly on server. Form will not be able to send email.');
        }
        else
        {
            echo(
    '<li class="good">Mail configuration: No known problems detected with php mail configuration.');
        }
        
        
        
        echo(
    '</body></html>');
    }

    $phpError '';
    function 
    phpErrorHandler($errno$errstr$errfile$errline)
    {
        global 
    $phpError;
        if (!(
    error_reporting() & $errno)) 
        {
            return;
        }

        
    $phpError .= $errstr;
        return 
    true;
    }

    function 
    checkSupport()
    {    
        global 
    $phpError;
        
    set_error_handler("phpErrorHandler");
            
        
    $response '';
        

        
    $version explode('.'PHP_VERSION);
        if (
    $version[0] < || ($version[0] == && $version[1] < 1))
        {
            
    $response .='PHP:1;';
            return 
    $response;
        }
        else 
        { 
            
    $response .='PHP:0;';
        }

        if (
    strncasecmp(php_uname('s'), 'win'3) == 0
        { 
            
    $mailserver ini_get('SMTP');
        }
        else
        {
            
    $mailserver ini_get('sendmail_path');
        }
        if (
    strlen($mailserver) == 0)
        {
            
    $response .='Mail:1;';
        }
        else
        {
            if (!
    function_exists("mail")) 
            { 
                
    $response .='Mail:2;';
            }  
            else
            {
                
    $sent mail("recipient@example.com""Hi""test message""From: sender@example.com");
                if(
    $sent)
                {
                    
    $response .='Mail:0;';
                }
                else
                {
                    
    $response .='Mail:3;';            
                }
            }
        }
                
        if(
    $phpError != '')
        {
            
    $response .='PHPError:' $phpError;
        }

        return 
    $response;
    }
    ?>
    Ultima modifica di karl94 : 27-04-2016 alle ore 18.16.43

  4. #4
    takethisportfolio non  connesso Utente AlterBlog
    Data registrazione
    25-04-2016
    Messaggi
    7

    Predefinito

    3) form_process.php
    Codice PHP:
    <?php 
    /*     
    If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
    Contact your hosting provider regarding PHP configuration for your site.

    PHP file generated by Adobe Muse CC 2015.1.2.344
    */



    function process_form($form) {
        if (
    $_SERVER['REQUEST_METHOD'] != 'POST')
            die(
    get_form_error_response($form['resources']['unknown_method']));

        
        
        
    // will die() if there are any errors
        
    check_required_fields($form);
        
        
    // will die() if there is a send email problem
        
    email_form_submission($form);
    }

    function 
    get_form_error_response($error) {
        return 
    get_form_response(false, array('error' => $error));
    }

    function 
    get_form_response($success$data) {
        if (!
    is_array($data))
            die(
    'data must be array');
            
        
    $status = array();
        
    $status[$success 'FormResponse' 'MusePHPFormResponse'] = array_merge(array('success' => $success), $data);
        
        return 
    json_serialize($status);
    }

    function 
    check_required_fields($form) {
        
    $errors = array();

        foreach (
    $form['fields'] as $field => $properties) {
            if (!
    $properties['required'])
                continue;

            if (!
    array_key_exists($field$_REQUEST) || ($_REQUEST[$field] !== "0" && empty($_REQUEST[$field])))
                
    array_push($errors, array('field' => $field'message' => $properties['errors']['required']));
            else if (!
    check_field_value_format($form$field$properties))
                
    array_push($errors, array('field' => $field'message' => $properties['errors']['format']));
        }

        if (!empty(
    $errors))
            die(
    get_form_error_response(array('fields' => $errors)));
    }

    function 
    check_field_value_format($form$field$properties) {
        
    $value get_form_field_value($field$properties$form['resources'], false);

        switch(
    $properties['type']) {
            case 
    'checkbox':
            case 
    'string':
            case 
    'captcha':
                
    // no format to validate for those fields
                
    return true;

            case 
    'checkboxgroup':
                if (!
    array_key_exists('optionItems'$properties))
                    die(
    get_form_error_response(sprintf($form['resources']['invalid_form_config'], $properties['label'])));

                
    // If the value received is not an array, treat it as invalid format
                
    if (!isset($value))
                    return 
    false;

                
    // Check each option to see if it is a valid value
                
    foreach($value as $checkboxValue) {
                    if (!
    in_array($checkboxValue$properties['optionItems']))
                        return 
    false;
                }

                return 
    true;

            case 
    'radiogroup':
                if (!
    array_key_exists('optionItems'$properties))
                    die(
    get_form_error_response(sprintf($form['resources']['invalid_form_config'], $properties['label'])));

                
    //check list of real radio values
                
    return in_array($value$properties['optionItems']);
        
            case 
    'recaptcha':
                if (!
    array_key_exists('recaptcha'$form) || !array_key_exists('private_key'$form['recaptcha']) || empty($form['recaptcha']['private_key']))
                    die(
    get_form_error_response($form['resources']['invalid_reCAPTCHA_private_key']));
                
    $resp recaptcha_check_answer($form['recaptcha']['private_key'], $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
                return 
    $resp->is_valid;

            case 
    'email':
                return 
    == preg_match('/^[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i'$value);

            case 
    'radio'// never validate the format of a single radio element; only the group gets validated
            
    default:
                die(
    get_form_error_response(sprintf($form['resources']['invalid_field_type'], $properties['type'])));
        }
    }

    function 
    email_form_submission($form) {
        if(!
    defined('PHP_EOL'))
            
    define('PHP_EOL''\r\n');

        
    $form_email = ((array_key_exists('Email'$_REQUEST) && !empty($_REQUEST['Email'])) ? cleanup_email($_REQUEST['Email']) : '');

        
    $to $form['email']['to'];
        
    $subject $form['subject'];
        
    $message get_email_body($subject$form['heading'], $form['fields'], $form['resources']);
        
    $headers get_email_headers($to$form_email);    

        
    $sent = @mail($to$subject$message$headers);
        
        if(!
    $sent)
            die(
    get_form_error_response($form['resources']['failed_to_send_email']));
        
        
    $success_data = array(
            
    'redirect' => $form['success_redirect']
        );
        
        echo 
    get_form_response(true$success_data);
    }

    function 
    get_email_headers($to_email$form_email) {
        
    $headers 'From: ' $to_email PHP_EOL;
        
    $headers .= 'Reply-To: ' $form_email PHP_EOL;
        
    $headers .= 'X-Mailer: Adobe Muse CC 2015.1.2.344 with PHP' PHP_EOL;
        
    $headers .= 'Content-type: text/html; charset=utf-8' PHP_EOL;
        
        return 
    $headers;
    }

    function 
    get_email_body($subject$heading$fields$resources) {
        
    $message '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
        
    $message .= '<html xmlns="http://www.w3.org/1999/xhtml">';
        
    $message .= '<head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><title>' encode_for_form($subject) . '</title></head>';
        
    $message .= '<body style="background-color: #ffffff; color: #000000; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: 18px; font-family: helvetica, arial, verdana, sans-serif;">';
        
    $message .= '<h2 style="background-color: #eeeeee;">' $heading '</h2>';
        
    $message .= '<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #ffffff;">'

        
    $sorted_fields = array();
        
        foreach (
    $fields as $field => $properties) {
            
    // Skip reCAPTCHA from email submission
            
    if ('recaptcha' == $properties['type'])
                continue;

            
    array_push($sorted_fields, array('field' => $field'properties' => $properties));
        }

        
    // sort fields
        
    usort($sorted_fields'field_comparer');

        foreach (
    $sorted_fields as $field_wrapper)
            
    $message .= '<tr><td valign="top" style="background-color: #ffffff;"><b>' encode_for_form($field_wrapper['properties']['label']) . ':</b></td><td>' get_form_field_value($field_wrapper['field'], $field_wrapper['properties'], $resourcestrue) . '</td></tr>';

        
    $message .= '</table>';
        
    $message .= '<br/><br/>';
        
    $message .= '<div style="background-color: #eeeeee; font-size: 10px; line-height: 11px;">' sprintf($resources['submitted_from'], encode_for_form($_SERVER['SERVER_NAME'])) . '</div>';
        
    $message .= '<div style="background-color: #eeeeee; font-size: 10px; line-height: 11px;">' sprintf($resources['submitted_by'], encode_for_form($_SERVER['REMOTE_ADDR'])) . '</div>';
        
    $message .= '</body></html>';

        return 
    cleanup_message($message);
    }

    function 
    field_comparer($field1$field2) {
        if (
    $field1['properties']['order'] == $field2['properties']['order'])
            return 
    0;

        return ((
    $field1['properties']['order'] < $field2['properties']['order']) ? -1);
    }

    function 
    is_assoc_array($arr) {
        if (!
    is_array($arr))
            return 
    false;
        
        
    $keys array_keys($arr);
        foreach (
    array_keys($arr) as $key)
            if (
    is_string($key)) return true;

        return 
    false;
    }

    function 
    json_serialize($data) {

        if (
    is_assoc_array($data)) {
            
    $json = array();
        
            foreach (
    $data as $key => $value)
                
    array_push($json'"' $key '": ' json_serialize($value));
        
            return 
    '{' implode(', '$json) . '}';
        }
        
        if (
    is_array($data)) {
            
    $json = array();
        
            foreach (
    $data as $value)
                
    array_push($jsonjson_serialize($value));
        
            return 
    '[' implode(', '$json) . ']';
        }
        
        if (
    is_int($data) || is_float($data))
            return 
    $data;
        
        if (
    is_bool($data))
            return 
    $data 'true' 'false';
        
        return 
    '"' encode_for_json($data) . '"';
    }

    function 
    encode_for_json($value) {
        return 
    preg_replace(array('/([\'"\\t\\\\])/i''/\\r/i''/\\n/i'), array('\\\\$1''\\r''\\n'), $value);
    }

    function 
    encode_for_form($text) {
        
    $text stripslashes($text);
        return 
    htmlentities($textENT_QUOTES'UTF-8');// need ENT_QUOTES or webpro.js jQuery.parseJSON fails
    }

    function 
    get_form_field_value($field$properties$resources$forOutput) {
        
    $value $_REQUEST[$field];
        
        switch(
    $properties['type']) {
            case 
    'checkbox':
                return ((
    $value == '1' || $value == 'true') ? $resources['checkbox_checked'] : $resources['checkbox_unchecked']);
            
            case 
    'checkboxgroup':
                if (!
    is_array($value))
                    return 
    NULL;

                
    $outputValue = array();

                foreach (
    $value as $checkboxValue)
                    
    array_push($outputValue$forOutput encode_for_form($checkboxValue) : stripslashes($checkboxValue));
                
                if (
    $forOutput)
                    
    $outputValue implode(', '$outputValue);

                return 
    $outputValue;
            
            case 
    'radiogroup':
                return (
    $forOutput encode_for_form($value) : stripslashes($value));
            
            case 
    'string':
            case 
    'captcha':
            case 
    'recaptcha':
            case 
    'email':
                return 
    encode_for_form($value);

            case 
    'radio'// never validate the format of a single radio element; only the group gets validated
            
    default:
                die(
    get_form_error_response(sprintf($resources['invalid_field_type'], $properties['type'])));
        }
    }

    function 
    cleanup_email($email) {
        
    $email encode_for_form($email);
        
    $email preg_replace('=((<CR>|<LF>|0x0A/%0A|0x0D/%0D|\\n|\\r)\S).*=i'null$email);
        return 
    $email;
    }

    function 
    cleanup_message($message) {
        
    $message wordwrap($message70"\r\n");
        return 
    $message;
    }
    ?>

    PS ho scritto in due messaggi perch avevo superato il limite di 10000 caratteri

  5. #5
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,605

    Predefinito

    Non dovrebbero esserci problemi, come puoi anche vedere dallo script di diagnostica.
    Hai controllato che le mai non finiscano fra la posta indesiderata?

  6. #6
    takethisportfolio non  connesso Utente AlterBlog
    Data registrazione
    25-04-2016
    Messaggi
    7

    Predefinito

    si, come gi scritto prima ho controllato la posta nella cartella spam/postaindesiderata e prima di scrivere qui ho aspettato una giornata per verificare se ci fossero stati eventuali ritardi di invio/ricezione, ho anche testato l'invio delle email dal mio spazio web con il seguente script e tutto funziona correttamente:
    Codice PHP:
    <?php 
    if(mail('miaemail@gmail.com','oggetto','messaggio','From: takethisportfolio@altervista.org')) 
    echo 
    'email inviata correttamente'
    else echo 
    'Errore!'
    ?>
    . Inoltre ho anche inserito un'altra mail, quindi sia alice.it che gmail.com, ma nulla.

    Quindi? Come possibile?

  7. #7
    takethisportfolio non  connesso Utente AlterBlog
    Data registrazione
    25-04-2016
    Messaggi
    7

    Predefinito

    mmmh risolveremo in qualche maniera?

  8. #8
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Dai log risulta che le mail vengano inviate. Proverei a cambiare la casella di destinazione, @virgilio.it tende a scartare mail in arrivo senza avvisare nessuno.


    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  9. #9
    takethisportfolio non  connesso Utente AlterBlog
    Data registrazione
    25-04-2016
    Messaggi
    7

    Predefinito

    ho usato gmail, virgilio e alice. Niente di niente. E nella community di adobe si dice il problema sia da risolvere con il servizio hosting.

  10. #10
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Pi che un problema dell'hosting uno problema dello script visto che con l'altro codice di esempio ti funziona tutto.

    Comunque dopo le mie prove attorno alle 15 non mi risultano altri invii di mail dal tuo account. Vedo per che ieri ci sono stati 3 invii da form-check.php verso la casella fittizia sender@example.com.


    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  11. #11
    takethisportfolio non  connesso Utente AlterBlog
    Data registrazione
    25-04-2016
    Messaggi
    7

    Predefinito

    quindi? -perdona la mia ignoranza in fatto di codice, spero possiate aiutarmi-

  12. #12
    testspacco non  connesso Neofita
    Data registrazione
    05-10-2016
    Messaggi
    4

    Predefinito

    Ciao!
    scusa se mi intrometto: scrivo non per dare risposte ma perch ho il tuo stesso problema!
    ho visto che questo post e di qualche mese fa e volevo sapere se nel frattempo avete trovato qualche soluzione
    o qualche alternativa o scappatoia valida...

    (che sono disperato... )
    Grazie!

  13. #13
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,605

    Predefinito

    Testspacco: hai gi aperto una tua discussione, continua l.

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •