Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1

Członek DUG


otóż tak, klasa obsługi usera:
<?php
//klasa USERS
require_once('config.php');
class user {
var $uid;
var $number;
var $pass;
var $info;
var $nick;
var $userRow;
function user()
{
global $db;
$this->$uid = 0;
}
function showUid()
{
return $this->$uid;
}
function showNumber()
{
return $this->$number;
}
function showPass()
{
return $this->$pass;
}
function showInfo()
{
return $this->$info;
}
function showNick()
{
return $this->$nick;
}
function getUser($id)
{
global $db;
$this->$uid = $id;
$this->$userRow = $db->GetAll("SELECT * FROM users WHERE uid=".$this->$uid."");
$this->$number = $this->$userRow['number'];
$this->$pass = $this->$userRow['pass'];
$this->$info = $this->$userRow['info'];
$this->$nick = $this->$userRow['nick'];
}
function setNumber($n)
{
$this->$number = $n;
}
function setPass($p)
{
$this->$pass = $p;
}
function setInfo($i)
{
$this->$info = $i;
}
function setNick($ni)
{
$this->$nick = $ni;
}
function addUser()
{
$db->Execute("INSERT INTO users(number, pass, info, nick) VALUES('".$this->$number."', '".$this->$pass."', '".$this->$info."', '".$this->$nick."')");
}
function updateUser()
{
global $db;
if($this->$uid > 0)
{
$db->Execute("UPDATE users SET number='".$this->$number."', pass='".$this->$pass."', info='".$this->$info."', nick='".$this->$nick."' WHERE uid='".$this->$uid."'");
}
}
}
class users {
var $tabelka;
function users()
{
global $db;
$this->$tabelka = $db->GetAll("SELECT * FROM users");
}
function getUsers()
{
return $this->$tabelka;
}
}
?>
i plik, który powinien z tą klasą współgrać (edycja usera)....
<?php
require_once('config.php');
require_once('includes/class.users.php');
$uid = $_REQUEST['uid'];
$user = new user;
$user->getUser($uid);
/*****
****
***
**
* TUTAJ WYDAJE MI SIĘ, że nie gra coś, bo echo $user->showNick; nic nie wyświetla...
/********
if(isset($_REQUEST['number']))
{
$smarty->assign('show_form', FALSE);
$number = $_REQUEST['number'];
$pass = $_REQUEST['pass'];
$info = $_REQUEST['info'];
$nick = $_REQUEST['nick'];
$user->setNumber($number);
$user->setPass($pass);
$user->setInfo($info);
$user->setNick($nick);
$user->updateUser();
$smarty->assign('zedytowano', TRUE);
}
else
{
$smarty->assign('show_form', TRUE);
$smarty->assign('uid', $uid);
$smarty->assign('number', $user->showNumber());
$smarty->assign('pass', $user->showPass());
$smarty->assign('info', $user->showInfo());
$smarty->assign('nick', $user->showNick());
}
$smarty->display('admin_users_edit.tpl');
?>
Otóż zupełnie mi nie pasuje, bo wartości uzyskiwane przez showNumber/Nick/itd. są puste...
wyjaśnienie - $db - to obiekt ADOdb ładnie GetAll pokazuje nam associative array danych wyciągniętych z mySQL'a.
Offline

Moderator


A nie masz przypadkiem za duzo o '$' ? Daj zamiast np.
$this->$uid
cos takiego:
$this->uid
Offline

Członek DUG


dzięki... pomogło.
Ale kurczę - ie wpadłbym na to, bo klasa users działała doskonale.
DO tego musiałem poprawić kilka błędów mniejszych w innym pliku, ale to nie było głównym powodem niejasności w dizałaniu,
Dzieki wielkie raz jescze. Od 5 godzin nad tym siedzę...
Offline



Administrator




Od 5 godzin nad tym siedzę...
Wystarczyło zajrzeć do dokumentacji. Ciekawe, że programujesz w języku nie znając jego składni.
Offline

Członek DUG


wiesz.. sęk w tym, że właśnie czytałem dokumentację i nie zauważyłem tego, bo gdzieś kiedyś widziałem $this->$zmienna i stąd taki mój zapis...
Cóż co do składni - nie zawsze się ją zna jak się kodzi.
Offline



Administrator




Cóż co do składni - nie zawsze się ją zna jak się kodzi.
To ciekawe ;] Czyli w sumie mógłbyś programować w jakimkolwiek języku, bo nie musisz znać składni. Zdolniacha ;]
Offline

Członek DUG


nie, wcale nie powiedziałem, że potrafię/mógłbym/można w ten sposób programowac w każdym języku.
nie zawsze pamiętasz dokłądnie jak coś zrobić. Czytałem manuala i po prostu umknęło mi, że tam nie ma znaku $. A co do znajomości składni - od czasu do czasu napiszę coś w cpp, to wcale nie znaczy, że się nie mylę przy pisaniu. Uważam, że najlepiej się uczyć pisząc coś. Samo kucie manuala na pamięć by mi nic nie dało. A że się pomyliłem tutaj - cóż, dla jednych to oczywista wpadka. Pewnie zorientowałbym się o co chodzi, gdyby php wywalał się na takiej linijce, ale to działało prawie dobrze...
Problem rozwiązany. Temat można zamknąć...
Offline
Strony: 1