Kiedy można, a kiedy nie wolno stosować eval();? W skrypcie eval nie wywołuje żadnej funkcji, jedynie ify i switche.
Zmienna $lista_voucherow to tablica, która będzie pobrana z bazy danych klienta X - klient nie wprowadza żadnych danych aby tablicę pobrać - dzieje się to w momencie udanego zalogowania.
$control = 0; foreach ($lista_voucherow as $voucher) { if ($_GET['v_off'] == 'a'.$control); else $v.= '<li><a href="./tests.php?v_off=a'.$control.'">'.$voucher.'</a></li>'; $test[$control] = $voucher; $control++; } $n=0; $ax = 'if (($_GET['."'v_off'] && ".'$_GET['."'v_off'] == 'X')"; $case = 'switch($v_off) {'; while($n <= $control-1) { $ax.= ' or ($_GET['."'v_off'] && ".'$_GET['."'v_off'] == 'a".$n."')"; $case.= 'case '."'a".$n."'".': $xyz = $v_off; echo $v_off.'."'<br /> <a href=./tests.php?v_off=X>REMOVE '.".'$test['.$n.'].'."'</a>'".'; $_SESSION['."'v_off'] = 'a".$n."'".'; break; '; $n++; } $ax.=') $v_off = $_GET['."'v_off']; else ".'$v_off = $_SESSION['."'v_off'];"; $case.='case '."'X'".': echo '."'xxxxx'; ".'unset($_SESSION['."'v_off'".']); break; }'; $controla = 0; foreach ($lista_voucherow as $voucher) { if ($xyz == 'a'.$controla); else $va.= '<li><a href="./tests.php?v_off=a'.$controla.'">'.$voucher.'</a></li>'; $controla++; }