Comment afficher erreurs pour une date naissances
Fermé
oliviermeene
-
7 août 2018 à 19:18
BunoCS Messages postés 15356 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 13 mars 2023 - 8 août 2018 à 14:46
BunoCS Messages postés 15356 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 13 mars 2023 - 8 août 2018 à 14:46
A voir également:
- Comment afficher erreurs pour une date naissances
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Iphone 14 date de sortie - Guide
- Recherche date de naissance d'une personne vivante - Forum Webmastering
- Whatsapp date incorrecte ✓ - Forum Mobile
- Publipostage date en anglais ✓ - Forum Excel
2 réponses
BunoCS
Messages postés
15356
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
13 mars 2023
3 882
8 août 2018 à 09:19
8 août 2018 à 09:19
Bonjour,
Est-ce que la date est bien envoyée à ton serveur ? Est-ce qu'elle est bien reçue ?
Est-ce que la date est bien envoyée à ton serveur ? Est-ce qu'elle est bien reçue ?
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
Modifié le 8 août 2018 à 10:07
Modifié le 8 août 2018 à 10:07
Bonjour,
Petites corrections au niveau de ton code php
Peux tu voir ce que ça donne....
Surtout le $result['debug'] si ça ne fonctionne toujours pas... voir si ça nous affiche les erreurs...
Cordialement,
Jordane
Petites corrections au niveau de ton code php
<?php
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
//Connexion à la base de données
try{
$bdd = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'root', ' ');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}
$results = array();
$results["error"] = false;
$results["message"] = [];
//récupération propre des variables avant de les utiliser
$date_n = !empty($_POST["date_n"]) ? $_POST["date_n"] : NULL ;
if($date_n ){
//verification de la date de naissance
if(!preg_match('`^([0-9]{2})/([0-9]{2})/([0-9]{4})$`', $date_n)){
$results["error"] = true;
$results["message"]["date_n"]= "Date d'anniversaire invalide";
}else{
//verification age
// age aujourd'hui
$Dateoj = new DateTime();
// date - ans
$Datemoins = $Dateoj->sub(new DateInterval('P10Y'));
//convertion date en format date time
$date_n_dt = DateTime::createFromFormat('j-m-Y', $date_n);
if($date_n_dt >= $Datemoins){
//a moins 10 ans
$results['error'] = true;
$results['message'] = "Votre age nécessite une autorisation parental";
}
if($results["error"] === false){
//insertion
$sql = "INSERT INTO inscriptiondeux(date_n) VALUES(:date_n)";
$datas = array(":date_n" => $date_n_dt);
//Execution de la requete ( TOUJOURS le faire dans un TRY/CATCH !! )
try{
$requete = $bdd->prepare($sql) ;
$requete->execute($datas) ;
}catch(Exception $e){
$results["error"] = true;
$results["message"] = "Erreur lors de l'inscription " ;
$result['debug'] = $e->getMessage();
}
}
}
}else{
$results["error"] = true;
$results["message"] = "Veuillez indiquer votre date d'anniversaire";
$result['debug'] = print_r($_POST,true);
}
echo json_encode($results);
exit();
Peux tu voir ce que ça donne....
Surtout le $result['debug'] si ça ne fonctionne toujours pas... voir si ça nous affiche les erreurs...
Cordialement,
Jordane
8 août 2018 à 09:44
Merci pour ta réponse.
Donc j'ai fait les vérifications pr la page php elle engendre bien les erreurs.
Par contre, la date ne s'enregistre pas dans la base de donnée.
Peut être que j'ai fait une erreurs dans les attribut ?
le DatePickerDialog est bien un "BUTTON" DANS LE LAYOUT.
Mais après avoir rentrer la date elle renvoie bien une date sous forme de string hein ? enfin je croit peut être que je me suis trompé dans les appels ?
8 août 2018 à 10:36
8 août 2018 à 12:39
Après verification: quand je désactive l'insert en base de donnée quand je met une bonne date ça se redirige vers la MainActivity comme prévu.
Quand je fait une erreur ça renvoie rien .
Et quand je remet l'insert en base de données ça remet tout le temps l'erreur sauf quand c'est une bonne date ça fait rien;
Après étude je pense deja qu'il y a une erreur dans la RegisterActivitydeux a la ligne 115 quand j'ai mit "Taoste.mkeText(getApplicationContext(), "La date d'anniversaiire n'est pas valide" .....
Je voulais que en cas d'erreur ça envoie l'erreur correspond mentionner sur la page php ou autre ...
Comment doit-je le faire, svp ?
8 août 2018 à 14:46
Je ne sais pas ce qu'il te renvoie mais tu dois avoir moyen de trouver quelque chose d'affichage dedans