Autor | Zpráva | ||
---|---|---|---|
blast3r Profil |
#1 · Zasláno: 31. 5. 2005, 14:48:28
<form name="spracuj" method="post" action="index.php?page=odkazy&action=send">
Preco toto neni validne? Potom ako mam preniest udaje $_GET['action'] ? Pre presnost tu je link http://www.blaster.profitux.cz/index.php?page=katalog dole je odkaz na skontrolovanie validity |
||
Jiří Bureš Profil * |
#2 · Zasláno: 31. 5. 2005, 14:54:13
Znak & by měl být zadaný znakovou entitou &.
Protože nevím, jak toto fórum zachází se znakovými entitami, tak je potřeba za znak & v adrese doplnit amp; (text amp a středník). |
||
blast3r Profil |
#3 · Zasláno: 31. 5. 2005, 15:00:38
Dik, na toto by som urcite neprisiel :))
|
||
Jiří Bureš Profil * |
#4 · Zasláno: 31. 5. 2005, 15:02:55
Ale jo. Přišel. Otázkou je kdy :-)
|
||
Yuhů Profil |
#5 · Zasláno: 31. 5. 2005, 15:03:04
Vůbec nejde o validitu znaku &. Ten se sice (mimochodem) do url má psát jako &, ale v tomto případě je problém v něčem jiném.
Parametry se nedají psát přímo do action. Na to jsou skryté inputy. Takhle je to správně: <form name="spracuj" method="post" action="index.php"> <input type="hidden" name="page" value="odkazy"> <input type="hidden" name="action" value="send"> ... |
||
Yuhů Profil |
#6 · Zasláno: 31. 5. 2005, 15:04:36
> Potom ako mam preniest udaje $_GET['action']
přes $_GET to nepůjde, ale přes $_POST by neměl být problém |
||
blast3r Profil |
#7 · Zasláno: 31. 5. 2005, 15:57:11
No, asi si nerozumieme :)
Udaje ako su url stranky, popis stranky a nazov stranky -> prenasam ich cez $_POST action -> cez $_GET No a potom uz len scipt:
|
||
drake127 Profil * |
#8 · Zasláno: 1. 6. 2005, 16:07:10
Umístění znaku & do stránky skutečně není validní, protože prohlížeč by měl/mohl pokládat text za ním, za definici znakové entity.
Je naprosto bez problémů dávat do action parametry (get) a formulář posílat přes method="post". Tím pádem skriptu dojdou některé proměnné v get a jiné v post. Nakolik je to využitelné záleží na tom, co zrovna děláte. Já třeba do kódu často dávám toto: if (isset($_GET['page'])) $page = $_GET['page']; if (isset($_POST['page'])) // POST má prioritu před GET, pokud jsou poslané obě dvě $page = $_POST['page']; if (!isset($page)) // Pokud není ani jedna $page = 'home'; if (!is_readable("./$page.php")) // A pokud neexistuje. $page = '404'; |
||
DoubleThink Profil * |
#9 · Zasláno: 1. 6. 2005, 16:27:39
drake127
Přesně tak Je to jedninný způsob jak poslat zároveň POST i GET data Toto funguje: <form action="?action=write" method="post"> Toto ne: <form action="?action=write" method="get"> |
||
blast3r Profil |
#10 · Zasláno: 1. 6. 2005, 16:32:12
JJ, ja s vami suhlasim ale neviem aky ma vyznam to co Yuhu pisal-
<form name="spracuj" method="post" action="index.php"> <input type="hidden" name="page" value="odkazy"> <input type="hidden" name="action" value="send"> |
||
drake127 Profil * |
#11 · Zasláno: 1. 6. 2005, 16:46:25
Yuhu pouze převedl proměnné, které ty posíláš pomocí get do post a poslal je se zbytkem formuláře.
|
||
Victorius Profil |
#12 · Zasláno: 1. 6. 2005, 18:32:02 · Upravil/a: Victorius
V odkazech používej entitu &
validátor to žere |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0