Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] $_GET dzialania matematyczne str int..
dangesamurai
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 27.07.2009

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


Witam.
kontekst kodu mniej istotny, więc od razu do sedna...
Za pomocą GET'a pobieram dane z formularza. Następnie zamieniam "x" na "$x" za pomocą str_replace();
i:
  1. <?php
  2. $x = 2;
  3. $wzor =$_GET['wzor'];
  4. $zmieniony_wzor=str_replace("x","$x",$wzor);
  5. echo $zmieniony_wzor;
  6. echo " ---- ";
  7. $zmieniony_wzór_int= (int)$zmieniony_wzor;
  8. echo $zmieniony_wzór_int;
  9. ?>

po wpisaniu do formularza x.....................drukuje "2 ---- 2" - ok (IMG:http://forum.php.pl/style_emoticons/default/party.gif)
.....................................x*2.................drukuje "2*2 ---- 2" bardzo nie ok
itp
a celem jest:.........................................druk......"2*2----4"
uprzejmie proszę o podpowiedzi.
Pozdrawiam.

Ten post edytował dangesamurai 27.07.2009, 20:36:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dangesamurai
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 27.07.2009

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


Działa tym razem przy * i / (działaja tez funkcjie sin() abs() itp....)
wysypuje eval() przy + i -

fragment prog generujacego funkcje

  1. <?php
  2. $x=$od_x;
  3.        while ($x<$do_x) {
  4.        
  5.          $wzor= urldecode($_GET['wzor']);  //pobiera wpisany wzor f. do zmiennej
  6.            $wzor_x=str_replace("x","$x",$wzor);
  7.            $wzor_x1=str_replace("x","$x1",$wzor); //
  8.            $funkcjax= eval("return {$wzor_x};"); //
  9.            $funkcjax1= eval("return {$wzor_x1};"); //
  10.            //generowanie
  11.            $x=$x+0.1;
  12.            $x1=$x+0.1;
  13.            $y=$funkcjax;
  14.            $y1=$funkcjax1;
  15.            $xx=$x*$skala_x+$szer/2;
  16.            $yy=(-1*$y*$skala_y)+$wys/2;
  17.            $xx1=$x1*$skala_x+$szer/2;
  18.            $yy1=(-1*$y1*$skala_y)+$wys/2;
  19.            imageline($gd, $xx, $yy, $xx1, $yy1, $czerwony);
  20.            
  21.        }
  22. ?>


Ten post edytował dangesamurai 29.07.2009, 08:11:34
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 17:31