Я использую Xamarin (C #) и PHP (с MySqli для подключения к моей базе данных) для отправки данных через запрос POST.
У меня есть веб-клиент, где я отправляю пост-запрос в файл PHP для создания учетной записи, и все работает нормально, но мне нужно, чтобы PHP вывел ответ после получения данных (пользователь уже существует, пользователь не существует … и т. Д.) И C # получить это.
На самом деле мой PHP печатает ответ на его код с помощью echo, но я не знаю, как проверить состояние страницы как реакцию после получения моих данных.
using (WebClient client = new WebClient())
{
var data = new NameValueCollection();
data.Add("userid", userid.ToString());
data.Add("password", password);
byte[] response = client.UploadValues(Url, data);
string rep = client.DownloadString("http://xxxx.fr/CreateProfile.php");
Toast.MakeText(this, rep, ToastLength.Short).Show();
}
На самом деле мой запрос отправлен и ТОЛЬКО ПОСЛЕ, он загружает код, поэтому у меня каждый раз появляется сообщение об ошибке «Студент не существует». Иначе, когда я пытаюсь использовать это через простую форму, это работает.
Так что ошибка не в PHP, потому что запрос хорошо выполняется в моей базе данных, но я просто прошу код страницы слишком поздно, без каких-либо параметров ..
Вот мой PHP-код:
if ($data === "404"){
echo "Student doesn't exist";
}
else{
$checkIfExist= "SELECT name FROM users WHERE id = $user_id";
if($result = $conn->query($checkIfExist)) {
$row_cnt = $result->num_rows;
}
if ($row_cnt > 0){
echo "User already exist.";
}
else{
echo"New user";
}
Поэтому я хочу знать, смогу ли я получить эхо, возвращаемое при отправке значений с помощью WebClient, или мне нужно использовать что-то еще, например HttpClient или HttpRequest …
Решение было так просто, благодаря Джейсону
использование
Encoding.ASCII.GetString(response)
Других решений пока нет …