Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z przekazaniem zmiennej
kropla
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 16.12.2005

Ostrzeżenie: (10%)
X----


witajcie mam (pewnie banalny) problem z którym nie mogę sobie poradzić. Otóż chce zrobić sprawdzanie uprawnień z ewentualnym logowaniem do strony i tak w pliku index.php mam coś takiego

  1. <?php
  2. require_once('myObject.php');
  3.  
  4. echo 'witaj';
  5. ?>


w pliku 'myObject.php mam

  1. <?php
  2. class myObject{
  3. var $us_name;
  4. var $us_pass;
  5. var $sess;
  6. var $_form_login="./sample_lform.htinc";
  7. var $action;
  8.  
  9. function check(){
  10.  
  11. echo 'funkcja check<br>';
  12. echo '<br><br>user -'.$this->us_name;
  13.  
  14. require_once($this->_form_login);
  15.  
  16. }
  17. }
  18.  
  19. $run =new myObject();
  20. $run->check();
  21. ?>


a w pliku lform.htinc

<form action="" name="dane" method="post">
USER -> <input type="text" name="us_name"/>
PASSWORD -><input type="password" name="us_pass"/><br>
<input type="button" value="Zapisz" onClick="gotopage('dane','check','')">
<input type="hidden" name="action" value="logging">
<input type="hidden" name="run">
</form>

od razu mówię z góry że przekazuję te wartośći za pomocą gotopage i to działa.
Jak w pliku MyObject.php w linii gdzie obecnie jest
  1. <?php
  2. echo '<br><br>user -'.$this->us_name;
  3. ?>
zmienię wartość
  1. <?php
  2. $this->us_name
  3. ?>
na
  1. <?php
  2. $_POST['us_name']
  3. ?>
to wtedy mam wyswietlane to co wpisalem z formularza ale jak mam przez $this->us_name to już nie.
Jak to powinno być questionmark.gif?
dzięki za info
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




$this->us_name nie zawiara tego, co masz w formularzu, bo nigdzie tego nie przypisałeś do tej składowej.
Możesz np. tak (prymitywnie)

  1. <?php
  2. class myObject{
  3. var $us_name=$_POST["us_name"]; // o tutaj
  4. var $us_pass;
  5. var $sess;
  6. var $_form_login="./sample_lform.htinc";
  7. var $action;
  8.  
  9. (...)
  10.  
  11. // i teraz możesz
  12.  
  13. print $this->us_name; //dlatego, że wcześniej przypisałeś wartosć tablicy POST o kluczu us_name.
  14. ?>


Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
kropla
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 16.12.2005

Ostrzeżenie: (10%)
X----


nie działa -> jawne przypisanie przy deklaracji wywala mi błąd
Parse error: parse error in c:\usr\apache\httpd\html\dziek\new\myObject.php on line 3
smile.gif
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Fakt, w zależności od wersji php ta metoda działa lub nie.
wpakuj np. w konstruktor i po problemie smile.gif
  1. <?php
  2. function __construct(){
  3. $this->us_name=$_POST["us_name"];
  4. }
  5. ?>


choć lepiej...
tak:
  1. <?php
  2. function __construct($aData){
  3. $this->us_name=$aData["us_name"];
  4. }
  5. // a w ciele tak:
  6. $obiekt=new MyObject($_POST);
  7. ?>


Ten post edytował Cysiaczek 21.10.2006, 12:57:38


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:01