Joomla-PHP注册脚本
我有一个登录和注册脚本,可以通过android和iOS进行身份验证。 注册码有效,我可以注册表单应用程序,我可以看到用户进入joomla db。 问题是,在Joomla门户中,我使用了激活邮件,当我从脚本创建用户时,我收到了一封错误的邮件。 邮件具有以下对象:COM\u用户\u电子邮件\u帐户\u详细信息,以及以下文本:COM\u用户\u电子邮件\u已注册\u已激活\u正文 这是注册脚本:Joomla-PHP注册脚本,php,android,web-services,joomla,registration,Php,Android,Web Services,Joomla,Registration,我有一个登录和注册脚本,可以通过android和iOS进行身份验证。 注册码有效,我可以注册表单应用程序,我可以看到用户进入joomla db。 问题是,在Joomla门户中,我使用了激活邮件,当我从脚本创建用户时,我收到了一封错误的邮件。 邮件具有以下对象:COM\u用户\u电子邮件\u帐户\u详细信息,以及以下文本:COM\u用户\u电子邮件\u已注册\u已激活\u正文 这是注册脚本: <?php if( $_POST["name"] || $_POST["email"] || $_P
<?php
if( $_POST["name"] || $_POST["email"] || $_POST["username"] || $_POST["password"] ){
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$app = JFactory::getApplication('site');
$app->initialise();
require_once(JPATH_BASE.DS.'components'.DS.'com_users'.DS.'models'.DS.'registration.php');
$model = new UsersModelRegistration();
jimport('joomla.mail.helper');
jimport('joomla.user.helper');
$username = $_POST['username'];
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$block = '0';
$sendEmail = '1';
$activation = '';
$data = array( 'username' => $username,
'name' => $name,
'email1' => $email,
'password1' => $password, // First password field
'password2' => $password, // Confirm password field
'sendEmail' => $sendEmail,
'activation' => $activation,
'block' => 0 );
echo $model->register($data);
}
?>
如果我强制“激活”营地Joomla用激活码覆盖。阻止和发送电子邮件也一样
如何禁用邮件(仅从应用程序)或发送正确的邮件
谢谢 由于您使用的是用户模型来保存记录,因此很难不发送电子邮件。您可能需要编写自己的代码来保存用户,也可能需要扩展和重写模型 更简单的方法是确保加载了com_用户语言文件,以便用正确的文本替换这些大写字符串,如下所示:
$lang = JFactory::getLanguage();
$extension = 'com_users';
$base_dir = JPATH_SITE;
$language_tag = 'en-GB';
$reload = true;
$lang->load($extension, $base_dir, $language_tag, $reload);
我会在加载模型的
require\u once
之后添加此内容,您应该可以开始了。由于您使用用户模型保存记录,因此很难不发送电子邮件。您可能需要编写自己的代码来保存用户,也可能需要扩展和重写模型
更简单的方法是确保加载了com_用户语言文件,以便用正确的文本替换这些大写字符串,如下所示:
$lang = JFactory::getLanguage();
$extension = 'com_users';
$base_dir = JPATH_SITE;
$language_tag = 'en-GB';
$reload = true;
$lang->load($extension, $base_dir, $language_tag, $reload);
我会在加载模型的
require\u once
之后添加此内容,您应该可以开始了。由于您使用用户模型保存记录,因此很难不发送电子邮件。您可能需要编写自己的代码来保存用户,也可能需要扩展和重写模型
更简单的方法是确保加载了com_用户语言文件,以便用正确的文本替换这些大写字符串,如下所示:
$lang = JFactory::getLanguage();
$extension = 'com_users';
$base_dir = JPATH_SITE;
$language_tag = 'en-GB';
$reload = true;
$lang->load($extension, $base_dir, $language_tag, $reload);
我会在加载模型的
require\u once
之后添加此内容,您应该可以开始了。由于您使用用户模型保存记录,因此很难不发送电子邮件。您可能需要编写自己的代码来保存用户,也可能需要扩展和重写模型
更简单的方法是确保加载了com_用户语言文件,以便用正确的文本替换这些大写字符串,如下所示:
$lang = JFactory::getLanguage();
$extension = 'com_users';
$base_dir = JPATH_SITE;
$language_tag = 'en-GB';
$reload = true;
$lang->load($extension, $base_dir, $language_tag, $reload);
我把它放在加载模型的
require\u once
之后,您应该可以开始了。还有一些额外的注释:DS
确实不需要,只需在字符串中使用正斜杠就可以了,比如require\u once(JPATH\u BASE./components/com\u users/models/registration.php')代码>。由于你加载了完整的应用程序,你可以使用joomlaJInput
类来获取带有过滤选项的帖子数据,这有助于你的应用程序更加安全!还有一些额外的注释:DS
确实不需要,只要在字符串中使用正斜杠就可以了,比如require\u once(JPATH\u BASE.'/components/com\u users/models/registration.php')代码>。由于你加载了完整的应用程序,你可以使用joomlaJInput
类来获取带有过滤选项的帖子数据,这有助于你的应用程序更加安全!还有一些额外的注释:DS
确实不需要,只要在字符串中使用正斜杠就可以了,比如require\u once(JPATH\u BASE.'/components/com\u users/models/registration.php')代码>。由于你加载了完整的应用程序,你可以使用joomlaJInput
类来获取带有过滤选项的帖子数据,这有助于你的应用程序更加安全!还有一些额外的注释:DS
确实不需要,只要在字符串中使用正斜杠就可以了,比如require\u once(JPATH\u BASE.'/components/com\u users/models/registration.php')代码>。由于你加载了完整的应用程序,你可以使用joomlaJInput
类来获取带有过滤选项的帖子数据,这有助于你的应用程序更加安全!