salut,
on va prendre le taureau par les cornes.
tes requêtes SQL sont vraiment mal faites.
Pourquoi ?
simplement parce que l'on ne retourne une jeux de résultat de 12 lignes multiplié par le nombre de colonne de la table simplement pour savoir combien y a de ligne
pour cela il existe la fonction SQL count. un peu de littérature sur la chose =>
http://sqlpro.developpez.com/cours/sqlaz/ensembles/
globalement tu trouvera sur
http://sqlpro.developpez.com tous ce qu'il y a, a savoir sur SQL
donc tes requêtes deviennent :
$sql = "SELECT count(*) as nombre FROM int_org WHERE num_form='$date_reservation'"
et
SELECT count(*) FROM int_org WHERE nom_users='$nom_users'"
dans les deux cas le jeux de résultat ne contient qu'une seul colonne qui aura pour nom "nombre" (par exemple avecun $data = mysql_fetch_assoc($retour_du_mysql_query); tu utilise $data['nombre'] qui va contenir le nombre de tuple que contient la table pour la date spécifiée.
avec cela tu peux utiliser la clause AND de SQL (dans la clause where) afin de coupler les conditions
par exemple : select count(*) as nombre where date ='truc' and user='machin'; si égale zéro : il est pas inscrit pour la session
la première requête ne change pas.
ça peux donner
<?php
// Verifie que les zones date de reservation et nom soient remplies
if ($_REQUEST['date_reservation'] != "" and $_REQUEST['name_users'] != "")
{
$sql = "SELECT count(*) as nombre FROM int_org WHERE num_form='$date_reservation'";
$resultat = mysql_query ($sql);
$data = mysql_fetch_assoc($resultat);
if ($data['nombre'] > 12)
{
?>
<script language="JavaScript">
alert("La session est complète \n Veuillez choisir une autre date");
window.location.replace("index.php");// On inclut le formulaire d'identification
</script>
<?php
}
$sql1 = "SELECT count(*) as nombre FROM int_org WHERE nom_users='$nom_users'";
$req1 = mysql_query ($sql1) or die ('erreur sql<br>'.$sql1.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req1);
//vérifie si le nombre de lignes trouvées est = 0 si oui, c'est que ce pseudo n'est pas encore utilisé => ok
if($data['nombre'] != 0) // si met == 0 c'est que c'est bon donc pas de message d'erreur :)
{
?>
<script language="JavaScript">
alert("Une réservation existe déjà à votre nom. \n Si vous désirez changer de date, veuillez contacter Kathy \n A booking already exists in your name. \n If you want to change the date, please contact Kathy");
window.location.replace("index.php");// On inclut le formulaire d'identification
</script>
<?php
}
else
{
$sql2 = "INSERT INTO int_org (date_encodage,
date_reservation,
num_form,
nom_users,
email_users
)
VALUES('$date_encodage',
'$date_reservation',
'$date_reservation',
'$nom_users',
'$email_users'
)";
$req2 = mysql_query($sql2) or die('Erreur SQL :
'.$sql2);
}
} // fin du else
?>
ta condition du second if n'est pas bonne
Je pense que ton système à un defaut de conception, ceci dit n'ayant pas la structure complète de la base je ne peux que supposer, donc a prendre avec des pincettes.
Si : une session continent 1 ou plusieurs cours
Si : un cours peux être dans une ou plusieurs session(s) (parce que je suppose que si tu propose un cours d'anglais ou math niveau 3ème y a des chances que le fasse plusieurs fois, enfin je te le souhaite

)
La session ne peux contenir que 12 participants
une session c'est :
- une date (disons une date de début)
- un ou plusieurs cours (donc à définir)
- des participants.
Avec tous cela tu devrais avoir 5 tables.
- une table session avec un identifiant, une date, un nom et pourquoi pas une description
- une table cours, avec un identifiant, un nom et une description
- une table "stagiaires" (ou clients ou autres) avec un identifiant, un nom, une adresse etc etc
- une table qui permet la correspondance entre les sessions et les cours :! un identifiant, l'identifiant du cours, l'indentifiant de la session
- une table qui permet la correspondance entre les sessions et les stagiaires ; un identifiant, un identifiant session, identifiant stagiaire.
La tu va me dire, wé nan c'est le bordel ton truc
Oui au première abord mais ça tu répond à ta problématique simplement.
tu peux aussi gérer sans soucis, les sessions (pas besoin de modifer 40000 tuples si tu change la date de la session).
tu ne risque pas d'insérer une date qui n'existe pas (imagine ton système avec un "num_formation" foireux (qui n'existe pas dans la table) et un user quelconque => insertion direct dans la base j'suis inscrit même si la formation n'existe pas

La avec le jeux des contraintes de clef étrangères (le fait de vérifier qu'une session existe avant de pouvoir l'insérer dans la table 5) empeche ce type de phénomène.
le système est aussi plus fexible, car tu peux modifier les coordonnées d'un stagiaire sans devoir recherche toute les occurrences et mettre (potentiellement) a jour une grosse quantité de ligne la table, la c'est une seule ligne de modifiée
bref un bon modèle de base te sera utile autant en terme de maintenance que d'utilisation.
liens sur le sujet
modélisation à l'aide de la méthode merise (il s'agit que d'une partie, c'est plutôt le modèle entité - associations qui est ce que l'on recherche ici).
la méthode merise
bonne lecture
@+