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:

<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 = echo $_POST["szoveg"];
echo "<pre>$output</pre>";
?>
</body>
</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

$output = shell_exec('grep'.$_POST["szoveg"] . '/home');
helyett:

$shellexec = 'grep ' . $_POST["szoveg"] . ' /home';
$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