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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2006-08-05 18:23:05

  MG_Peter - Członek DUG

MG_Peter
Członek DUG
Skąd: Gliwice
Zarejestrowany: 2005-07-29

php - nie wiem już gdzie błąd.. pomóżcie :-)

otóż tak, klasa obsługi usera:

Kod:

<?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)....

Kod:

<?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

 

#2  2006-08-05 20:35:02

  raixer - Moderator

raixer
Moderator
Zarejestrowany: 2004-08-21

Re: php - nie wiem już gdzie błąd.. pomóżcie :-)

A nie masz przypadkiem za duzo o '$' ? Daj zamiast np.

Kod:

$this->$uid

cos takiego:

Kod:

$this->uid

Open Source - Świat otwartych umysłów
Linux Registered User: #276548

Offline

 

#3  2006-08-05 21:05:10

  MG_Peter - Członek DUG

MG_Peter
Członek DUG
Skąd: Gliwice
Zarejestrowany: 2005-07-29

Re: php - nie wiem już gdzie błąd.. pomóżcie :-)

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

 

#4  2006-08-05 21:15:58

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: php - nie wiem już gdzie błąd.. pomóżcie :-)

Od 5 godzin nad tym siedzę...

Wystarczyło zajrzeć do dokumentacji. Ciekawe, że programujesz w języku nie znając jego składni.

Offline

 

#5  2006-08-06 10:51:27

  MG_Peter - Członek DUG

MG_Peter
Członek DUG
Skąd: Gliwice
Zarejestrowany: 2005-07-29

Re: php - nie wiem już gdzie błąd.. pomóżcie :-)

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

 

#6  2006-08-06 13:52:23

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: php - nie wiem już gdzie błąd.. pomóżcie :-)


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

 

#7  2006-08-06 14:23:34

  MG_Peter - Członek DUG

MG_Peter
Członek DUG
Skąd: Gliwice
Zarejestrowany: 2005-07-29

Re: php - nie wiem już gdzie błąd.. pomóżcie :-)

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)