blackvault
Messages postés16Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 8 mars 2006
-
24 févr. 2006 à 13:43
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
24 févr. 2006 à 14:19
Mon problème est le suivant: je souhaite faire en sorte que les membres
qui s'inscrivent sur mo site ait tous un identifiant (login)
différentles uns des autres. Je fais donc dans mon code php pour
ajouter un utilisateur un test vérifiant si le login choisi correspond
déj àa qqun dans la base de donnees "utilisateur". Problème: si le
futur membre incsrit un login déjà utilisé il n'est pas inscrit dans ma
base de données mais pourtant après cliquer sur "enregistrer mes
informations" le lien lui demandant de recommencer car le login est
déjà utiliser ne s'affiche pas (pire il est écrit Bonjour "prenom"
etc...)
Pouvez vous m'indiquer ce que je dois changer dans mon code (dans ma table, mon php)??
PS: j'ai mis dans ma table utilisateur le caractère UNIQUE à login en pensant que ca servirait a qq chose...
PS: vous comprenez bien que je débute totalement en php!
Voici ma base de données utilisateur (ou membre)
--
-- Structure de la table `utilisateur`
--
CREATE TABLE `utilisateur` (
`id` int(5) NOT NULL auto_increment,
`nom` varchar(30) NOT NULL default '',
`prenom` varchar(30) NOT NULL default '',
`password` varchar(15) NOT NULL default '',
`membre` char(1) NOT NULL default '',
`mail` varchar(30) NOT NULL default '',
`tel` int(10) NOT NULL default '0',
`newsletter` int(1) NOT NULL default '0',
`login` varchar(15) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `login` (`login`) //ai-je besoin de mettre UNIQUE????
/* prend les informations soumises par l'utilisateur et les integre
dans la base de données
*/
require_once("connexion2.php");
//connexion à la bd
$nom=$_POST['nom'];
$login=$_POST['login'];
$mail=$_POST['mail'];
$prenom=$_POST['prenom'];
$pass=$_POST['pass'];
$telephone=$_POST['telephone'];
$query2="SELECT login FROM utilisateur WHERE login=$login";
$res=TRUE;
$res=mysql_query($query2);
echo $res;
if ($res==TRUE) { ?> [?page=inscription login
déjà pris veuillez en trouve un autre]' <? // je veux que
quand le login est déjà utilisé par qqun d'autre un lien s'affiche pour
lui signifier de recommencer.... et ca marche pas!! }
else{
if (preg_match("/\@eleves\.enpc\.fr$/",$mail))
{
$query="INSERT INTO
utilisateur(nom,mail,login,prenom,password,tel,membre) VALUES
('$nom','$mail','$login','$prenom','$pass','$telephone','1')";
mysql_query($query);
//echo $query;
}
else
{
$query="INSERT INTO
utilisateur(nom,mail,login,prenom,password,tel,membre) VALUES
('$nom','$mail','$login','$prenom','$pass','$telephone','0')";
mysql_query($query);
//echo $query;
}
?>
Inscription
Bonjour
<? $select="SELECT prenom from utilisateur where utilisateur.prenom= '$prenom'";
$ret=mysql_query($select);
$verif=mysql_fetch_object($ret);
echo $prenom; ?>
Tu es bien inscrit(e) sur le site du Bitum*
<?
}
?>
et voici mon formulaire pour l'inscription d'un utilisateur du site
blackvault
Messages postés16Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 8 mars 2006 24 févr. 2006 à 14:12
ca ne semble pas marcher... il me renvoi toujours sur la page où il me dit "Bonjour "prenom" t ues bien inscrit patati patata"
et il me un warning (avant bien sur): Warning: mysql_num_rows(): supplied argument is not a valid MySQL result
resource in x:\eleves\7promo\trousseau.de clés\kit\ajout_utilisateurs.php
en gros l'unicité du login je l'ai, ca c bon je pense, le problème
c'est que la page disant, apres l'inscription, que le login est deja
utilisé ne s'affiche pas...