在我直接回答我的问题之前,先介绍一下我一直在做什么的背景。
我用了Toboggan Drupal Module,让用户完成注册后自动登录
在注册页面,有一个价格计划供用户选择。
- 4.95 美元
- 14.95 美元
- 29.95 美元
4.95 美元:
编号: p_1
重定向到页面(页面名称): 001
14.95 美元:
编号: p_2
重定向到页面(页面名称): 002
29.95 美元:
编号: p_3
重定向到页面(页面名称): 003
完成包括价格计划在内的所有注册字段后。它将被重定向到上面列出的相应页面,而不是被重定向到 mysite.com/user
现在问题来了,
我创建了用户成功注册后的规则。
动作是执行自定义 php 代码
<?php
global $user;
$uid = $user->uid;
$result = db_query("SELECT field_price_plan_value FROM field_data_field_price_plan WHERE entity_id = :uid",
array(
':uid' => $uid
))->fetchField();
if ($result == "p_1") {
header("Location: 001");
} else if ($result == "p_2") {
header("Location: 002");
} else if ($result == "p_3") {
header("Location: 003");
}
用户注册后,用户没有重定向到某个页面。例如,我在成功注册后选择了 14.95 美元,我应该被重定向到mysite.com/002,但我只是重定向到默认的 mysite.com/user。
有什么可能的解决方案吗?一个帮助会很好。
我什至使用了 drupal_goto() 而不是 header(),但仍然没有用。
编辑
这是一些重复的问题,但是,我仍然没有设法很好地解决我的问题。