Autor | Zpráva | ||
---|---|---|---|
Kubo2 Profil |
#1 · Zasláno: 1. 6. 2012, 08:41:14
čawte,
potreboval by som spracovať dáta z jedného súboru skriptom obsiahnutým v tom istom súbore - akú action mu mám dať? |
||
blaaablaaa Profil |
#2 · Zasláno: 1. 6. 2012, 08:44:45
action="#" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" |
||
Ugo Profil |
#3 · Zasláno: 1. 6. 2012, 08:46:03
1. stávající url (pohledej v proměnné $_SERVER)
2. prázdnou 3. hash 4. get parametr osobně doporučuju prázno i ikdyž to neni validní a nebo hash |
||
Kubo2 Profil |
Počkajte... A takto to nemôže byť?
<form action="" method="post"> <label for="kr"> Údaje formulára ... </label> <input id="kr"> <input type="submit" name="odosli" Value="ano"> </form> <?php if($_POST['odosli'] = "ano") { // týmto obalím všetky príkazy, ktoré sa vykonajú pri odoslaní toho konkrétneho formulára echo $dobre; } else // čo sa stane pri hacknutí { echo $hack; }; ?> Môže to byť aj takto? |
||
Ugo Profil |
#5 · Zasláno: 1. 6. 2012, 09:43:09
može, prázdná action dobrá action, akorát validátor bude asi řvát blbosti, ale tomu se jeden nezavděčí
|
||
Kubo2 Profil |
#6 · Zasláno: 1. 6. 2012, 09:47:38
tak díki, skúsim to tak spraviť, a napíšem, jak to funguje
|
||
Beavis Profil |
#7 · Zasláno: 1. 6. 2012, 09:51:00
Kubo2:
Taky ti doporučím práznou action; dle mého je to nejlepší, nejde tam udělat chyba.. :-) A na validátor v tomhle kašli. |
||
Kubo2 Profil |
#8 · Zasláno: 1. 6. 2012, 10:41:40 · Upravil/a: Kubo2
Beavis, validátori sou všechny dost blbé
Dávají si záležat na věcech, na kterých nám nezáleží Mám ešte jednu otázku: Ako spôsobiť, aby keď sa v tom istom súbore odošle ďaľší formulár, vypísaný predošlou funkciou, napíše sa opäť ďaľší obsah, a ten predošlý bude smazán? Dobrý príklad máte napr. pri registrácii na http://www.webzdarma.cz |
||
peta Profil |
Moc ti nerozumim.
Mas soubor ahoj.php. v nem mas formular. Formular vyplnis. Kliknes odeslat. On se odesle na soubor ahoj.php. Php zacne generovat novou stranku ahoj.php. A ted se ma stat co? a) chces zobrazit ten samy formular s udaji, ktere jsi odeslal? b) chces zobrazit novy formular, ale neztratit udaje z predesleho? c) chces zobrazit udaje z predesleho a soucasne je pouzit pro dalsi formular? <?php $hodnota = isset($POST['hodnota']) ? $POST['hodnota'] : ""; ?> <form action="" method="post"> a) <input name="hodnota" value="<?php echo $hodnota; ?>"> b) <input name="hodnota" value="<?php echo $hodnota; ?>" type="hidden"> c) <?php echo "<br>hodnota = $hodnota";?> <input name="hodnota" value="<?php echo $hodnota; ?>" type="hidden"> </form> |
||
abc Profil |
Kubo2:
Dovolil bych si opravit jednu chybičku, kterou jsem v rychlosti zahlédl: if($_POST['odosli'] = "ano") => if($_POST['odosli'] == "ano")
|
||
Kubo2 Profil |
#11 · Zasláno: 3. 6. 2012, 12:35:19
abc:
Proč tam majú být dvě rovnátka ? Mně to funguje i s jedným ... |
||
pcmanik Profil |
Kubo2:
Zisti si co robi = a == v php, a ked uz to budes pozerat pozri si rovno aj ===. Toto su zakladne veci... |
||
Someone Profil |
#13 · Zasláno: 3. 6. 2012, 12:42:48
Kubo2:
Ne, nefunguje, vždy se to vyhodnotí jako true. Jedno = znamená přiřazování 2 = znamenají porovnání. A já osobně doporučuji použít isset(). |
||
Kubo2 Profil |
#14 · Zasláno: 3. 6. 2012, 12:50:30
Jáj, už viem, toto
== rovnosť a toto != nerovnosť, že? Tú nerovnosť poznám a používam, tak som si to odvodil :-] Inak díki
|
||
Kubo2 Profil |
Ja:
„...napíše sa opäť ďaľší obsah, a ten predošlý bude smazán?“ Myslel som to tak, že keď sa predošlý skript spracuje, zmaže sa predošlý výstup a nahradí ho výstup zo spracovaného skriptu. A tak ďalej. Odošle sa formulár z tohoto výstupu, tento výstup sa zmaže a nahradí ho ďaľší. V tom istom súbore. Budem rád ak mi ešte napíšete a poradíte, ale práve mi napadlo jedno riešenie, idem ho vyskúšať . Tak zatím a zanechávam ďaľšie fórum. |
||
Časová prodleva: 18 dní
|
|||
Kubo2 Profil |
#16 · Zasláno: 21. 6. 2012, 06:42:34 · Upravil/a: Moderátor (editace znemožněna) 21. 6. 2012, 09:22:00
funguje, úplně úžasně ;-]
Použil sem při tom GET parametr, proměnnú action a podmínku switch: <form action="?action=read" method="post"> <input name="text"> <input name="ptv" type="submit"> </form> <?php switch($_GET['action']) { case 'write': return funkcia_1(); break; case 'get': return funkcia_2(); break; case 'read': return funkcia_3(); break; } ?> vyriešené |
||
Časová prodleva: 11 let
|
0