Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazywanie zminnych pomiędzy funkcjami
sztosz
post
Post #1





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jak szybko przekazać zmienne?

Używam stworzonej przeze mnie klasy do wyswietlania stron, zmienia sie tylko zawartosc strony. nagłowek menu i stopka pozostaja bez zmian. Dane o nich sa zapisane w plikach *.req (używam takiego rozszerzenia od require). Klasa posiada funkcje do wyswietlania:

[php:1:0b9f477ce5]<?php

class strona
{
// atrybuty klasy

var $zawartosc = '0';

...

// operacje klasy

function ustaw_zawartosc ($nowa_zawartosc) // ustawienie zawartosci strony
{
$this->zawartosc = $nowa_zawartosc;
}
....


// funkacja sluzy do wyswietlania strony:

function wyswietl()
{
echo "<html><head>";
$this->wyswietl_meta();
$this->wyswietl_tytul($this->tytul);
$this->wyswietl_slowa_kluczowe($this->slowa_kluczowe);
$this->wyswietl_style();
echo "</head><body>";
$this->wyswietl_naglowek();
$this->wyswietl_menu();
$this->wyswietl_zawartosc($this->zawartosc);
$this->wyswietl_stopke();
echo "</body></html>";
}

// funkcje wykorzystywane przez wyswietl()

....

// aż do

function wyswietl_zawartosc($zawartosc)
{
if ($zawartosc != '0')
{
require "$zawartosc";
}
else
{
$zawartosc = require ('default/zawartosc.req');
echo $zawartosc;
} //end if
}


}

?>[/php:1:0b9f477ce5]

Strona z formularzem dodaj.php:
przesyła zawartosc do strony dodane.php
[/php]

[php:1:0b9f477ce5]<?php

require ('classes/strona.cls');

$dodaj = new strona();

$zawartosc_strony = 'pages/dodaj.req';

$dodaj -> ustaw_zawartosc ($zawartosc_strony);
$dodaj -> wyswietl();
?>[/php:1:0b9f477ce5]

przesyła zawartosc do strony dodane.php ktura wyglada podobnie.
Plik dodaj.req formularza konczy sie:
[xml:1:0b9f477ce5]
<INPUT TYPE="TEXT" NAME="ilosc_cd" MAXLENGHT="3"><BR>
</TD>
</TR>
<TR>
<TD>
<INPUT TYPE="SUBMIT" VALUE="DODAJ"><BR>
</TD>
</TR>
</TABLE>
</FORM>[/xml:1:0b9f477ce5]

na sronie dodane dodane.req nie działa
[php:1:0b9f477ce5]<?php
$nazwa = $HTTP_POST_VARS['nazwa'];
?>[/php:1:0b9f477ce5]

Ale na stronie dodane.php działa co jest grane?

Jeszcze raz dodam ze dodane.req jest wywoływane przez zagnierzdzone funkcje klasy w dodane.php.

Czy to chodzi o zasieg zmiennych? A jesli tak to czy [php:1:0b9f477ce5]$HTTP_POST_VARS[/php:1:0b9f477ce5]

nie jest zmienna superglobalna? Z góry dziekuje za wskazanie ewentualnych błedów lub rozwiązan.

PS. Znalazłem rozwiązanie poprzez zastosowanie pliku tymczasowego ale nie jest to rozwiazanie ani ładne ani wygodne. Plik jest tworzony przez skrypt w trakcie kilku pierwszych linijek a w polowie juz usuniety, wiec nim dojdzie do konca nie ma po tym tempi sladu. Czy jest to bezpieczne rozwiazanie?


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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: 21.08.2025 - 23:22