• User Newbie

    Problema integrazione checkbox privacy in contact form CMS

    Perdonate il titolo a formato telegrafico.
    Ho integrato nel template dei contatti di un tema wordpress il checkbox della privacy ( di default non presente).
    Il problema è che ottengo l'errore di validazione (Il consenso è obbligatorio) che io spunti o no il checkbox della Privacy.
    Premetto che sono inesperta di PHP.

    Posto il codice della pagina ( le parti che ho inserito io sono commentate)

    Grazie in anticipo!

    [PHP]<?php
    /Template Name: Contact form/
    ?>
    <?php global $SMTheme;?>
    <?php

    if (isset($_POST[$_SESSION['commentinput']])&&$form=$_POST[$_SESSION['commentinput']]) {
        $msg='';
        $error='';
        $errorcode='red';
        $privacy=$_POST['privacy']; // parte che ho inserito
        foreach ($SMTheme->get( 'contactform', 'contactform' ) as $key=>$detail) {
            if ($detail['req']=='required'&&$form[$key]=='') $error.='Field '.$detail['ttl']." is required<br />";
            if ($detail['regex']!=''&&!eregi(stripslashes($detail['regex']),$form[$key])) {
                $error.='Field '.$detail['ttl']." is not valid<br />";
            }
            $msg.=$detail['ttl'].": ".$form[$key]."\r\n";
        }
    

    //parte che ho inserito
    if ($privacy !=1) {
    $error.='Il consenso è obbligatorio<br />';
    }
    //fine
    $from=($SMTheme->get( 'general','sitename' ))?$SMTheme->get( 'general','sitename' ):get_bloginfo('name');
    if ($error=='') {
    wp_mail($SMTheme->get( 'contactform', 'email' ), 'Message from '.$from, $msg);
    $error=$SMTheme->( 'emailok' );
    $errorcode='green';
    }
    }
    ?>
    <?php
    get_header();
    ?>
    <div class='articles'>
    <?php
    the_post();
    ?>
    <div class='one-post'>
    <div id="post-<?php the_ID(); ?>" <?php post_class("post-caption"); ?>>
    <?php if (!is_single()&&!is_page()) { ?>
    <h2><a href="<?php the_permalink(); ?>" title="<?php printf( $SMTheme->
    ( 'permalink' ), the_title_attribute( 'echo=0' ) ); ?>" class='post_ttl'><?php the_title(); ?></a></h2>
    <?php } else { ?>
    <h1><?php the_title(); ?></h1>
    <?php } ?>
    </div>
    <div class='post-body'>
    <?php
    the_content('');
    ?>

        <?php if ( $SMTheme->get( 'contactform','address' ) != '' ) {?>
        <div class='googlemap waiting'><div id="map_canvas" style="width: 100%; height: 300px;"></div></div>
        
        <script>jQuery(function(){loadGMap('<?php echo $SMTheme->get( 'contactform','address' )?>', 'map_canvas', 16)});</script>
    
        <?php } ?>
    

    <?php
    if ($SMTheme->get( 'contactform', 'email' )) {
    ?>
    <form action='' method='POST' class='feedback'>
    <h3><?php echo $SMTheme->( 'feedbackttl' ); ?></h3>
    <i><?php echo $SMTheme->
    ( 'feedbackbefore' ); ?></i>
    <?php
    foreach ($SMTheme->get( 'contactform', 'contactform' ) as $key=>$detail) {
    switch ($detail['type']) {
    case 'text':
    ?>
    <p><?php echo $detail['ttl']?>: <?php echo ($detail['req']=='required')?'()':''?>
    <div class='input'><input type='text' value='' name='<?php echo $key?>'<?php echo ($detail['req']=='required')?" required='true'":''?> /></div>
    </p>
    <?php
    break;
    case 'textarea':
    ?>
    <p><?php echo $detail['ttl']?>: <?php echo ($detail['req']=='required')?'(
    )':''?>
    <div class='input'><textarea rows='5' name='<?php echo $key?>'<?php echo ($detail['req']=='required')?" required='true'":''?>></textarea></div>
    </p>
    <?php
    break;
    }
    }
    ?>

    // parte che ho inserito
    <p>
    <input name="privacy" type="checkbox" id="privacy" value="1" />
    <label for="privacy">Dichiaro di aver letto e accettato <a href="Privacy.html">l'informativa sulla Privacy</a></label></p>
    // fine
    <?php echo ($error!='')?"<p style='color:".$errorcode."'>".$error."</p>":''?>
    <center><input type='submit' class='readmore' name='submit' value='<?php echo $SMTheme->_( 'send' );?>' /></center>
    </form>
    <?php } ?>
    <?php if ($SMTheme->get( 'contactform','detailttl' ) != '') {?>
    <h3><?php echo $SMTheme->get( 'contactform','detailttl' )?></h3>
    <?php } ?>
    <?php if ($SMTheme->get( 'contactform','text' )) { ?>
    <div style='margin-bottom:20px;'>
    <?php echo $SMTheme->get( 'contactform','text' )?>
    </div>
    <?php }

    $details=$SMTheme->get( 'contactform', 'details' );
    if (!empty($details)) {
    

    ?>
    <div id='contact'><ul class='contact-details'>
    <?php
    foreach ($details as $key=>$detail) {
    ?>
    <li class='contact<?php echo $key?>'><?php echo $detail['content']?></li>
    <?php
    }
    ?>
    </ul></div>
    <style>
    <?php
    foreach ($SMTheme->get( 'contactform', 'details' ) as $key=>$detail) {
    ?>
    ul.contact-details li.contact<?php echo $key?> {
    background:url(<?php echo $detail['img']?>) left top no-repeat;
    }
    <?php
    }
    ?>
    </style>
    <?php } else { ?>
    <style>
    form.feedback { width:100%; }
    </style>
    <?php
    }
    ?>
    </div>
    </div>
    </div>
    <script>
    jQuery('.feedback input').each(function(){
    jQuery(this).attr('name','<?php echo $_SESSION['commentinput']; ?>['+jQuery(this).attr('name')+']');
    });
    jQuery('.feedback textarea').each(function(){
    jQuery(this).attr('name','<?php echo $_SESSION['commentinput']; ?>['+jQuery(this).attr('name')+']');
    });
    </script>
    <?php
    get_footer();
    ?>[/PHP]