tags:

views:

51

answers:

3

Is there a way to set a $_POST['var'] without using form related field (no type='hidden') and using only PHP. Something like

$_POST['name'] = "Denniss";

Is there a way to do this?

EDIT: Someone asked me for some elaboration on this. So for example, I have page with a form on it, The form looks something like this

<form method='post' action='next.php'>
<input type='text' name='text' value='' />
<input type=submit' name='submit' value='Submit'/>
</form>

Once the submit button is clicked, I will get redirected to next.php. Is there a way for me to set the $_POST['text'] variable to another value? How do I make this persistent so that when I click on another submit button (for example) the $_POST['text'] will be what I set on next.php without using a hidden field.

Let me know if this is still not clear and thank you for your help.

A: 

you can do it using ajax or by sending http headers+content like:

POST /xyz.php HTTP/1.1
Host: www.mysite.com
User-Agent: Mozilla/4.0
Content-Length: 27
Content-Type: application/x-www-form-urlencoded

userid=joe&password=guessme
stillstanding
+2  A: 

Yes, simply set it to another value:

$_POST['text'] = 'another value';

This will override the previous value corresponding to text key of the array. The $_POST is super global associative array and you can change the values like a normal php array.

Sarfraz
and will this stay when I click another submit button without setting it to a hidden field?
denniss
@denniss: It will override again if a field is named `text` when you submit the form. Why not use a session probably if you want to preserve a certain value.
Sarfraz
true, i just wanted to know if there is a way to do it with POST
denniss
@denniss: Right no problem :)
Sarfraz
A: 

If you want to set $_POST['text'] to another value, why not use:

$_POST['text'] = $var;

on next.php?

Rakward