Autor Zpráva
Tirus
Profil
Jde o to, že mám funkci na registraci, ovšem podmínky mi nějak nevychází, koukám na to celkem půl hodiny a nemohu najít nesrovnalost.
Zvýrazněně je podmínka co "lže" :)
	public function register($login, $password, $email, $name, $msn, $icq)
	{
		$passwordHash = $this->generatePasswordHash($password, $login);
		$ssid = $this->generateSessionId($passwordHash, $login);
		$this->firstUserSettings($ssid);
		if ($this->checkEmail($email))
		{
			if (!$this->checkNumOfUsers($login) OR !$this->checkNumOfEmails($email))
			{
				return (bool)dibi::query('INSERT INTO [' . DB_PREFIX . 'users]', array('nick' =>
					$login, 'password' => $passwordHash, 'email' => $email, 'name' => $name, 'icq' =>
					$icq, 'msn' => $msn, 'ssid' => $ssid, ));
			}
			else
			{
				if ($this->checkNumOfUsers($login))
					$this->error = 'Uživatelské jméno už je používání.< br />\n';
				if ($this->checkNumOfEmails($email))
					$this->error = 'Email už je používán. < br />\n';
				return false;
			}
		}
		else
		{
			$this->error = 'Email je ve špatném tvaru.';
			return false;
		}
	}
		/**
	 * Kontrola tvaru emailu 
	 */

	private function checkEmail($email)
	{
		return ereg("^.+@.+\..+$", $email);
	}

	/**
	 * Kontrola poctu uzivatelu
	 */
	private function checkNumOfUsers($login)
	{
		return (bool)dibi::query('SELECT * FROM [' . DB_PREFIX .
			'users] WHERE [nick] = %s', $login);

	}
	/**
	 * Kontrola poctu mailu 
	 */
	private function checkNumOfEmails($email)
	{
		return (bool)dibi::query('SELECT * FROM [' . DB_PREFIX .
			'users] WHERE [email] = %s', $email);

	}
Tirus
Profil
nalezeno, volal jsem prvotní nastavení uživatele ještě před podmínkou :( .. pardon za zbytečné vlákno
Toto téma je uzamčeno. Odpověď nelze zaslat.

0