Nefunguje prenos $_POST[]

Zdravím, mám dva jednoduché php súbory:

--login.php

<?php

session_start();

if (isset($_POST["send"])) Header("Location:main.php");

echo "<form action='login.php' method='POST'>\n";
echo "<input type='text' name='premenna'>\n";
echo "<input type='hidden' name='send' value='yes'>\n";
echo "<input type='submit' value='Odoslať'>\n";
echo "</form>";

?>

--main.php

<?php

session_start();

if (isset($_POST["premenna"])) echo $_POST["premenna"];

?>

Problém je v tom, že po odoslaní jednoduchého formulára a následnom presmerovaní na main.php sa neprenesie hodnota $_POST["premenna"]. Môžete poradiť, kde robím chybu? Celý jednoduchý príklad som napísal pre riešenie zložitejšej úlohy, ktorú robím na localhoste. Narazil som na tento problém, a nenapadá mi nič, čo robím nesprávne. Treba nastaviť nejaké direktívy týkajúce sa session v php.ini? A ak áno, tu na wz.cz aj tak nič nezmením. Je to onlajn: www.barguzin.wz.cz/session/login.php, stačí len vyplniť nejaký textový reťazec do inputu a odoslať. Ďakujem za rady.
A co kdyby sis obsah té proměnné uložil do session, kam patří? Ještě před voláním funkce header().
Ďakujem, pomohlo :-) Uložil som do $_SESSION[].

Mám však nový problém, a to ako zabezpečiť odovzdanie POST premenných z formulára do obslužného skriptu? Mám tri súbory:

1. index.php je súbor s formulárom - užívateľovi aplikácie je viditeľný
2. login.js je súbor s ajaxom - funkcia xxx()
3. login.php je skript volaný AJAXom

------------------

Fragment index.php:

<form action='POST' name='login'>

<input type='text' name='user' maxlength='25' size='25' class='txt'>
<input type='password' name='pass' maxlength='25' size='25' class='txt'>
<input type='button' value='Prihlásiť' name='send' onClick='xxx();'>

</form>

Odoslanie dát je teda nie submitom, ale javascriptovým tlačidlom.
----------

login.js:

Za pomoci návodu, ktorý som na internete našiel, som vytvoril nasledujúcu funkciu:

function xxx () {

var url="login.php;
var params="";// ?
var xmlhttp;
xmlhttp.open("POST", url, true);


xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");

if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest();

else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState==4)

{

document.getElementById('msg').innerHTML=xmlhttp.responseText;

}

}

xmlhttp.send(params);

}

No a v tomto JavaScriptovom súbore mám otázku týkajúcu sa riadku s otáznikmi, pôvodne tam bolo v ukážke na internete: var params="lorem=ipsum&name=binny"; Ja odosielam zo svojho formulára hodnotu user a pass. Kým v tejto ukážke http://www.openjs.com/articles/ajax_xmlhttp_using_post.php je parameter odoslaný síce metódou POST, ale v premennej PARAMS zadaný priamo v JavaScripte, ja potrebujem získať hodnotu POST premenných z formulára index.php , ako $_POST["user"] a $_POST["pass"], teda ako to zakomponovať do toho JavaScriptu (riadok s otáznikmi)? V ukážkovom príklade sa totiž neriešilo prevzatie POST premenných z formulára, ukážka len demonštrovala použitie metódy POST v Ajaxe.
Doporucuji davat do formulare vzdy submit tlacitko. Prohlizece v tomto maji pak spoustu bugu a jeden napr poouzije nejblizsi input type=botton za odesilaci, druhy provadi autoodesilani formulare po zmacknuti enter klavesy, atd.
Nasledne se blokuje odeslani akci <form onsubmit=...>

K otazce
Najdi si priklady na javascript jquery formulare.
Ale samozrejme to muzes udelat rucne, pripis tam na zacatek kodu toto pro zjisteni hodnoty input policka. a dal uz si s tim poradis, asi.
var f = document['login'];
alert(f.user.value);
alert(f.pass.value);
alert(f.send.value);

pôvodne tam bolo v ukážke na internete: var params="lorem=ipsum&name=binny";
Takze musis vytvorit stejny retezec jako oni?
Muzes zkusit upravit toto.
http://peter-mlich.wz.cz/web/js/prjpw/ajax.html