Рейтинг темы:
  • 1 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Правильный Sql Запрос!
#11
Krasavella Написал:Это пример другого запроса, для проверки существует ли логин[Изображение: 20.gif]

не понял совсем, вы проверяете существует ли логин, подсчитывая его кол-во? :redlol: Вы меня окончательно запутали.

Добавлено через 4 минуты
Я не вижу Вашего полного класса, поэтому опять уточняю:

$db->loadResult() - это я так понимаю mysql_result()

Тогда, что у Вас mysql_fetch_assoc() ? Он мне нужен для доработки Вашего скрипта.
#12
http://forum.zone-game.info/showthread.php?t=26651

Кто то не туда написал ответ на эту тему Big Grin
СЕО Оптимизация сайтов
#13
Вот короче, должно работать:

[SRC="php"]
//// Count Accounts in DB ////
$query = 'SELECT login, user_id FROM #__accounts WHERE `login`= '.$db->Quote($Login);
$db->setQuery($query);
$useLogin = $db->loadAssocList();

$query = "SELECT COUNT(login) FROM #__accounts WHERE user_id={$useLogin['user_id']}";
$db->setQuery($query);
$countLogin = $db->loadResult();

if (!$useLogin['login'] || $countLogin >= 5) {
JError::raiseNotice( '', 'REGISTRATION_COUNT_5' );
return false; /// STOP if Login >= 5 ///
}
[/SRC]

Добавлено через 31 секунду
gorodetskiy;275188 Написал:Кто то не туда написал ответ на эту тему
хахаха, уже сам заметил Big Grin
#14
РадужныйПони Написал:должно работать:

Код:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /storage/home/srv44892/inetpub/components/register.php on line 92

Полностью код:

Полностью код


В чем ошибка? [Изображение: 11.gif]
#15
PHP код:
<?php 
$query2
= 'SELECT count(`login`) FROM #__accounts WHERE `login`= '.$db->Quote($jLogin)' AND `user_id`='.($user_id_login['user_id']);
а зачем вам тут нужен WHERE login, если у вас массив из этого запроса состоит? да и вообще если логин, я так понимаю, уникальный, то тем более, а если так, то ваш запрос вернет 1.
#16
Krasavella;275214 Написал:В чем ошибка?
Вы перехамичили там так... Вы пропустили скобку '}'

Это уже сами смотрите где что было пропущено.

Добавлено через 2 минуты
Ну вот как я поправил. поняв код:

[SRC="php"]<?php
// no direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.model');
JTable::addIncludePath( JPATH_COMPONENT . DS . 'tables' );

