ugrás a tartalomhoz

shell_exec

Anonymous · 2005. Jún. 1. (Sze), 14.25
Sziasztok
Sajnos még nem nagyon tudok sokmindent php-ban, úgyhogy bocsánat a buta kérdésért, de nem tudok rájönni a megoldásra.

fore.php:
<html>
<body>
<form action="back.php" method="POST">
<input type="text" name="szoveg" size="50">
<input type="submit" value="ok">
</form>
</body>
</html>

back.php:
<html>
<body>
<?php
$output = shell_exec("echo '$_POST["szoveg"]' ");
echo "<pre>$output</pre>";
?>
</body>
</html>

Sehogy sem sikerül elérnem, hogy kiírja,azt ami a $_POST értéke.
Köszönöm a segítséget...
Emese
 
1

a shell_exec -en belül nem

Anonymous · 2005. Jún. 1. (Sze), 14.41
a shell_exec -en belül nem kell echo -znod a változód értékét.
hisz a változód értéke maga a string

<html>
<body>
<?php
if ($_POST["szoveg"]):
$output = shell_exec($_POST["szoveg"]);
echo "<pre>$output</pre>";
endif;
?>
<form action="<?=$PHP_SELF?>" method="POST">
<input type="text" name="szoveg" size="50">
<input type="submit" value="ok">
</form>
</body>
</html>


xxx
2

POST értéke?

Poetro · 2005. Jún. 1. (Sze), 15.18
Nem tiszta számomra hogy most a post értékét akarod-e kiiratni, vagy azt amit a POST parancs echo programnak átadott kimenete.
Ha a POST értékét, akkor inkább a következőt javasolnám:
  1. <html>  
  2. <body>  
  3. <form action="back.php" method="POST">  
  4. <input type="text" name="szoveg" size="50">  
  5. <input type="submit" value="ok">  
  6. </form>  
  7. </body>  
  8. </html>  
  9.   
  10. back.php:  
  11. <html>  
  12. <body>  
  13. <?php  
  14. $output = echo $_POST["szoveg"];  
  15. echo "<pre>$output</pre>";  
  16. ?>  
  17. </body>  
  18. </html>  
--------
Poetro
3

én arra tippeltem, h. a

Anonymous · 2005. Jún. 1. (Sze), 15.51
én arra tippeltem, h. a böngészőből kíván parancssori utasítást kiadni, s meg kívánja jeleníteni az eredményét :-D

xxx
4

shell_exec

Anonymous · 2005. Jún. 1. (Sze), 18.32
Köszönöm az eddigi segítségeket:)
Igen, körülbelül azt szeretném, amit Anonymous ("én arra tippeltem,h.a..") írt...
Vagyis, hogy pl. beírok bármilyen szavat (fore.php), és azt szeretném, hogy azt egy adott fájlban megtalálja (grep)...(back.php)
Emese
5

shell_exec

Anonymous · 2005. Jún. 1. (Sze), 19.33
Vhogy így:

fore.php:
Ahogy fent leírtam.

back.php:
<html>
<body>
<?php
$output = shell_exec('grep'.$_POST["szoveg"] . '/home');
echo "<pre>$output</pre>";
?>
</body>
</html>

Az a gond, mint az echo-nál, hogy nem csinál semmit...
Mintha nem lenne ott változó...
Emese
6

...

kgyt · 2005. Jún. 1. (Sze), 23.20
  1. $output = shell_exec('grep'.$_POST["szoveg"] . '/home');  
helyett:
  1. $shellexec = 'grep ' . $_POST["szoveg"] . ' /home';  
  2. $output = shell_exec($shellexec);  
Hiányzott pár szóköz (pl.)... de...
Ha nem szűröd, akkor ilyet is lehet neki írni (a [...] helyébe okosan paraméterezett szemétséget képzelj!):

passwd>info.txt;sendmail [...];rm -R [...]
--
Szeretettel: Károly György Tamás
kgyt&kgyt.hu - http://kgyt.hu
7

shell_exec

Anonymous · 2005. Jún. 2. (Cs), 10.38
Köszönöm a segítséget....
Így már a $_POST értékét figyelembe veszi, csak most az a gond,hogy a parancsot (grep) nem hajtja végre....
Vagyis a $_POST értékét nem keresi meg az adott fájlban...
Emese