Моя основная задача - создать список контактов.Таким образом, пользователь нажимает кнопку, затем пользователь видит на экране, вводит электронное письмо контактного пользователя, а затем, если ответ от сервера «result === 0», пользователь контакта будет успешно добавлен в список контактов.Если ответ от сервера «result === -1», то пользователь не был найден, так как электронная почта не существует.
Все работает нормально, кроме одной вещи: даже если электронное письмо неверно, онопоказывает, что ответ пользователя был успешным.
Я не могу найти то, что я делаю неправильно.Может ли кто-нибудь помочь мне, пожалуйста?
Вот мой код:
Список контактов (React Native):
addNewContact = (email) => {
this.setState({
promptVisible: false,
});
if (email === this.props.email) {
Alert.alert('This is your username', 'You cannot add yourself to contacts!');
return;
}
for (var i = 0; i < this.state.contacts.length; i++) {
if (email === this.state.contacts[i].email) {
Alert.alert('Existing Contact', 'Contact ' + email + ' already exists');
return;
}
}
this.showLoading();
fetch('LINK')
.then((response) => response.json())
.then((responseData) => {
this.hideLoading();
var result = responseData.result;
var contactId = responseData.id;
var name = responseData.name;
if (result === 0) {
console.log("Success");
var newContacts = this.state.contacts.slice();
newContacts[newContacts.length] = {
contact_id: contactId,
name: name,
email: email
}
this.setState({
dataSource: this.state.dataSource.cloneWithRows(newContacts),
contacts: newContacts
});
Alert.alert('Contact added', 'User ' + email + ' was added to your contacts')
console.log(newContacts);
} else {
if (result === -1) {
Alert.alert('Not Found', 'User ' + email + ' not found');
console.log("Bad");
console.log(responseData);
}
}
})
.done;
}
Сервер (PHP):
<?php
include 'DBConfig.php';
$conn = new mysqli($Name, $User, $Pass, $Database);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$email = $obj['email'];
$sql = "SELECT id, name, email FROM Registration WHERE email='$email'";
$result = mysqli_fetch_array(mysqli_query($conn,$sql));
if (isset($result)) {
$result = array('result' => 0);
echo json_encode($result);
} else {
$result = array('result' => -1);
echo json_encode($result);
}
echo $json;
$conn->close();
?>
обн: я обнаружил, что в моей консоли это показывает:
Success
Array [
Object {
"contact_id": undefined,
"email": "Djdf",
"name": undefined,
},
]