Bonjour,
Je suis d'accord avec toi pour le select avant l'enregistrement des données.
Voici mon code, il fait bien les contrôles, par contre, quelques fois, il n'enregistre pas les données
<?php
$hostname = 'localhost';
$username = 'XXXXX';
$password = 'XXXXX';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=XXXXX", $username, $password);
echo 'Connected to database<br />';
if (isset($_POST['enregistrement']) && $_POST['enregistrement'] == 'Enregistrement') {
if ((isset($_POST['Domus']) && !empty($_POST['Domus'])) && (isset($_POST['Diocesis']) && !empty($_POST['Diocesis']))) {
$sql = "SELECT count(*) FROM maisons_dioceses WHERE domus='".$_POST['Domus']."' AND diocesis='".$_POST['Diocesis']."'";
$stmt = $dbh->query($sql);
$data = $stmt->fetch(PDO::FETCH_NUM);
if ($data[0] == 0) {
$sql = ('INSERT INTO maisons_dioceses VALUES("", "'.addslashes($_POST['Domus']).'", "'.$_POST['Diocesis'].'", "'.addslashes($_POST['Maison_Francaise']).'", "'.addslashes($_POST['Diocese_Francais']).'")');
$dbh->exec($sql);
header('Location: index.php');
exit();
}
else {
$erreur = 'Le couple <span class="R">DOMUS ET DIOCESIS</span> existe deja dans la table.<br /><br />';
}
}
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
<form name="formulaire" method="post" action="add_domus.php">
<table width="100%" cellspacing="0" border="0" cellpadding="0">
<tr>
<td>Domus</td>
<td><input type="text" id="Domus" name="Domus" size="80" maxlength="150" /></td>
</tr>
<tr>
<td>Diocesis</td>
<td><input type="text" id="Diocesis" name="Diocesis" size="80" maxlength="150" /></td>
</tr>
<tr>
<td>Maison</td>
<td><input type="text" id="Maison_Francaise" name="Maison_Francaise" size="80" maxlength="150" /></td>
</tr>
<tr>
<td>Diocèse</td>
<td><input type="text" id="Diocese_Francais" name="Diocese_Francais" size="80" maxlength="150" /></td>
</tr>
<tr>
<td>Enregistrer</td>
<td>
<input type="submit" name="enregistrement" value="Enregistrement">
</td>
</tr>
</table>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>