Autor | Zpráva | ||
---|---|---|---|
stanislav kalivoda Profil * |
#1 · Zasláno: 6. 12. 2006, 20:41:24
Dobrý den,
mám problém - když z formuláře do jiné stránky přes method POST nějaké údaje a pak je chci vrátit zase zpět do formuláře - jak to udělám? Potřeboval bych to právě udělat, že když někdo nedoplní nějaké údaje aby ho to vrátilo zpět do formuláře a tam by byly jím odeslané údaje. Viděl jsem že by to šlo udělat přes Java Script ale já ho neovládám takže bych to zkusil přes php, poradí někdo? díky. |
||
ph@tE Profil * |
#2 · Zasláno: 6. 12. 2006, 20:44:17
V PHP to jde přes SESSIONS, to je asi nejjednodušší řešení, které používám i já, ale asi by to šlo i jinak ...
|
||
stanislav kalivoda Profil * |
#3 · Zasláno: 6. 12. 2006, 20:55:25
zajímavý...promiň mi tu otázku..jak? :)
|
||
stribny Profil |
#4 · Zasláno: 6. 12. 2006, 21:35:20
A co kdyby se oznámení o chybě zobrazilo na stránce s formulářem a ten by se automaticky naplnil POST hodnotami?
|
||
ernesto Profil * |
#5 · Zasláno: 7. 12. 2006, 00:21:19
vřele doporučuju seriál na linuxsoft.cz
|
||
krteczek Profil |
#6 · Zasláno: 7. 12. 2006, 10:35:45
kvuli tomuhle používám systém kdy je formulář i zpracování v jednom skriptu, a teprve v případě kdy je vše v pořádku, přesměruji na jinou stránku, kde podám informace o úspěšném provedení...
krteczek |
||
Petr K Profil * |
#7 · Zasláno: 7. 12. 2006, 10:44:54
Dobry den,
mam trochu podobny problem. Na lokalu jedu na Apachi pod Linuxem, PHP 5.0.2 . Register_globals mam nastavene na on safe mode vyply, dlouhe pole povolene, poradi EGPCS. Stejne server vyzaduje abych promenne z formularu volal pres $_POST[ x] . Potrebuji je pres $x, jinak bych pracne musel predelavat cely rozsahly skript. No a taky me hlavne zajima, kde se jeste tohle muze nastavovat. Dekuji |
||
nightfish Profil |
#8 · Zasláno: 7. 12. 2006, 11:22:57
extract()
nicméně pozor: Do not use extract() on untrusted data, like user-input ($_GET, ...). If you do, for example, if you want to run old code that relies on register_globals temporarily, make sure you use one of the non-overwriting extract_type values such as EXTR_SKIP and be aware that you should extract in the same order that's defined in variables_order within the php.ini. Nepoužívejte extract() na neprověřená data, jako například vstup od uživatele ($_GET, $_POST,....) Pakliže to uděláte, například proto, že chcete spustit starý skript, který spoléhá na register_globals, určite použijte jednu z nepřepisujících hodnot extract_type, jako například EXTR_SKIP, a vězte, že byste měli proměnné extrahovat ve stejném pořadí, jako je uvedeno v proměnné variables_order v php.ini. |
||
Petr K Profil * |
#9 · Zasláno: 7. 12. 2006, 11:34:57
To ale neresi muj problem. Jestlize budu pouzivat extract u promennych muzu je rovnou prepsat na $_POST.
|
||
Petr K Profil * |
#10 · Zasláno: 7. 12. 2006, 12:58:10
A hlavne potrebuji vedet, jak nastavit PHP.ini aby fungovali globalni promenne kdyz uz je mam nastavene na on. A apache restartovany samozrejme :-]
|
||
nightfish Profil |
#11 · Zasláno: 7. 12. 2006, 13:30:48
pakliže je v php.ini nastaveno register_globals na on a apache byl restartován, musí to fungovat... doporučuji zkontrolovat, zda-li editujete správný php.ini a taky co je uvedeno ve výpisu phpinfo()
jinak řešení s extractem by to bylo...na začátek každého skriptu (třeba do nějakého includovaného souboru) dát extract($_POST, EXTR_SKIP); a je vymalováno... pakliže nemáte možnost do každého skriptu toto automaticky doplnit, je to smůla a nezbyde než to udělat ručně... |
||
Petr K Profil * |
#12 · Zasláno: 7. 12. 2006, 13:55:08
Zde prosim muj phpinfo http://www.levnanafta.com/info.html ... jinak dekuji za rady.
|
||
k Profil * |
#13 · Zasláno: 7. 12. 2006, 15:46:30
stanislav kalivoda
<form action="scrpit.php" mehot="post"> <input type="text" name="jmeno" value="<?echo $_SESSION['jmeno'];?>"> </form> script.php if(!array_key_exists('jmeno',$_SESSION) && array_key_exists('jmeno',$_POST)) $_SESSION['jmeno']=$_POST['jmeno']; to je jen hodne primitivni priklad. |
||
Petr K Profil * |
#14 · Zasláno: 7. 12. 2006, 16:02:44
Diky za script, opravdu bych ale potreboval spise vyresit muj problem. Zamyslel jsem se nad tim jeste jednou a trlklo me toto:
Jestlize zacatek meho skriptu je takovy: if ($podminka=='x') { while(list($w,$z)=each($_POST['y'])) { Proc nefunguje i takhle if ($podminka=='x') { while(list($w,$z)=each($y)) { pricemz promenna je z formu hidden pole s value='x' a podminka je splnena // overeno echem ale list uz mi nefunguje, pouze s $_POSTem. Obe promenne jak $podminka tak $y //coz je input se jmenem y[w] value=z jsou prece POST data, tak by teoreticky meli fungovat pouze pres $_POST... Mozna to zbytecne resim, ale rad bych si umel nastavit lokalni server. Dekuji |
||
stanislav kalivoda Profil * |
#15 · Zasláno: 7. 12. 2006, 20:40:59
Thx...už sem to vyřešil, udělal jsem to jak je to popsaný v jednom seriálu o php. Díky všem za odpovědi...
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0