PHP: éviter que 2 titres ne soient identiques

Résolu
pfdp0 Messages postés 191 Statut Membre -  
pfdp0 Messages postés 191 Statut Membre -
Bonjour,
Je fais un site dans lequel vous pouvez voter pour des jeux, en ajouter, commenter...
Mon problème est que quand un jeu a été ajouté, quelqu'un d'autre pourrait sans le remarquer ajouter le même!
Comment faire pour éviter que le jeu ne soit entré 2 fois? (code PHP svp)

infos:
- ma table se nomme "jeu"

Merci d'avance pour votre aide

8 réponses

  1. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Tu ne veux pas qu'il y ait le même nom, c'est ça ?

    // nom du jeu rentré par l'utilisateur
    $nom_jeu = $_POST['nom_jeu'];

    // Récupération des jeux dans ta table qui ont ce nom-là
    $query = "SELECT id_jeu FROM jeu WHERE nom_jeu = '".$nom_jeu."'";

    Et après tu envoies ta requête et tu vérifies que c'est vide.
    1
    1. pfdp0 Messages postés 191 Statut Membre 12
       
      merci beaucoup
      0
  2. lokakilo Messages postés 213 Date d'inscription   Statut Membre Dernière intervention   14
     
    Tu peux mettre ton code stp?
    0
  3. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    La théorie voudrait que tu modifie tes titres en ajoutant une variable quasi unique.

    Par exemple en ajoutant un timestamp dans ton titre, ce qui donnerait par exemple:

    www.tonsite.fr/2154654614-mon-titre-c-est-cool

    Quasi impossible de tomber sur deux titres identiques, a moins que deux personnes posent le meme titre dans la meme secondes, ce qui serait vraiment pas de bol.
    0
  4. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    D'ailleurs regarde l 'url en haut de "comment ca marche", il y a bien un timestamp ou une sorte d'id
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pfdp0 Messages postés 191 Statut Membre 12
     
    Je ne suis pas sur que vous avez compris ce que je voulais:
    voici le début du code, je voudrais que on ajoute une condition: je ne veux pas que deux jeux ne soient identiques dans ma table "jeu":::

    <?php if (isset($_POST['adresse']) AND ($_POST['titre']) AND ($_POST['texte']))  
             {  
       $_POST['adresse'] = htmlspecialchars($_POST['adresse']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer  
       $_POST['titre'] = htmlspecialchars($_POST['titre']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer  
       $_POST['texte'] = htmlspecialchars($_POST['texte']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer  
         
    if ((preg_match("#^([w]){3}\..{3,}\..{1,}#", $_POST['adresse'])) AND (preg_match("#.{3,}#", $_POST['titre'])) AND (preg_match("#.{20,}#", $_POST['texte'])))  
        {
    //... Je ne vous mets pas la suite, vous n'en avez pas besoin
    
    0
  7. pfdp0 Messages postés 191 Statut Membre 12
     
    mis plus bas
    0
  8. pfdp0 Messages postés 191 Statut Membre 12
     
    réponse svp
    0
  9. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,
    Tes preg_match ne suffisent pas ?
    0
    1. pfdp0 Messages postés 191 Statut Membre 12
       
      non, je ne veux pas qu'un nom soit entré 2 fois
      0