Tak, zmienna $login zawiera "xxdrago", a taki rekord istnieje. Kurde, już kminie kminie i nie wiem w czym błąd...
<?php
# --- Dodajemy naglowki --- #
require_once dirname(__FILE__) . '/config.php'; require_once dirname(__FILE__) . '/includes/class_register.php'; require_once dirname(__FILE__) . '/includes/functions.php';
try {
$db = db_connect($type, $host, $dbname, $login, $haslo);
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$r = new register;
$r->setRegister($db);
// Zarejestruj uzytkownika
$r->rejestracja('xxdrago','email','Haslo');
} catch (Exception_ $exception) {
echo 'Wystąpił błąd w linii ' . $exception->getLine() . ': ' . $exception->getMessage(); }
?>
Klasa:
<?php
class register {
public $db; // Baza danych
public function setRegister($db) {
$this->baza = $db;
}
public function rejestracja($login, $email, $haslo) {
$db = $this->baza; // Polaczenie z baza danych
// Sprawdzamy czy login jest dostępny
$sql = $db->prepare('SELECT count(*) FROM users WHERE login = ":login"');
$sql->bindValue(':login', $login, PDO::PARAM_STR);
$sql->execute();
$dostepnosc_loginu = $sql->rowCount();
echo $dostepnosc_loginu['count(*)'];
if ($dostepnosc_loginu['count(*)'] == 0) {
// Sprawdzamy czy podany e-mail istnieje
$sql = $db->prepare('SELECT count(*) FROM users WHERE email = ":email"');
$sql->bindValue(':email', $email, PDO::PARAM_STR);
$sql->execute();
$dostepnosc_email = $sql->fetch();
if ($dostepnosc_email[0] == 0) {
} else {
throw new Exception_('Konto o podanym e-mail już istnieje!');
}
} else {
throw new Exception_('Konto o podanym loginie już istnieje!');
}
}
public function logowanie() {
}
}
?>
Baza:
-- phpMyAdmin SQL Dump
-- version 2.8.1
-- <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a>
--
-- Host: localhost
-- Czas wygenerowania: 01 Lut 2013, 17:37
-- Wersja serwera: 5.0.21
-- Wersja PHP: 5.1.4
--
-- Baza danych: `cms_v2`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla `users`
--
CREATE TABLE `users` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`login` varchar(32) collate utf8_polish_ci NOT NULL,
`haslo` varchar(64) collate utf8_polish_ci NOT NULL,
`email` varchar(128) collate utf8_polish_ci NOT NULL,
`ip` varchar(32) collate utf8_polish_ci NOT NULL,
`przegladarka` varchar(64) collate utf8_polish_ci NOT NULL,
`prawa` varchar(1) collate utf8_polish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=3 ;
--
-- Zrzut danych tabeli `users`
--
INSERT INTO `users` VALUES (2, 'xxdrago', '', '', '', '', '');