Psl help s ukolem
22 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
NAzdarek.. Zadani Spusitelny soubour /home/create , ktery ma jako jediny parametr prirozene cislo, vypise na standartni vystup dvojnasobek tohoto cisla. Vytvoreni stranky v php, ktera tento script pouzije pro pocitami dvojnasobku cisla ze vstupu (formular pro vlozeni cisla + informace o vyledku) Upresneni Jde o to nalézt a použít jednoduchou funkci, která spustí externí spustitelný soubor (skript pro bash, exe soubor) a převezme jeho výstup. NEjak jsem nepochopil zadani protoze jsem se s tim jeste nesetkal... nema nekdo nejakou radu.. nebo alespon lidsky popis toho oc jde..... Diky moc..
-
<form> <input type="text" name="num"/> <input type="Submit"/> </form> <?php if (is_numeric($_GET['num'])) passthru('/home/create ' . $_GET['num']); ?>
-
<HTML>A ten skript - předpokládám, že jde o shellskript - /home/create <code>#!/bin/bash<br>echo "$1 * 2"|bc</code></HTML>
-
CHlapi diky ...... ale taky bych potreboval nejak textik k tomu o co vubec jde.. abych si mohl vygooglovat nejakej clanek aneco si k tomu precist....
-
<HTML>Dobře, takže: PHP část: Na straně php se ověří, zda jde o celé číslo (tady bych raději místo is_numeric použil is_int) a potom se zavolá funkce passthru. Funkce passthru spustí externí soubor a to, co spuštěný soubor vypíše do stdout, to se vypíše do zpracované stránky. Externí část: Jde o jednoduchý shellskript vykonávaný bashem. $1 je první parametr skriptu. Když je ten parametr např. 3, echo vypíše 3 * 2 a předá tento řetězec programu bc. bc není nic jiného, než kalkulátor - hodíš mu na vstup výraz a na výstup (stdout) pošle bc výsledek.</HTML>
-
Ztim diky... a omlouvam se za dalsi dotazy protoze jsem v tom lamicka :-) Ale proc je tam ten fformular na zadani cisla.... jakou tam hraje roli.. kdyz se ma cist cislo z nejakeho programu..... to je cislo toho programu nebo jak? A ta funkce passthru... ta kdyz neco zjisti tak to automaticky vypise... nebo mam spojit ty dva scripty php a externi dohromady... ?
-
Nzdarek..... nasel jsem je¨dnu vec... vypadalo by to asi takhle.. system ( '/home/create ' , $promena); NAvratova hodnota se zapïse do promene .... tu pak snadno vynasobim 2.. JEn nechapu proc je tam ten formular pro vlozeni cisla....
-
TAk zase zmena... uz jsem pochopil #!/bin/bash echo "$1 * 2"|bc kdyz uz vim co v BASHi znamena $1 .. tak uz chapu proc pouzit jen passthru... ALe proc se dava jako druhy argument u fnce passthru to cislo zadane uzivatelem ? DIky
-
Jo a jeste malickost... nemam zkusenosti s BAshem.. takze vyslednej script by vypadal takto.? <form> <input type="text" name="num"/> <input type="Submit"/> </form> <?php if (is_numeric($_GET['num'])) passthru('/home/create ' . $_GET['num']); #!/bin/bash echo "$1 * 2"|bc ?>
-
toto je obsah souboru /home/create : #!/bin/bash echo "$1 * 2"|bc to ostatni je v php skriptu. cili budes mit dva soubory: php skript a bash skript
-
A vite nedko proc se jako druhy argument u fnce passthru pouzije to cislo zadane uzivatelem ? DIky A jak ulozim ten bash script a jak ho zavolam php ? jen naincluduju?
-
Omlouvám se že nepodám radu, ale celkem mě to zaujalo a jsem zvědavý - to je domácí úkol z nějaké školy (střední/vysoké)? Jestli jo tak docela nechápu proč dávají úkol z něčeho o čem studenti/žáci absolutně nic neví.
-
Jestli pro skolu, tak je to normalni. U nas na vysce je to normalni. Dostaneme ukol, a je jedno, jak to vyresime, a jestli o tom neco vime. Proste samovyuka. Kdo chodil na prednasku, tak o tom neco malo vedel. >> A vite nedko proc se jako druhy argument u fnce passthru pouzije to cislo zadane uzivatelem ? To neni druhy argument. Je soucasti prikazu. Timto cislem predavas hodnotu argumentu pro soubor /home/create. Uvnitr toho souboru se toto cislo prezentuje jako $1.
-
No právě, kdo chodil na přednášku tak o tom něco věděl. U Dawida mám pocit že absolutně neví která bije a to mě zaujalo. Já jsem taky chodil na vysokou takže vím že úkoly jsou často dost ve stylu "hození do jezera bez přípravy a plav". Jenže vždycky je to v rámci předmětu kde se daná problematika probírá takže všichni ví o co jde a mají aspoň představu jak na to.
-
Jde o to nalézt a použít jednoduchou funkci, která spustí externí spustitelný soubor (skript pro bash, exe soubor) a převezme jeho výstup Koukal jsem do manualu php... passthru ( string command [, int return_var] ) Pokud je přítomen argument return_var, návratová hodnota tohoto příkazu se umístí sem. TAkz ejak to chapu ja... passthru ('/home/create ' , $promena ); a pak promenou vynasobim 2 a necham vypsat ------------------------------ nebo Poslu tomu programu nejake cislo <form> <input type="text" name="num"/> <input type="Submit"/> </form> <?php if (is_numeric($_GET['num'])) passthru('/home/create ' . $_GET['num']); ?> To se zpracuje a odesle se na vystup a na php strace se mi zobrazi. JAk pak zpustim ten bash aby mi ho vynasobil 2
-
Tak and tim porad premyslim... a napadla mne posledni verze... Ja tim passthru spostim ten soubor s tim bashem apredavam mu to cislo .. on to cislo veme a vynasoobi 2 a vypise... Takkhle to je?
-
Argument return_var neni vstupni, ale vystupni. Kazda unixova aplikace vraci nejakou navratovou hodnotu (ukoncen vporadku, chyba v programu, ukoncen nekorektne, .... ). Pokud aplikace nic nevraci, tak je navratova hodnota vetsinou 0 (Vse OK). Kdyz tak ctu, tak zadani neni zas tak tezky. Takze mas dva soubory "/home/create" a treba "vypocet.php" V souboru "/home/create" je obsah: #!/bin/bash echo "$1 * 2"|bc Vysvetleni: Spusti se bash soubor jez ocekava argument (hodnota za souborem - /home/create 14). Tento argument(cislo-14) se vynasobi 2 a vysledek (28) vypise na vystup. V souboru "vypocet.php" je obsah souboru: <form> <input type="text" name="num"/> <input type="Submit" /> </form> <?php if (is_numeric($_GET['num'])) passthru('/home/create '. $_GET['num']); ?> Vysvetleni: PHP skript obsahuje formular, do ktereho se zada cislo. Po stisknuti tlacitka se vykona skript - nejdrive otestuje, zda je odeslane cislo vubec cislo. Pokud je, tak zavola funkci passthru(). Coz znamena, ze se spusti prikaz " '/home/create'. $_GET['num'] ". Kde $_GET['num'] se nahradi zadanym cislem, takze se vlastne posle prikaz treba "/home/create 14". Vysledek prikazu (28) se pak zobrazi na vystup.
-
Zkousel jsem to na localhostu v jedne slozce vypis.php <form> <input type="text" name="num"/> <input type="Submit" /> </form> <?php if (is_numeric($_GET['num'])) passthru('create '. $_GET['num']); ?> a create /bez pripony/ #!/bin/bash echo "$1 * 2"|bc A kdyz zpustim php ana pisu do nej cislo tak mi to nic nevypise....
-
A na wz to pise toto Warning: passthru set_time_limit error_log ini_alter ini_set dl pfsockopen openlog syslog readlink symlink link leak fsockopen proc_open glob copy() has been disabled for security reasons in /3w/wz.cz/h/hokejparta/dawid/vypis.php on line 7
-
Cely tento ukol se vykonava na linuxu! Pokud to zkousis ve Windows, tak ti to nepujde. A zde na WZ je to zakazane. Pristupovat k systemovym prikazum neni zrovna dobry napad.
-
Chtěl sem si udělat vlastní návštěvní knihu.ale vubec mi to nefunguje. nevíte co je tam sptane? Nechce mi to vubec zpracovavat. <?php if ($zapsat) $fp = fopen("./kniha.dat", "a"); if (!$fp) exit; $prispevek = "<i>" . htmlspecialchars($jmeno) . "</i>"; if ($email) $prispevek = "<a href=\"mailto:" . htmlspecialchars($email) . "\">" . $prispevek . "</a>"; $prispevek .=", " . date("j.n.Y G:i:s") . "\n<br>" . nl2br(htmlspecialchars($text)) . "<hr>\n"; fputs($fp, $prispevek); fclose($fp); endif; ?> tohle je druha cast. <form action="<?php echo $PHP_SELF; ?>" method="post"> <table> <tr><td align="left">Jméno: <input type="text" value="<?php echo $jmeno; ?>" name="jmeno" /> </td> <td align="right">E-mail: <input type="text" value="<?php echo $email; ?>" name="email" /></td></tr> <tr><td colspan="2">Zpráva:<br /> <textarea name="text" rows="5" cols="60"></textarea> </td></tr> </table> <input type="submit" name="zapsat" value="Odeslat zprávu" /> </form> <?php if (File_exists("./kniha.dat")) readfile("./kniha.dat"); ?> dik moc.
-
2Dan: je nelsušné se někomu nacpat do vlákna s úplně jiným problémem. Založ si vlastní vlákno.