Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Operacje na zmiennych z funkcji
Forum PHP.pl > Forum > Przedszkole
patryk9200
Cześć,
zrobiłem sobie taką oto funkcję:
  1. <?php
  2. function post1 ($php, $html, $dozwolone, $name, $zmname, $wykonaj)
  3. {
  4. $post = mysql_escape_string($zmname);
  5. if ($html == 1){ $qwe = strip_tags($post, ''.$dozwolone.''); };
  6. if ($php == 1) { $qwe = strtr($qwe, array('eval' => '', ' '', ' '', '?>' => '', ' EWAL' => '')); };
  7. $name = $qwe;
  8. eval($wykonaj);
  9. };

i wywołuję ją w ten sposób:
  1. <?php
  2. $f = '
  3.  
  4. test ;';
  5. post1 (1, 1, '', 'test', $f, '');
  6. echo $test;
  7. ?>

nie wiem dlaczego ale funkcja echo zwraca pustą wartość a gdy zrobię tak:
[/php]
i wywołuję ją w ten sposób:
  1. <?php
  2. $f = '
  3.  
  4.  
  5.  
  6. test ;';
  7. post1 (1, 1, '', 'test', $f, 'echo $test;');
  8. ?>

to wszystko działa ok...
skowron-line
A do czego służy funkcja eval questionmark.gif
http://pl2.php.net/manual/en/function.eval.php
przykład #1.
Kildyt
  1. <?php
  2. $f = '
  3.  
  4. test ;';
  5. post1 (1, 1, '', 'test', $f, '');
  6. echo $test;
  7. ?>
A ja polecam podstawy kursu PHP dot. zasięgu zmiennych.
patryk9200
do czego służy eval wiem doskonale specjalnie tam jest gdybym chciał coś dodać do funkcji, natomiast jak zwiększyć zasięg zmiennych?
ShadowD
Musisz zamienić je na globalne, albo przez przedrostek lub dopisać do jakiejś globalnej tablicy np post czy get.

Lepszym pomysłem było by dodanie parametru i prze niego dodawanie zmiennej lub zainteresowanie się OP.
patryk9200
już mam w każdej z funkcji dodałem global $$name;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.