webForumDet fria alternativet

POST med en länk?

PHP

5 svar · 530 visningar · startad av alioooop

Medlem sedan feb. 2008120 inlägg
Frågan#1

hej :)

är det någon som vet något sätt att kunna skicka en post till en annan sida via en länk istället för en form?

vet att man kan skicka med variabler i länken och hämta dom via GET men vill inte att det jag skickar med ska synas i adressen :)

MVH Alioooop

Medlem sedan mars 20007 896 inlägg
#2

Då måste du, om du inte vill använda Ajax, skapa ett dolt formulär som du skickar med Javascript.

<form action="page.php" method="POST">
<input type="hidden" name="hiddenFormField" id="hiddenFormField">
</form>
...
<a href="#" onclick="javascript: document.getElementById('hiddenFormField').value='Sätter värdet'; return false;">
...
<a href="#" onclick="javascript: document.forms[0].submit();">

Typ.

Medlem sedan feb. 2008120 inlägg
#3

SPiN skrev:

Då måste du, om du inte vill använda Ajax, skapa ett dolt formulär som du skickar med Javascript.

<form action="page.php" method="POST">
<input type="hidden" name="hiddenFormField" id="hiddenFormField">
</form>
...
<a href="#" onclick="javascript: document.getElementById('hiddenFormField').value='Sätter värdet'; return false;">
...
<a href="#" onclick="javascript: document.forms[0].submit();">

Typ.

skulle du kunna skriva några kommentarer på den där koden och beskriva hur allt funkar :) skulle vara råsjyst

Medlem sedan mars 20007 896 inlägg
#4

SPiN skrev:

Då måste du, om du inte vill använda Ajax, skapa ett dolt formulär som du skickar med Javascript.

<form action="page.php" method="POST">
<input type="hidden" name="hiddenFormField" id="hiddenFormField">
</form>
...
<a href="#" onclick="javascript: document.getElementById('hiddenFormField').value='Sätter värdet'; return false;">
...
<a href="#" onclick="javascript: document.forms[0].submit();">

Typ.

Först skapar vi ett formulär med dolda fält, så att användaren inte ser formuläret:

<form action="page.php" method="POST">
<input type="hidden" name="hiddenFormField" id="hiddenFormField">
</form>

Sen måste ju formuläret fyllas med den data som ska skickas som POST, och det gör jag med hjälp av Javascript. När användaren klickar på länken "Sätt ett POST-värde" nedan kommer formulärfältet 'hiddenFormField' få värdet 'Sätter värdet'. Med metoden getElementById() kan vi hämta objektet som ska fyllas med data, i mitt fall är det det dolda fältet 'hiddenFormField' i formuläret:

<a href="#" onclick="javascript: document.getElementById('hiddenFormField').value='Sätter värdet'; return false;">Sätt ett POST-värde</a>

Sen kommer vi till delen där vi skapar en länk för att posta iväg formuläret, vilket också gör med Javascript. När användaren klickar på länken "Posta formuläret!", skickas formuläret iväg och användaren slussas vidare till samma sida.

<a href="#" onclick="javascript: document.forms[0].submit();">Posta formuläret!</a>
Medlem sedan mars 20041 505 inlägg
#5

Nu blir jag nyfiken. Är detta ett tafatt försök att uppnå säkerhet? :OO

Medlem sedan feb. 2008120 inlägg
#6

jaa det äre :birp

296 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
148 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
152 ms — ändringar (db)