rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Eviter doublons dans une base de donnee

billboy, le vendredi 6 juin 2008 à 11:13:44
Bonjour,

je créé un formulaire avec un ajout de pseudo. Mon problème est le suivant: si un je saisi un pseudo déjà présent dans la bbd, il s'enregistre quand même. Pourriez-vous m'indiquer comment résoudre ce petit souci?

merci.
Configuration: Windows XP
Firefox 2.0.0.14
Répondre à billboy  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Remad, le vendredi 6 juin 2008 à 11:14:47
Met le tuple "pseudo" en clef primaire, sa devrait éviter les doublons
Répondre à Remad

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:15:27
Bonjour,

le plus simple est de faire une premiere requette afin de verifier
si l'utilisateur n'existe pas deja.
Répondre à mindslight

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vlmath, le vendredi 6 juin 2008 à 11:16:45
Salut,

Il te suffit de mettre ton champs pseudo comme clé primaire (primery key), et les doublons sur cette clef sont interdit.

@Bientôt
Répondre à vlmath

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
billboy, le vendredi 6 juin 2008 à 11:17:33
je ne peut pa metre le pseudo en en cle primaire car je possede un ID.

mindslight, pourais tu m'indiquer quel requette pourai m'aider? merci
Répondre à billboy

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:20:08
re,

tu peux aussi utiliser des clefs primaires composites.
Répondre à mindslight

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:20:59
quel sont les champs de ta table et le nom de ta table sql ?
Répondre à mindslight

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
billboy, le vendredi 6 juin 2008 à 11:21:24
je suis novice en ph peut tu m'expliquer ce que c'est une cle primaire composite sil te plait?? merci
Répondre à billboy

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
billboy, le vendredi 6 juin 2008 à 11:22:19
ma table:
id
nom
prenom
adress
pseudo
login
Répondre à billboy

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:23:05
une clef primaire composite est une clef generer sur plusieurs champs,
mais je pense que de faire une pre-requette est plus simple
Répondre à mindslight

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:23:33
merci,

je redige ta requette tout de suite...
Répondre à mindslight

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
billboy, le vendredi 6 juin 2008 à 11:27:29
ok merci
Répondre à billboy

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:27:42
function user_exists($login)
{
$sql = 'SELECT `id`
FROM `ma table`
WHERE `login` = \'' . addslashes($login) . '\'
LIMIT 1';
$res = mysql_query($sql) or die (mysql_error());
return (mysql_num_rows($res) == 1);
}
Répondre à mindslight

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
billboy, le vendredi 6 juin 2008 à 11:32:28
ok je vais tester sa tout de suite .
Répondre à billboy

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
billboy, le vendredi 6 juin 2008 à 11:35:00
voici mon code :

<?
include ('config.php');
$login=$_POST['login'];
$mdp=$_POST['mdp'];

if(empty($_POST["login"])||empty($_POST["mdp"]))
{
echo "Atention un des champs n'est pas correctement remplit.<a href='adminlogin.php'>Verifier</a>.";
}


else
{
$req=" INSERT INTO jean (login, mdp) values ('$login','$mdp')";
mysql_query($req);
mysql_query($query);
include("enregistrement.php");
}
?>


pourais tu m'indiquer ou je dois mettre la fonction que tu m'a proposer?merci
Répondre à billboy

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:39:07
<?php
include ('config.php');
$login=$_POST['login'];
$mdp=$_POST['mdp'];

function user_exists($login)
{
$sql = 'SELECT `id`
FROM `ma table`
WHERE `login` = \'' . addslashes($login) . '\'
LIMIT 1';
$res = mysql_query($sql) or die (mysql_error());
return (mysql_num_rows($res) == 1);
}


if(empty($_POST["login"])||empty($_POST["mdp"]))
{
echo "Atention un des champs n'est pas correctement remplit.<a href='adminlogin.php'>Verifier</a>.";
}


else
{
if (user_exists($login))
{
echo('utilisateur deja enregistrer!<br />');
}
else
{
$req=" INSERT INTO jean (login, mdp) values ('$login','$mdp')";
mysql_query($req) or die(mysql_error());
}
include("enregistrement.php");
}
?>
Répondre à mindslight

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mindslight, le vendredi 6 juin 2008 à 11:41:53
petite remarque pour ameliorer ton code:

