Problema form cu parametri la adresa action si method GET

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje: 500

Problema form cu parametri la adresa action si method GET

Buna ziua,
Am o problema cu un form, ii dau sa faca ceva si imi face altceva.
De exemplu
am in bara urmatorul link
/index.php?db=2&m=elecson&p=
si am un form mai jos prin care preia o anumita perioada pentru select-ul care il vreau.
si teoretic cand dau apas pe buton ar trebui sa imi apara sub forma
/index.php?db=2&m=mag&p=&start=2014-10-26&end=2014-10-29
dar imi apare
/index.php?start=2014-10-26&end=2014-10-29
Codul sursa este urmatorul

Cod: Selectaţi tot

$form = '<form action="?db='.$_GET['db'].'&m='.$_GET['m'].'&p='.$_GET['p'].'&start='.$_POST['start'].'&end='.$_POST['end'].'" method="GET">
Alegeti data inceput: 
<input name="start" onfocus="showCalendarControl(this);" value ="'.$start_date.'" type="text" readonly="true">
si data sfarsit: 
<input name="end" onfocus="showCalendarControl(this);" value="'.$end_date.'" type="text" readonly="true">
<input type="submit" value="Genereaza lista comenzi" /> <a href="?db='.$_GET['db'].'&m='.$_GET['m'].'&p='.$_GET['p'].'">Reseteaza lista comenzi</a>
</form><hr>';
Nu stiu de ce nu imi preaia amandoua ci doar a doua parte.

Daca intelegeti ceea ce vreau va rog sa ma ajutati.
Astept raspuns.
Cu stima Trif Alexandru
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje: 4343
Salut
Asa lucreaza trimiterea datelor din formular prin GET, campurile se adauga la numele fisieruluui din "action", si sterge orice e dupa "?" in adresa de la "action", din motive de securitate, sa nu se trimita alte date decat campurile din formular.
Solutia e sa adaugi campuri "hidden" cu partile din adresa pe care o vrei la "action".

Cod: Selectaţi tot

$start_date='2014-10-26';
$end_date='2014-10-26';
$form = '<form action="'. $_SERVER['PHP_SELF'] .'" method="GET">
<input type="hidden" value="'.$_GET['db'].'" name="db" />
<input type="hidden" value="'.$_GET['m'].'" name="m" />
<input type="hidden" value="'.$_GET['p'].'" name="p" />
Alegeti data inceput: 
<input name="start" onfocus="showCalendarControl(this);" value ="'.$start_date.'" type="text" readonly="true">
si data sfarsit: 
<input name="end" onfocus="showCalendarControl(this);" value="'.$end_date.'" type="text" readonly="true">
<input type="submit" value="Genereaza lista comenzi" /> <a href="?db='.$_GET['db'].'&m='.$_GET['m'].'&p='.$_GET['p'].'">Reseteaza lista comenzi</a>
</form><hr>';

echo $form;
  

Subiecte similare