Probleme Requêtes avec jointures

Résolu
dekovince Messages postés 41 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 9 mai 2007 - 6 mars 2007 à 16:02
dekovince Messages postés 41 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 9 mai 2007 - 8 mars 2007 à 12:13
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 !!!!
A voir également:

5 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 mars 2007 à 12:02
$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)
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 mars 2007 à 22:05
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.
0
dekovince Messages postés 41 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 9 mai 2007
8 mars 2007 à 08:36
je regarde ca !!

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

merci encore !!!
0
dekovince Messages postés 41 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 9 mai 2007
8 mars 2007 à 10:03
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 !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dekovince Messages postés 41 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 9 mai 2007
8 mars 2007 à 12:13
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 !!!
0
Rejoignez-nous