Aexils
September 26, 2019, 11:40am
1
Hello,
Today I would like to create an API for my Ionic application to run my registration form.
However I doubt about my PHP script, I think it is not functional.
$query = $db->prepare("INSERT INTO user(nom, prenom, pseudo, email, mdp) VALUES(:nom, :prenom, :pseudo, :email, :mdp)");
$query->execute([
'nom' => $nom,
'prenom' => $prenom,
'pseudo' => $pseudo,
'email' => $email,
'mdp' => password_hash($mdp, PASSWORD_BCRYPT)
]);
And here’s how I use it:
postData(dataToSend) {
return this.http.post(this.apiUrl, dataToSend, {headers: new HttpHeaders({'content-Type': 'application/json'})});
}
postData() {
const dataToSend = {
nom: this.nom,
prenom: this.prenom,
pseudo: this.pseudo,
email: this.email,
mdp: this.mdp
};
this.inscription.postData(dataToSend).subscribe((dataReturnFromService) => {
this.dataFromService = JSON.stringify(dataReturnFromService);
});
}
This code does not work, no data enters my database. Do you have an idea?
Aexils
October 9, 2019, 2:30pm
2
I still have the same problem since all this time …
I changed my code and currently I have this one but the data still does not fit in the database …
$type = $_POST['type'];
$prenom = $_POST['prenom'];
$nom = $_POST['prenom'];
$pseudo = $_POST['pseudo'];
$email = $_POST['email'];
$mdp = $_POST['mdp'];
$confirmMdp = $_POST['confirmMdp'];
$query=$db->prepare('SELECT * FROM user WHERE email = :email');
$query->bindValue(':email',$_POST['email'], PDO::PARAM_STR);
$query->execute();
$data=$query->fetch();
if ($data['email'] == ($_POST['email'])) // Acces pas OK !
{
echo 'Compte déjà existant';
} else if($_POST['mdp'] == $_POST['mdp2']) // Acces OK !
{
echo 'Success';
$query=$db->prepare('INSERT INTO user(type, prenom, nom, pseudo, email, mdp) VALUES(:type, :prenom, :nom, :pseudo, :email, :mdp)');
$query->execute(array(
'type' => $type,
'prenom' => $prenom,
'nom' => PASSWORD_HASH($nom, PASSWORD_BCRYPT),
'pseudo' => $pseudo,
'email' => $email,
'mdp' => $mdp
));
} else {
echo 'failled';
}
register() {
if (this.mdp === this.confirmMdp) {
// tslint:disable-next-line:max-line-length
this.http.post('https://api.snoopdoggybag.fr/Clients/addUser.php', {
type: this.type,
prenom: this.prenom,
nom: this.nom,
pseudo: this.pseudo,
email: this.email,
mdp: this.mdp
}).subscribe();
this.router.navigateByUrl('tabs/form-connexion-user');
this.presentToast();
}
}
What’s wrong with my code?
I need your help