- utilise plus de fonction.
- toujours utiliser mysql_query($req) or die(mysql_error());
- protege t'es requette contre les vilains hacker ;-) avec des addslashes() comme dans ma fonction
Répondre à mindslight

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 billboy, le vendredi 6 juin 2008 à 11:42:19
merci beaucoup sa fonctionne . a+
Répondre à billboy
[PHP/MySQL]Interrogation d'une base de donnée (Résolu)Salut, Je souhaite créer un petit site où je référence tous mes DVD avec un petit résumé. Pour cela, j'ai créé une page web pour enregistrer mes nouveaux DVD dans une base données et jusque là tout va bien. Mais maintenant, j'essaye de créer... www.commentcamarche.net/forum/affich-1569934-php-mysql-interrogation-d-une-base-de-donnee
Supprimer des donées de la base de données (Résolu)Bonjour, j'ai un petit soucis. Je souhaiterais supprimer des données dans ma base donné mais je n'y arrive pas. J'ai essayé différentes méthodes sans succes. Voici mon code. supprimer-user.php Supprimer un... www.commentcamarche.net/forum/affich-4839907-supprimer-des-donees-de-la-base-de-donnees
Cmnt mettre une image sur un fichier audio? (Résolu)Bonjour, voila mon probleme j'aimerai associer une image a un fichier audio du style mp3, id est pouvoir voir la jaquette de l'album de la chanson sur windows media player et cela avec la version da base donner sur le cd d'installation... www.commentcamarche.net/forum/affich-3077369-cmnt-mettre-une-image-sur-un-fichier-audio
[Windows] Nettoyer la base de registre avec RegCleanerLa plupart des applications stockent des données de configuration dans la base de registre car il s'agit d'un espace de stockage de données facile à gérer et commun à tous les systèmes Microsoft Windows. Néanmoins, beaucoup d'entre-elles laissent... www.commentcamarche.net/faq/sujet-2666-windows-nettoyer-la-base-de-registre-avec-regcleaner
[Organisation] Créer une base de connaissancesLe but d'une base de connaissances est de modéliser et stocker de manière informatique un ensemble de connaissances, idées, concepts ou données et de permettre leur consultation/utilisation. Il existe plusieurs méthodes et logiciels différents pour... www.commentcamarche.net/faq/sujet-4855-organisation-creer-une-base-de-connaissances
Surfer anonymementRien de plus frustrant de savoir que lorsque l'on surfe sur Internet, l'ordinateur laisse des traces. En effet, lorsque l'on se connecte à un site, l'ordinateur est identifié par son adresse IP, stockée par le site distant et par tous les sites... www.commentcamarche.net/faq/sujet-5351-surfer-anonymement
(Excel) Conversion de date (Résolu)Bonjour Je suis en présence d'un fichier Excel comportant 5025 entrées dont une colonne date sous la forme "jj/mm/aaaa", je dois convertir ces dates en "aaaa/mm/jj" afin de rendre ce fichier utilisable pour la mise à jour d'une base donnée... www.commentcamarche.net/forum/affich-3140785-excel-conversion-de-date
C'est quoi Mysql? (Résolu)Bonjour, J'aimerrai bien connaitre est ce que Mysql est un logéciel ou un langage de base donnée comme sql? Merci. www.commentcamarche.net/forum/affich-3036555-c-est-quoi-mysql
Php chargement session sans formulaire (Résolu)Bonjour, En PHP j'utilise les sessions par la méthode POST pour récupérer les données d'un formulaire, dans ce cas tout fonctionne très bien. Mon problème est : Comment récupérer une variable provenant d'une base donnée dans une... www.commentcamarche.net/forum/affich-1444753-php-chargement-session-sans-formulaire
Télécharger Foobar 2000Foobar2000 est un lecteur audio avancé pour les plateformes Microsoft Windows. Son interface graphique est volontairement sobre, ce qui rend ce player léger et fonctionnel. Il consomme très peu de mémoire et de CPU. Foobar2000 supporte... www.commentcamarche.net/telecharger/telecharger-195-foobar-2000
Toutes les réponses pour « eviter doublons dans une base de donnee »