par
JAG11 » 07 mars 2021, 13:31
Bonjour
Je créé un site pour une association.
Dans un premier temps sur une page je crée mon association que je stocke sur dans ma base de données MySQL.
Dans un second temps, je crée le bureau (rôle) de l'association (président, secrétaire, trésorier, etc), que je stocke sur dans ma base de données MySQL. Pour chacun je crée un identifiant automatiquement.
Code : Tout sélectionner
<?php
try {
include("../connect.php");
} catch (Exception $e) {
die('Erreur : ' . $e->getMessage());
}
// On ajoute une entrée dans la table
$pdoStat = $db->prepare('INSERT INTO t_bureau VALUES(NULL,:Id_Assos,:Id_Role,:Id_Droit,:Nom,:Prenom,:Email,:Telephone,:Adresse,:CodePostal,:Ville_Membre,:Identifiant,:Passwords,:Photo,:PhotoReduit)');
//on lie chaque marqueur à une valeur
$pdoStat->bindValue(':Id_Assos', $_POST['Id_Assos'], PDO::PARAM_INT);
$pdoStat->bindValue(':Id_Role', $_POST['Id_Role'], PDO::PARAM_INT);
$pdoStat->bindValue(':Id_Droit', $_POST['Id_Droit'], PDO::PARAM_INT);
$pdoStat->bindValue(':Nom', $_POST['Nom'], PDO::PARAM_STR);
$pdoStat->bindValue(':Prenom', $_POST['Prenom'], PDO::PARAM_STR);
$pdoStat->bindValue(':Email', $_POST['Email'], PDO::PARAM_STR);
$pdoStat->bindValue(':Telephone', $_POST['Telephone'], PDO::PARAM_STR);
$pdoStat->bindValue(':Adresse', $_POST['Adresse'], PDO::PARAM_STR);
$pdoStat->bindValue(':CodePostal', $_POST['CodePostal'], PDO::PARAM_STR);
$pdoStat->bindValue(':Ville_Membre', $_POST['Ville_Membre'], PDO::PARAM_STR);
$pdoStat->bindParam(':Identifiant', $Identifiant, PDO::PARAM_STR); //identifiant calculé
$pdoStat->bindParam(':Passwords', $pass_hash, PDO::PARAM_STR); //mot de passe standard
$pdoStat->bindParam(':Photo', $file_dest, PDO::PARAM_STR); //IMAGE TAILLE NORMALE
$pdoStat->bindParam(':PhotoReduit', $file_dest2, PDO::PARAM_STR); //IMAGE TAILLE reduite
//Création du mot de passe standard
$pass_hash = password_hash("12345678", PASSWORD_DEFAULT);
//Création de l'identifiant
//Nombre de ligne dans la table bureau
$sql = "SELECT COUNT(*) FROM t_bureau";
$res = $db->query($sql);
$count = $res->fetchColumn() + 1;
//type association
$Type = $_POST['Id_Assos'];
$sql = "SELECT Type_Long FROM t_type_assos
INNER JOIN t_associations
ON t_type_assos.Id_Type_Assos = t_associations.Id_Type_Assos
INNER JOIN t_bureau
ON t_bureau.Id_Assos = t_associations.Id_Assos
where t_bureau.Id_Assos= $Type";
$res = $db->query($sql);
$Type_Long = $res->fetchColumn();
$T = substr($Type_Long, 0, 1); //Type d'association
//type DE MEMBRE
$Droit = $_POST['Id_Droit'];
$sql = "SELECT Droit FROM t_droit
INNER JOIN t_bureau
ON t_droit.Id_Droit = t_bureau.Id_Droit
where t_bureau.Id_Droit= $Droit";
$res = $db->query($sql);
$DroitMembre = $res->fetchColumn();
$D = substr($DroitMembre, 0, 1); //TYPE DE MEMBRE
//Departement Assos
$Type = $_POST['Id_Assos'];
$sql = "SELECT Code_Postal FROM t_associations
INNER JOIN t_bureau
ON t_associations.Id_Assos = t_bureau.Id_Assos
where t_bureau.Id_Assos= $Type";
$res = $db->query($sql);
$Dept = $res->fetchColumn();
$Dpt = substr($Dept, 0, 2); //DEP ASSOS
//Villet Assos
$Type = $_POST['Id_Assos'];
$sql = "SELECT Ville FROM t_associations
INNER JOIN t_bureau
ON t_associations.Id_Assos = t_bureau.Id_Assos
where t_bureau.Id_Assos= $Type";
$res = $db->query($sql);
$Ville = $res->fetchColumn();
$V = substr($Ville, 0, 2); //VILLE ASSOS
//N° ORDRE ASSOS
//N° ORDRE REFERENT
$I = substr($_POST['Id_Assos'], 0, 1);
$N = substr($_POST['Nom'], 0, 2);
$C = substr($_POST['Code_Postal'], 0, 2);
$R = substr($_POST['Id_Role'], 0, 1);
$P = substr($_POST['Prenom'], 0, 2);
$Identifiant = $T . $D . $Dpt . $V . $count;
Jusque là tout est ok, sauf que lorsque j'ajoute le premier rôle l'identifiant est incomplet. Apres pour les autres roles l'identifiant est complet.
Existet-il un délai de latence avant la BDD ne se mette à jour avec les infos de l'assos?
Bonjour
Je créé un site pour une association.
Dans un premier temps sur une page je crée mon association que je stocke sur dans ma base de données MySQL.
Dans un second temps, je crée le bureau (rôle) de l'association (président, secrétaire, trésorier, etc), que je stocke sur dans ma base de données MySQL. Pour chacun je crée un identifiant automatiquement.
[code]
<?php
try {
include("../connect.php");
} catch (Exception $e) {
die('Erreur : ' . $e->getMessage());
}
// On ajoute une entrée dans la table
$pdoStat = $db->prepare('INSERT INTO t_bureau VALUES(NULL,:Id_Assos,:Id_Role,:Id_Droit,:Nom,:Prenom,:Email,:Telephone,:Adresse,:CodePostal,:Ville_Membre,:Identifiant,:Passwords,:Photo,:PhotoReduit)');
//on lie chaque marqueur à une valeur
$pdoStat->bindValue(':Id_Assos', $_POST['Id_Assos'], PDO::PARAM_INT);
$pdoStat->bindValue(':Id_Role', $_POST['Id_Role'], PDO::PARAM_INT);
$pdoStat->bindValue(':Id_Droit', $_POST['Id_Droit'], PDO::PARAM_INT);
$pdoStat->bindValue(':Nom', $_POST['Nom'], PDO::PARAM_STR);
$pdoStat->bindValue(':Prenom', $_POST['Prenom'], PDO::PARAM_STR);
$pdoStat->bindValue(':Email', $_POST['Email'], PDO::PARAM_STR);
$pdoStat->bindValue(':Telephone', $_POST['Telephone'], PDO::PARAM_STR);
$pdoStat->bindValue(':Adresse', $_POST['Adresse'], PDO::PARAM_STR);
$pdoStat->bindValue(':CodePostal', $_POST['CodePostal'], PDO::PARAM_STR);
$pdoStat->bindValue(':Ville_Membre', $_POST['Ville_Membre'], PDO::PARAM_STR);
$pdoStat->bindParam(':Identifiant', $Identifiant, PDO::PARAM_STR); //identifiant calculé
$pdoStat->bindParam(':Passwords', $pass_hash, PDO::PARAM_STR); //mot de passe standard
$pdoStat->bindParam(':Photo', $file_dest, PDO::PARAM_STR); //IMAGE TAILLE NORMALE
$pdoStat->bindParam(':PhotoReduit', $file_dest2, PDO::PARAM_STR); //IMAGE TAILLE reduite
//Création du mot de passe standard
$pass_hash = password_hash("12345678", PASSWORD_DEFAULT);
//Création de l'identifiant
//Nombre de ligne dans la table bureau
$sql = "SELECT COUNT(*) FROM t_bureau";
$res = $db->query($sql);
$count = $res->fetchColumn() + 1;
//type association
$Type = $_POST['Id_Assos'];
$sql = "SELECT Type_Long FROM t_type_assos
INNER JOIN t_associations
ON t_type_assos.Id_Type_Assos = t_associations.Id_Type_Assos
INNER JOIN t_bureau
ON t_bureau.Id_Assos = t_associations.Id_Assos
where t_bureau.Id_Assos= $Type";
$res = $db->query($sql);
$Type_Long = $res->fetchColumn();
$T = substr($Type_Long, 0, 1); //Type d'association
//type DE MEMBRE
$Droit = $_POST['Id_Droit'];
$sql = "SELECT Droit FROM t_droit
INNER JOIN t_bureau
ON t_droit.Id_Droit = t_bureau.Id_Droit
where t_bureau.Id_Droit= $Droit";
$res = $db->query($sql);
$DroitMembre = $res->fetchColumn();
$D = substr($DroitMembre, 0, 1); //TYPE DE MEMBRE
//Departement Assos
$Type = $_POST['Id_Assos'];
$sql = "SELECT Code_Postal FROM t_associations
INNER JOIN t_bureau
ON t_associations.Id_Assos = t_bureau.Id_Assos
where t_bureau.Id_Assos= $Type";
$res = $db->query($sql);
$Dept = $res->fetchColumn();
$Dpt = substr($Dept, 0, 2); //DEP ASSOS
//Villet Assos
$Type = $_POST['Id_Assos'];
$sql = "SELECT Ville FROM t_associations
INNER JOIN t_bureau
ON t_associations.Id_Assos = t_bureau.Id_Assos
where t_bureau.Id_Assos= $Type";
$res = $db->query($sql);
$Ville = $res->fetchColumn();
$V = substr($Ville, 0, 2); //VILLE ASSOS
//N° ORDRE ASSOS
//N° ORDRE REFERENT
$I = substr($_POST['Id_Assos'], 0, 1);
$N = substr($_POST['Nom'], 0, 2);
$C = substr($_POST['Code_Postal'], 0, 2);
$R = substr($_POST['Id_Role'], 0, 1);
$P = substr($_POST['Prenom'], 0, 2);
$Identifiant = $T . $D . $Dpt . $V . $count;[/code]
Jusque là tout est ok, sauf que lorsque j'ajoute le premier rôle l'identifiant est incomplet. Apres pour les autres roles l'identifiant est complet.
Existet-il un délai de latence avant la BDD ne se mette à jour avec les infos de l'assos?