$_POST[] izven form!

Recimo na strani index.php imam

<form method="post" action="test.php">
   <textarea id="message" name="message" rows="5"></textarea>
   <input type="hidden" name="submitted" value="TRUE" />
   <input type="submit" value="Send msg" />
</form>

Na strani test.php lahko sedaj dobim "message" s $_POST['message']

Zanima pa me ali bi lahko na strani test.php dobil tudi $POST['kako'] v primeru, da je ta IZVEN konkretne form? Torej kaj bi moral v index.php določiti $POST['kako'] = "nekaj", da bi jo lahko uporabil pri test.php? Znotraj form tega zaradi določenih omejitev ne morem zapisati.

Pa da ne bo preveč dvoumno, $_POST se pošilja preko flasha (actionscript) in sedaj bi rad tem dodal še nekaj spremenljivk pa ne vem kako :/ Dostop do .fla nimam.

6 odgovorov

Lahko z Javascriptom ob submitu dodaš hidden input, katerega vrednost prebereš od tam, kjer pač to vrednost imaš.

3

Na žalost to ne "ustavi" flasha.

Sem za test uporabil spodnjo kodo pa seveda ustavi pošiljanje za vse form-e ampak flash še vedno pošilja $_POST

$("form").live("submit", submitListener);

function submitListener(e) {

   alert("testiram....");
   e.preventDefault();

}
1

Ker ne morem več urejati sporočila. Poskusil sem tudi

$("object").live("submit", submitListener);

pa ne dela...

1

pošlji vrednosti skripti preko JSON-a ?

daj LIVE funkcijo za submitListener(). Se pravi naj se v kodi pojavi kasneje.

$('form').on(
  'submit',
  function()
  {
    return false;
  }
);

To bo dovolj. Če form naloadaš kasneje moraš uporabiti delegated način

$(document).on(
  'submit',
  'form',
  function()
...

FYI: live() je deprecated od 1.7 naprej.