如何在cookie中存储数据,$ _cookie无效

时间:2013-06-15 13:14:05

标签: forms cookies registration setcookie

我正在尝试将值从表单传递到另一个表单。 在第一种形式用户将写:

  • 用户名
  • 电子邮件

然后在第二种形式中,我希望用该数据“自动完成”2个输入,然后用户将能够选择将保存在db中的密码和名称并创建用户。

其实我的安装是WordPress + BuddyPress(但我在这里发布我的问题,因为我认为它与WP相关的更多)

我的表单是这样的:

点击第一个表单中的提交后,用户被重定向到第二个表单,这是我考虑使用$_COOKIE的原因之一。

我在没有冲突模式下使用jQuery没有问题,但是我无法设置域,因为这是我将在很多不同域上使用的模板,因此每次更改脚本中的域都不是一个选项

禁用BuddyPress时,第一张FORM表现完美。

这些是我的表格:

第一种形式:

<div id="register-form">  
<h3><?php _e('Register for this site!','mdframework');?></h3>
<p><?php _e('Sign up now for the good stuff.','mdframework');?></p>
<!-- Let's set a cookie to store desidered username just in case we are using BuddyPress -->

                <?php 
                    if ($_GET["user_login"]){
                        setcookie("user_login", $_POST["user_login"], time() + 600, '/');
                    };
                    echo $_COOKIE['user_login'];
                ?>

                <form id="registrazione" action="<?php echo site_url('wp-login.php?action=register', 'login_post') ?>" method="post">
                    <div class="username">
                        <label for="user_login"><?php _e('Username','mdframework'); ?>: </label>            
                        <input type="text" name="user_login" value="Username" id="user_login" class="input" /> 
                    </div>
                    <div class="password">
                        <label for="user_email"><?php _e('Your Email','mdframework'); ?>: </label>
                        <input type="text" name="user_email" value="E-Mail" id="user_email" class="input"  /> 
                    </div>
                    <div class="login_fields">
                        <?php do_action('register_form'); ?>  
                        <input type="hidden" name="passalogin" value="<?php $_GET['user_login'];?> "/>
                        <input type="submit" value="<?php _e('Sign up!','mdframework'); ?>" id="register" />  
                        <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>?register=true" />
                    </div>
            </div>

第二种形式:

<?php  $selezione = of_get_option('select_sitewide_template', '' ); 
    get_template_part('parti/'.$selezione.'/head',$selezione);/*Usually <head></head><body>*/
    get_template_part('parti/'.$selezione.'/top',$selezione);/*<header></header><hgroup></hgroup><nav></nav>*/
