User registration causes session loss and redirect to wrong page - how to solve?

Dear OXID support team,

In our current shop system (OXID CE), we are experiencing two issues during user registration, which negatively affect our conversion rates:

  1. shopping cart is empty after registration (should stay the same as it was before registering)
  2. user is redirected to the start page after registration (user should be redirected to the currently active page)

You can test the behavior of problem 1) under this link by adding the product to the shopping cart and trying to procede to checkout. Behavior 2) can also be reproduced under this link, by pressing “Registrieren” in the upper right part of the header. It will open a fancybox which allows you to register on the same page. After that, you will be redirected to /startseite/… . At the moment, the shop is available in German language only.

Here is the template code for the register box. What exactly are the functions of the various hidden fields in the registration form? Are they correct or do we have to configure them differently in order to keep the shopping cart session and redirect to the currently active page?

<h3>Registrier' dich jetzt</h3>
    <div class="register">
    	<form action="[{ $oViewConf->getSslSelfLink() }]" name="order" method="post" id="registerform2">    
            [{ $oViewConf->getHiddenSid() }]
            [{ $oViewConf->getNavFormParams() }]
            <input type="hidden" name="fnc" value="registeruser">
            <input type="hidden" name="cl" value="register">
            <input type="hidden" name="lgn_cook" value="0">
            <input type="hidden" id="reloadAddress" name="reloadaddress" value="">
            <input type="hidden" name="option" value="3">
            
            <div class="input">
            	<input type="text" class="noline req" placeholder="Vorname" size="37" maxlength="255" name="invadr[oxuser__oxfname]" value="[{if isset( $invadr.oxuser__oxfname ) }][{$invadr.oxuser__oxfname }][{else}][{$oxcmp_user->oxuser__oxfname->value }][{/if}]">
            </div>
            <div class="input">
            	<input type="text" class="noline req" placeholder="Nachname" size="37" maxlength="255" name="invadr[oxuser__oxlname]" value="[{if isset( $invadr.oxuser__oxlname ) }][{$invadr.oxuser__oxlname }][{else}][{$oxcmp_user->oxuser__oxlname->value }][{/if}]">
            </div>
            
            <div class="input">
            	<input id="test_lgn_usr" type="text" class="noline req" name="lgn_usr" value="[{ $oView->getActiveUsername() }]" size="37" placeholder="E-Mail">
            </div>
            
            <div class="input">
            	<input id="userPassword" data-min="8" type="password" class="noline req" name="lgn_pwd" value="[{$lgn_pwd}]" size="37" placeholder="Passwort">
            </div>
            <div class="input">
            	<input id="userPasswordConfirm" data-min="8" type="password" class="noline req" name="lgn_pwd2" value="[{$lgn_pwd2}]" size="37" placeholder="Passwort wiederholen">
            </div>
            
            <div class="chk">
            	<input type="checkbox" name="" id="chk_nl" /> <label for="chk_nl">Newsletter abonnieren</label>
			</div>
            
            <div class="chk">
            	<input type="checkbox"  name="agb" value="foo" class="req" id="chk_agb"/> <label for="chk_agb">Ich habe die <a href="[{php}] echo $env['SHOPWWW_URL']; [{/php}]/agb.pdf" target="_blank">Allgemeinen Geschäftsbedingungen</a> gelesen, verstanden und stimme zu.</label>
			</div>
            
            <button class="button" name="send" type="submit">Jetzt Registrieren<div class="pfeil"></div></button>
    	</form>
    
    </div>
    <script type="text/javascript">
		$(document).ready(function(){
			$("#registerform2").bind("submit", function() {
				$.ajax({
					type        : "POST",
					cache       : false,
					url     	: "[{ $oViewConf->getSslSelfLink() }]ajax=1",
					data        : $(this).serializeArray(),
						success:function(data){
							$.fancybox({padding:0, content:data, closeBtn:false});
						}
				});
		
				return false;
			});
		
		});     
	</script>

Any help would be greatly appreciated!

Best,
Mike

  1. A basket is either empty or full. You want, that your customers are not allowed to have access to a basket? Great CR to expect!
  2. The current page is obviously the registration site. You want to redirect there? If a buyer registers a second time, CR will be even less.

[QUOTE=mikeschaekermann;129736]Dear OXID support team,
[/QUOTE]
This is not the OXID support team, this is the community forum where users can help other users. To me it looks like your shop is heavily customized, i think it is not possible to help here without access to the full code and ideas behind the various redirects. You should either seek professional help to debug this right in your shop or provide a simplified example of what your doing that works in the standard shop.

[QUOTE=MichaelH;129776]1. A basket is either empty or full. You want, that your customers are not allowed to have access to a basket? Great CR to expect![/QUOTE]

Oh yes, customers DO have access to their basket. If they intend to check out, however, they are asked to register / log in.

[QUOTE=MichaelH;129776]2. The current page is obviously the registration site. You want to redirect there? If a buyer registers a second time, CR will be even less.[/QUOTE]

I am not quite sure, what you are trying to say. Both in the pop up and on the landing page, you have the opportunity to either register or log in. Please correct me, if I missed something!

[QUOTE=leofonic;129787]This is not the OXID support team, this is the community forum where users can help other users. To me it looks like your shop is heavily customized, i think it is not possible to help here without access to the full code and ideas behind the various redirects. You should either seek professional help to debug this right in your shop or provide a simplified example of what your doing that works in the standard shop.[/QUOTE]

It is true. The shop was strongly customized in the past - not only by our core developer team, which is unfortunate. Do you have a working code sample of a registration form, which does not clear the basket and redirects to the currently active page? This would be of great help to us. Any hint would be greatly appreciated! I will try to also isolate the problem more concisely and post another code sample with more explanations!

Best,
Mike