class JusersModelRegister extends JModel {

// Constructor
function __construct() {
parent::__construct();
}

//
public function save($post) {
global $mainframe;
$table = &$this->getTable();
//// Input Data ////
$jLogin = $post ['login'];
$jPassword = $post ['password'];
$jPassword1 = $post['password1'];
$jEmail = $post ['email'];
$jComments = $post['comments'];
$jPattern = '[^a-z,^A-Z,^0-9]';
$jDB = &JFactory::getJDbo();
$db = &JFactory::getDBO();
//// Check Empty Input Data ////
//// Check Empty Login ////
if (empty($jLogin)) {
JError::raiseNotice( '', 'REGISTRATION_EMPTY_LOGIN' );
return false;
}
//// Check Empty Password ////
if (empty($jPassword)) {
JError::raiseNotice( '', 'REGISTRATION_EMPTY_PASS' );
return false;
}
//// Check Empty Password ////
if (empty($jPassword1)) {
JError::raiseNotice( '', 'REGISTRATION_EMPTY_PASS1' );
return false;
}
/// Check reEnter Password ///
if ($jPassword <> $jPassword1) {
JError::raiseNotice( '', 'REGISTRATION_NOT_PASS2' );
return false;
}
//// Check Login in DB ////
if ($jLogin) {
//// Server DB ////
$querys = 'SELECT count(`login`) FROM #__accounts WHERE login = '.$jDB->Quote($jLogin);
$jDB->setQuery($querys);
if ($jDB->loadResult()) {
JError::raiseNotice( '', 'REGISTRATION_ALREADY_REGISTRED_ON_SERVER' );
return false; /// STOP if Login in use ///
}
else {
//// Site DB ////
$query = 'SELECT count(`login`) FROM #__accounts WHERE `login`= '.$db->Quote($jLogin);
$db->setQuery($query);
if ($db->loadResult()) {
JError::raiseNotice( '', 'REGISTRATION_ALREADY_REGISTRED' );
return false; /// STOP if Login in use ///
}
else {
//// Count Accounts > 5 Site DB ////
$query = 'SELECT login, user_id FROM #__accounts WHERE `login`= '.$db->Quote($jLogin);
$db->setQuery($query);
$user_id_login = $db->loadAssocList();
$query2 = 'SELECT count(`login`) FROM #__accounts WHERE `login`= '.$db->Quote($jLogin)' AND `user_id`='.($user_id_login['user_id']);
$db->setQuery($query2);
if ($db->loadResult() >= 5) {
JError::raiseNotice( '', 'REGISTRATION_ALREADY_REGISTRED' );
return false; /// STOP if Login in use ///
}
/// IF LOGIN NOT IN USE in Site DB and Server DB ///
/// WRITE DATA in Server DB ///
$jPassCode = base64_encode(pack('H*', sha1($jPassword)));
$query = 'INSERT INTO accounts (login, password, access_level)
VALUES ('.$jDB->Quote($post ['login']).', '.$jDB->Quote($jPassCode).', 0)';
$jDB->setQuery($query);
if (!$jDB->query()) { /// STOP if error ///
JError::raiseError( 500, $jDB->stderr() );
return false;
}
}
}
}
// привязываем поля формы к таблице
if (!$table->bind($post)) {
$this->setError($table->getError());
return false;
}
// проверяем данные
if ($table->check($post)) {
if (!$table->store($post)) {
$this->setError($table->getError());
return false;
}
} else {
$this->setError($table->getError());
return false;
}
return true;
}
}
?>[/SRC]
#17
#18
ой... что-то вы жутко перехимичили. Давайте вы выложите оригинальный код register.php А я вставлю аккуратно, то что Вам нужно.
#19
РадужныйПони Написал:А я вставлю аккуратно

Вот оригинальный register.php


Из этого всего нужно добавить тот же <?php if ($this->jAccess >= 1 ) { ?> в

Финальный вариант

Суть такова: если на мастер аккаунте больше 5 игровых аккаунтов, возвращаем ошибку.

Вот сюда[Изображение: 05.gif]
#20
Krasavella;275240 Написал:if ($this->jAccess >= 1 ) {
а эт что такое? куда его добавить?


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  запрос sql. добавить предмет в дроп мобам по уровню sheg300 2 2,027 06-17-2018, 09:48 PM
Последний пост: PROGRAMMATOR
  Помогите создать правильный mssql запрос ussyka 2 1,637 09-03-2016, 12:32 AM
Последний пост: Stenly76
  Sql запрос Verizon 4 1,684 02-20-2016, 07:44 PM
Последний пост: PROGRAMMATOR
  Помогите составить правильно SQL запрос itcry 2 1,425 02-05-2016, 01:35 PM
Последний пост: itcry
  Подскажите запрос mego4el 9 2,385 09-18-2015, 04:07 PM
Последний пост: Dementor
  Ищу MySQL запрос singer 9 2,218 11-10-2014, 11:11 AM
Последний пост: Donatte
  sql запрос на удаление пустых аккаунтов sqll 6 2,323 05-08-2014, 01:14 AM
Последний пост: mishut
  Подскажите запрос mego4el 4 1,555 08-29-2013, 04:55 PM
Последний пост: KID
  [SQL]Подскажите запрос ipx 3 1,342 07-26-2013, 04:50 PM
Последний пост: AllMighty
  Правильный вызов html от NPC mego4el 7 2,155 07-21-2013, 09:42 PM
Последний пост: Mangol

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)