?>

    <section class="novesessanta customizemeforum">
    <section class="contenuti ucancustomize">
    <section class="centrosito customcentrosito">
    <div id="content" style="color:#FFF;padding:1%">
        <div class="padder">

        <?php do_action( 'bp_before_register_page' ); ?>

        <div class="page" id="register-page">

            <form action="" name="signup_form" id="signup_form" class="standard-form" method="post" enctype="multipart/form-data">

            <?php if ( 'registration-disabled' == bp_get_current_signup_step() ) : ?>
                <?php do_action( 'template_notices' ); ?>
                <?php do_action( 'bp_before_registration_disabled' ); ?>

                    <p><?php _e( 'User registration is currently not allowed.', 'buddypress' ); ?></p>

                <?php do_action( 'bp_after_registration_disabled' ); ?>
            <?php endif; // registration-disabled signup setp ?>

            <?php if ( 'request-details' == bp_get_current_signup_step() ) : ?>

                <h2><?php _e( 'Create an Account', 'buddypress' ); ?></h2>

                <?php do_action( 'template_notices' ); ?>

                <p><?php _e( 'Registering for this site is easy, just fill in the fields below and we\'ll get a new account set up for you in no time.', 'buddypress' ); ?></p>

                <?php do_action( 'bp_before_account_details_fields' ); ?>

                <div class="register-section" id="basic-details-section">

                    <?php /***** Basic Account Details ******/ ?>

                    <h4><?php _e( 'Account Details', 'buddypress' ); ?></h4>

                    <label for="signup_username"><?php _e( 'Username', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>

                    <?php do_action( 'bp_signup_username_errors' ); ?>
                    <input type="text" name="signup_username" id="signup_username" value="<?php if (isset($_COOKIE['user_login'])){$valoreuser = $_COOKIE['user_login'];echo $valoreuser;}else{bp_signup_username_value();};?>" />

                    <label for="signup_email"><?php _e( 'Email Address', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
                    <?php do_action( 'bp_signup_email_errors' ); ?>
                    <input type="text" name="signup_email" id="signup_email" value="<?php bp_signup_email_value(); ?>" />

                    <label for="signup_password"><?php _e( 'Choose a Password', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
                    <?php do_action( 'bp_signup_password_errors' ); ?>
                    <input type="password" name="signup_password" id="signup_password" value="" />

                    <label for="signup_password_confirm"><?php _e( 'Confirm Password', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
                    <?php do_action( 'bp_signup_password_confirm_errors' ); ?>
                    <input type="password" name="signup_password_confirm" id="signup_password_confirm" value="" />

                </div><!-- #basic-details-section -->

                <?php do_action( 'bp_after_account_details_fields' ); ?>

                <?php /***** Extra Profile Details ******/ ?>

                <?php if ( bp_is_active( 'xprofile' ) ) : ?>

                    <?php do_action( 'bp_before_signup_profile_fields' ); ?>

                    <div class="register-section" id="profile-details-section">

                        <h4><?php _e( 'Profile Details', 'buddypress' ); ?></h4>

                        <?php /* Use the profile field loop to render input fields for the 'base' profile field group */ ?>
                        <?php if ( bp_is_active( 'xprofile' ) ) : if ( bp_has_profile( 'profile_group_id=1' ) ) : while ( bp_profile_groups() ) : bp_the_profile_group(); ?>

                        <?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>

                            <div class="editfield">

                                <?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>

                                    <label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
                                    <?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
                                    <input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" />

                                <?php endif; ?>

                                <?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>

                                    <label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
                                    <?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
                                    <textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_edit_value(); ?></textarea>

                                <?php endif; ?>

                                <?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>

                                    <label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
                                    <?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
                                    <select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>">
                                        <?php bp_the_profile_field_options(); ?>
                                    </select>

                                <?php endif; ?>

                                <?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>

                                    <label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
                                    <?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
                                    <select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple">
                                        <?php bp_the_profile_field_options(); ?>
                                    </select>

                                <?php endif; ?>

                                <?php if ( 'radio' == bp_get_the_profile_field_type() ) : ?>

                                    <div class="radio">
                                        <span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>

                                        <?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
                                        <?php bp_the_profile_field_options(); ?>

                                        <?php if ( !bp_get_the_profile_field_is_required() ) : ?>
                                            <a class="clear-value" href="javascript:clear( '<?php bp_the_profile_field_input_name(); ?>' );"><?php _e( 'Clear', 'buddypress' ); ?></a>
                                        <?php endif; ?>
                                    </div>

                                <?php endif; ?>

                                <?php if ( 'checkbox' == bp_get_the_profile_field_type() ) : ?>

                                    <div class="checkbox">
                                        <span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>

                                        <?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
                                        <?php bp_the_profile_field_options(); ?>
                                    </div>

                                <?php endif; ?>

                                <?php if ( 'datebox' == bp_get_the_profile_field_type() ) : ?>

                                    <div class="datebox">
                                        <label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
                                        <?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>

                                        <select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day">
                                            <?php bp_the_profile_field_options( 'type=day' ); ?>
                                        </select>

                                        <select name="<?php bp_the_profile_field_input_name(); ?>_month" id="<?php bp_the_profile_field_input_name(); ?>_month">
                                            <?php bp_the_profile_field_options( 'type=month' ); ?>
                                        </select>

                                        <select name="<?php bp_the_profile_field_input_name(); ?>_year" id="<?php bp_the_profile_field_input_name(); ?>_year">
                                            <?php bp_the_profile_field_options( 'type=year' ); ?>
                                        </select>
                                    </div>

                                <?php endif; ?>

                                <?php if ( bp_current_user_can( 'bp_xprofile_change_field_visibility' ) ) : ?>
                                    <p class="field-visibility-settings-toggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
                                        <?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?> <a href="#" class="visibility-toggle-link">Change</a>
                                    </p>

                                    <div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id() ?>">
                                        <fieldset>
                                            <legend><?php _e( 'Who can see this field?', 'buddypress' ) ?></legend>

                                            <?php bp_profile_visibility_radio_buttons() ?>

                                        </fieldset>
                                        <a class="field-visibility-settings-close" href="#"><?php _e( 'Close', 'buddypress' ) ?></a>

                                    </div>
                                <?php else : ?>
                                    <p class="field-visibility-settings-notoggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
                                        <?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?>
                                    </p>            
                                <?php endif ?>


                                <?php do_action( 'bp_custom_profile_edit_fields' ); ?>

                                <p class="description"><?php bp_the_profile_field_description(); ?></p>

                            </div>

                        <?php endwhile; ?>

                        <input type="hidden" name="signup_profile_field_ids" id="signup_profile_field_ids" value="<?php bp_the_profile_group_field_ids(); ?>" />

                        <?php endwhile; endif; endif; ?>

                    </div><!-- #profile-details-section -->

                    <?php do_action( 'bp_after_signup_profile_fields' ); ?>

                <?php endif; ?>

                <?php if ( bp_get_blog_signup_allowed() ) : ?>

                    <?php do_action( 'bp_before_blog_details_fields' ); ?>

                    <?php /***** Blog Creation Details ******/ ?>

                    <div class="register-section" id="blog-details-section">

                        <h4><?php _e( 'Blog Details', 'buddypress' ); ?></h4>

                        <p><input type="checkbox" name="signup_with_blog" id="signup_with_blog" value="1"<?php if ( (int) bp_get_signup_with_blog_value() ) : ?> checked="checked"<?php endif; ?> /> <?php _e( 'Yes, I\'d like to create a new site', 'buddypress' ); ?></p>

                        <div id="blog-details"<?php if ( (int) bp_get_signup_with_blog_value() ) : ?>class="show"<?php endif; ?>>

                            <label for="signup_blog_url"><?php _e( 'Blog URL', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
                            <?php do_action( 'bp_signup_blog_url_errors' ); ?>

                            <?php if ( is_subdomain_install() ) : ?>
                                http:// <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" /> .<?php bp_blogs_subdomain_base(); ?>
                            <?php else : ?>
                                <?php echo site_url(); ?>/ <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" />
                            <?php endif; ?>

                            <label for="signup_blog_title"><?php _e( 'Site Title', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
                            <?php do_action( 'bp_signup_blog_title_errors' ); ?>
                            <input type="text" name="signup_blog_title" id="signup_blog_title" value="<?php bp_signup_blog_title_value(); ?>" />

                            <span class="label"><?php _e( 'I would like my site to appear in search engines, and in public listings around this network.', 'buddypress' ); ?>:</span>
                            <?php do_action( 'bp_signup_blog_privacy_errors' ); ?>

                            <label><input type="radio" name="signup_blog_privacy" id="signup_blog_privacy_public" value="public"<?php if ( 'public' == bp_get_signup_blog_privacy_value() || !bp_get_signup_blog_privacy_value() ) : ?> checked="checked"<?php endif; ?> /> <?php _e( 'Yes', 'buddypress' ); ?></label>
                            <label><input type="radio" name="signup_blog_privacy" id="signup_blog_privacy_private" value="private"<?php if ( 'private' == bp_get_signup_blog_privacy_value() ) : ?> checked="checked"<?php endif; ?> /> <?php _e( 'No', 'buddypress' ); ?></label>

                        </div>

                    </div><!-- #blog-details-section -->

                    <?php do_action( 'bp_after_blog_details_fields' ); ?>

                <?php endif; ?>

                <?php do_action( 'bp_before_registration_submit_buttons' ); ?>

                <div class="submit">
                    <input type="submit" name="signup_submit" id="signup_submit" value="<?php _e( 'Complete Sign Up', 'buddypress' ); ?>" />
                </div>

                <?php do_action( 'bp_after_registration_submit_buttons' ); ?>

                <?php wp_nonce_field( 'bp_new_signup' ); ?>

            <?php endif; // request-details signup step ?>

            <?php if ( 'completed-confirmation' == bp_get_current_signup_step() ) : ?>

                <h2><?php _e( 'Sign Up Complete!', 'buddypress' ); ?></h2>

                <?php do_action( 'template_notices' ); ?>
                <?php do_action( 'bp_before_registration_confirmed' ); ?>

                <?php if ( bp_registration_needs_activation() ) : ?>
                    <p><?php _e( 'You have successfully created your account! To begin using this site you will need to activate your account via the email we have just sent to your address.', 'buddypress' ); ?></p>
                <?php else : ?>
                    <p><?php _e( 'You have successfully created your account! Please log in using the username and password you have just created.', 'buddypress' ); ?></p>
                <?php endif; ?>

                <?php do_action( 'bp_after_registration_confirmed' ); ?>

            <?php endif; // completed-confirmation signup step ?>

            <?php do_action( 'bp_custom_signup_steps' ); ?>

            </form>

        </div>

        <?php do_action( 'bp_after_register_page' ); ?>

        </div><!-- .padder -->
    </div><!-- #content -->
</section><!-- centrosito -->
</section>
</section><!-- novesessanta customizemeforum -->
    <?php get_sidebar( 'forum' ); ?>

    <script type="text/javascript">
        jQuery(document).ready( function() {
            if ( jQuery('div#blog-details').length && !jQuery('div#blog-details').hasClass('show') )
                jQuery('div#blog-details').toggle();

            jQuery( 'input#signup_with_blog' ).click( function() {
                jQuery('div#blog-details').fadeOut().toggle();
            });
        });
    </script>

<?php get_template_part('parti/'.$selezione.'/footer',$selezione);/*End of the page */ ?>

0 个答案:

没有答案