Probleme Requêtes avec jointures

[Résolu]
Signaler
Messages postés
41
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
9 mai 2007
-
Messages postés
41
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
9 mai 2007
-
Bonjour a tous !!

Alors voila j ai ces deux tables :






Code:



CREATE TABLE `clubs` (
`id` SMALLINT( 9 ) NOT NULL ,
`session` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
`pseudo` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
`passe` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
`email` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
`typesport` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE InnoDB CHARACTER SET latin1 COLLATE latin1_bin COMMENT 'Liste des clubs';












Code:



CREATE TABLE `membres` (
`id` SMALLINT( 9 ) NOT NULL ,
`session` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
`pseudo` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
`passe` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
`codeclub` SMALLINT( 9 ) NOT NULL ,
`email` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
`typesport` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
PRIMARY KEY ( `id` , `codeclub` ) ,
KEY `codeclub` ( `codeclub` ) ) TYPE InnoDB CHARACTER SET latin1 COLLATE latin1_bin COMMENT 'Liste des membres';








Je suis débutant et je bloque sur mes requetes !!

En
fait je voudrais savoir quel requete faire pour que losque les membres
s inscrivent, le code club soit verifier par rapport aux clubs : donc
si le code saise par les membres ne correspont a aucun clubs alors
refuser inscription !!

je ne sais quelle requete ecrire pour faire cette verification !!

Voici pour l instant  mon fichier de verification.php :






Code:



<?php
/* Script écrit par RVJ-WEB
Créé le 27 MAI 2006
Droits de reproduction autorisés */

session_start();
require_once('config.php');
$titre_page='Inscription';
include_once('haut.php');
$pseudo=formulaires($_POST['pseudo']);
$mdp=formulaires($_POST['mdp']);
$mdp2=formulaires($_POST['mdp2']);
$codeclub=formulaires($_POST['codeclub']);
$email=formulaires($_POST['email']);
$typesport=formulaires ($_POST['typesport']);

//// VERIFICATION SI FORMULAIRES BIEN REMPLI ////

if(!$mdp || !$mdp2 || strlen($mdp) < 7)
{
echo'Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe fait moins de 7 carractères

[inscription.php?type=membres Retour]';
includ_once('bas.php');
return FALSE;
}
if($mdp!=$mdp2)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation
[inscriptions.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
if(!$pseudo || strlen($pseudo) > 15)
{
echo'Votre pseudo est inexisant ou fait plus de 15 carractères
[inscriptions.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
if(!$email)
{
echo'Votre e-mail est innexistant.
[inscriptions.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
if(!$typesport)
{
echo'Votre type de sport est innexistant.
[inscriptions.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
if(!$codeclub)
{
echo'Votre code club est innexistant.
[inscriptins.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
//// VERIFICATIONS PARAMETRES FORMULAIRES ////

$reponse_mail=mysql_query("SELECT email FROM membres WHERE email='".mysql_escape_string($email)."'") or die ('Erreur : '.mysql_error()); //verification si e-mail existe déjà
$count_mail=mysql_num_rows($reponse_mail);
if($count_mail == 1)
{
echo'Cet e-mail existe déjà.
[inscriptions.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
$reponse_pseudo=mysql_query("SELECT pseudo FROM membres WHERE pseudo='".mysql_escape_string($pseudo)."'") or die ('Erreur : '.mysql_error()); //verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo == 1)
{
echo 'Ce pseudo existe déjà.
[inscriptions.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
$reponse_typesport=array('football','rugby','basketball','volleyball');
{
if (in_array($_GET['typesport'],$reponse_typesport)==false)
$erreur .= "La champs sport n'est pas correct
";
}

for ($ligne=0;$ligne<30;$ligne++) //Création d'un identifiant aléatoire
{
@$session.=substr('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN',(rand()%(strlen('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN'))),1);
}

$mdp=md5($mdp); //Codage du mot de passe
mysql_query("INSERT INTO membres (session, pseudo, passe, email, typesport, codeclub) VALUES ('$session', '$pseudo', '$mdp', '$email', '$typesport', '$codeclub')") or die ('Erreur : '.mysql_error()); //insertion dans la bdd
echo'Merci de vous vous etre inscrit à '.$nom_du_site.'
[index.php?type=membres Identifiez vous !]';
include_once('bas.php');
?>








je vous remercie d avance !!!!

5 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
$reponse_codeclub=mysql_query("SELECT count(*) FROM clubs WHERE
'codeclub' = '".$_POST['codeclub']."'" )or die ('Erreur :
'.mysql_error());
$count_codeclub=mysql_fetch_row($reponse_codeclub);
if($count_codeclub[0] == 0)
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Hello,

quel est ton soucis au juste ?
Tu vérifies si le codeclub saisi existe dans la table des clubs, et sinon, tu rembarres l'utilisateur ?
SELECT count(*) FROM clubs WHERE codeclub=$_POST['codeclub']

si ton count(*) === 0, c'est que le code saisi est faux, sinon, c'est qu'il est juste.
Messages postés
41
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
9 mai 2007

je regarde ca !!

un merci enorme pour toi malalam je commencais a désespérer !!!

merci encore !!!
Messages postés
41
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
9 mai 2007

tu a exactement compris ce que je voulais !!!

J ai donc essayer d'appliquer ce que tu ma dit :

if(!$codeclub)
   	{
echo'Votre code club est innexistant.
[inscriptions_membres.php Retour]';
include_once('bas.php');
return FALSE;
   	}


et :

$reponse_codeclub=mysql_query("SELECT count() FROM clubs WHERE 'codeclub' = '".$_POST['codeclub']."'" )or die ('Erreur : '.mysql_error());
$count_codeclub=mysql_num_rows($reponse_codeclub);
if($count_codeclub == 0)
{
echo 'Ce code ne correspond à aucun club !.
[inscriptions_membres.php Retour]';
include_once('bas.php');
return FALSE;
}


j'ai donc fait ca !!

Mon probleme maintenant c'est qu il m'inscrit bien mais ne vérifie tjs pas l'existance de ce "codeclub" de ma table "membres" par rapport au champs "id" dans ma table "clubs" !!!

voila !!

merci encore !!
Messages postés
41
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
9 mai 2007

mon probleme est tjs pareil !!

Que le code club soit dans la table ou pas , il m' inscrit !!

Je ne comprend pas !!

je cherche !!!

merci si vous avez une réponse !!!