Skocz do zawartości

Zapisanie danych w więcej niż jednej bazie


michalk

Rekomendowane odpowiedzi

Witam!

Chciałbym się dowiedzieć czy jest możliwość zapisania danych w więcej niż jedna baza. Mam stronke opartą na skrypcie X i chciałbym zrobic wiecej stron opartych na tym skrypcie ale przy tworzeniu nowych uzytkownikow chcialbym zeby te dane bylo przekazywane tez do innych baz. Wszystkie bazy sa tak samo zbudowane.

Nie znam sie jakoś na php, ale do kodu ktory mam mysle ze trzeba dokleic jakies sformulowanie typu "and if click save (tutaj dane skopiowane z wcześniejszego kodu) i dostep do bazy X1 i X2 "

Przedstawiam kod pliku newaccount.php

<?php 

class newAccount extends pageModule
{
public function onLoad($param)
{
	parent::onLoad($param);
	if($this->User->UserID || $this->User->IsAdmin)
		throw new exceptionModule(500,'registration_impossible');

// 		$this->Master->loginPanel->loginPanel->setVisible(false);
// 		$this->Master->searchPanel->searchPanel->setVisible(false);

	$findTerms=$this->DataAccess->findTerms();
	if($findTerms!==null)
	{
		$this->termsPanel->setVisible(true);
		$this->terms->Text=stripslashes($findTerms);
	}
}

public function checkUsername($sender,$param)
{
	$username=strtolower($this->username->Text);
	$param->IsValid=$this->DataAccess->queryUserByName($username)===null;
}

public function checkEmail($sender,$param)
{
	$email=strtolower($this->email->Text);
	$param->IsValid=$this->DataAccess->queryUserByEmail($email)===null;
}

public function checkCode($sender,$param)
{
	$code=$this->codeBox->Text;
	$param->IsValid=$this->DataAccess->checkCode($code)===true;
}

public function addUser($sender, $param)
{
	if($this->IsValid)
	{

		$accountApproval=TPropertyValue::ensureBoolean($this->Application->Parameters['AccountApproval']);
		$is_activated=($accountApproval===true)?0:1;
		$smsRegistration=TPropertyValue::ensureBoolean($this->Application->Parameters['SMSRegistration']);

		$userRecord=new UserRecord;
		$userRecord->name=$this->username->Text;
		$userRecord->pwd=md5($this->pwd1->Text);
		$userRecord->email=$this->email->Text;
		$userRecord->status=$is_activated;
		$userRecord->validationCode=$this->generateCode();
		$this->DataAccess->insertUser($userRecord);

		if($smsRegistration===true)
			$this->DataAccess->useCode($this->codeBox->Text);


		$this->registerPanel->setVisible(false);
		$this->infoPanel->setVisible(true);
		if($is_activated==0)
			$this->info->Text='Konto zostało założone, jednak wymaga jeszcze aktywacji<br />Aby aktywować swoje konto kliknij w link aktywacyjny wysłany na Twój adres email';
		else
			$this->info->Text='Konto zostało założone. Możesz się już zalogować.';
	}
}

}

?>

Odnośnik do komentarza
Udostępnij na innych stronach

Chciałbym się dowiedzieć czy jest możliwość zapisania danych w więcej niż jedna baza.
Tak, istnieje taka możliwość...
Nie znam sie jakoś na php, ale do kodu ktory mam mysle ze trzeba dokleic jakies sformulowanie
Dokleić to sobie możesz na monitorze kartkę z hasłem: "chcę korzystać z php wiec nie ma innej drogi jak się zacząć uczyć tego języka"... :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

@Mion: stałeś się ostatnio zgryźliwym tetrykiem :angry:

@michalk: obawiam się, że nie uzyskasz odpowiedzi (w Twoim rozumieniu kodu) ot tak. Sprawa wymaga wgryzienia się w kod aplikacji na PRADO, co zajmie trochę czasu, a czas = $

Oficjalna strona serii Football Manager ( FM 2005, FM 2006 ) - CM Revolution

Forza MLKS Woźniki Śląskie!

Odnośnik do komentarza
Udostępnij na innych stronach

jest taki framework (czy tez bardziej aplikacja ) SLONY-I - jest to system replikacji bazy danych - z tego co sie orientuje to mozna go tak skonfigurowac aby duplikował pojedyncze tabele

tylko ze bez znajomosci php to tez sie nie da :)

pozdrw.

Joseph Straszny [pozycjoner.net]

--

blog o pozycjonowaniu w nowym wydaniu

webgielda.pl - ogłoszenia SEO i nie tylko

Odnośnik do komentarza
Udostępnij na innych stronach

@Mion: stałeś się ostatnio zgryźliwym tetrykiem
A jak inaczej można odpowiedzieć na tak sformułowane pytania jak gość wkleja kawałek kodu nie mając pojąca nawet co wkleja ??? Chcąc jeździć samochodem musimy nauczyć się go bezpiecznie prowadzić, chce się bawić w webmastering i korzystać z PHP to cóż trzeba choć w stopniu podstawowym znać ten język, a nie pisać: "Nie znam sie jakoś na php, ale do kodu ktory mam mysle" ... :D

Poza tym wydaje mi się, że w przypadku Michal'ka najprościej będzie napisać skrypcik albo do robienia kopi danej tabeli w innej bazie, albo dopisywania danych z jednej tabeli do tabeli w innej bazie uruchamiany np. cronem :)

Albo wymiana danych oparta na XML tak czy inaczej bez znajomości PHP może dokleić sobie to co napisałem ...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Ale z tym mogą być duże problemy jak się bazy rozsynchronizują, co jeśli strony są duże na pewno się stanie. Operacje dodawania do kilku baz nie są atomowe co znowu spowoduje problemy z synchronizacją. Lepiej użytkowników dodawaj do oddzielnej wspólnej bazy, albo wspólnej tabeli. Przynajmniej to będzie działało w przewidywalny sposób i nie będziesz musiał modyfikować 25 skryptów za każdym razem gdy dodasz albo usuniesz jakąś stronę.

A jeśli to już koniecznie musisz mieć w różnych bazach to już lepiej użyj czegoś do synchronizacji.

Co do skryptu wygląda na bardzo dobrze napisany. Pewnie będzie łatwo zmodyfikować, żeby korzystał z jednej bazy do autoryzacji userów.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności