[英]POST request, not sending anything, isset($_POST) always false
[英]if (isset($_POST['Name']) && isset($_POST['Number'])) always returns false in PHP
// xamarin.android c# code
void mButtonCreateContact_Click(object sender, EventArgs e)
{
WebClient client = new WebClient();
Uri uri = new Uri("http://www.mydomainname.com/abcd.php");
NameValueCollection parameters = new NameValueCollection();
parameters.Add("Name", txtName.Text);
parameters.Add("Number", txtNumber.Text);`
client.UploadValuesCompleted += client_UploadValuesCompleted;
client.UploadValuesAsync(uri, parameters);
}
在这里,我传递了两个参数,然后从用户那里获取输入。 但是,在PHP代码中,它总是在isset['Name']
函数中返回false并进入else
语句
if (isset($_POST['Name']) && isset($_POST['Number']))
{
$mName = $_POST['Name'];
$mNumber = $_POST['Number'];
echo 'true';
}
else
{
echo 'false';
}
您需要在WebClient中设置请求参数POST。
您当前正在发送带有值的GET
,如果您想改用POST
,请按以下方式调用它:
void mButtonCreateContact_Click(object sender, EventArgs e)
{
WebClient client = new WebClient();
Uri uri = new Uri("http://www.mydomainname.com/abcd.php");
NameValueCollection parameters = new NameValueCollection();
parameters.Add("Name", txtName.Text);
parameters.Add("Number", txtNumber.Text);
client.UploadValuesCompleted += client_UploadValuesCompleted;
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
client.UploadValuesAsync(uri, "POST", parameters);
}
用于检查POST
client.UploadValuesAsync(uri, "POST", parameters);
最好的方法是用户$_REQUEST
。 无论您使用什么,都可以发布或获取。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.