Update Mysql : ajouter un système de vérification de nom d'utilisateur

a marqué ce sujet comme résolu.

Bonjour tout le monde, Serait-il possible que quelqu'un m'explique comment on met en place un système de vérification de nom d'utilisateur si déjà existant dans l'update.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 <?php
session_start();

$bdd = new PDO('mysql:host=localhost;dbname=root','root','root');
if(!empty($_POST['submit']))
{

  $pseudo = htmlspecialchars(trim($_POST['pseudo']));
  $pseudo_sess = $_SESSION['pseudo'];
  if(empty($pseudo))
  {
   echo "Veuillez completer ces champs";
  }else{

  $req = $bdd->prepare("UPDATE users SET username = :pseudo WHERE username = :pseudo_sess");
  $req->execute(array(
    'pseudo' => $pseudo,
    'pseudo_sess' => $pseudo_sess
  ));

echo "Mise à jour effectué. Pour procéder au changement, veuillez vous <a href='logout.php'>Déconnecter</a>";
  }
}
?>
+0 -0

Bonjour,

ps: je pense que tu peut enlever le htmlspecialchars, car tu utilise les requetes préparées. et je crois que cette fonction est utile seulement à l'affichage.

et tu peut aussi rajouter un if devant le execute:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
      $req = $bdd->prepare("UPDATE users SET username = :pseudo WHERE id = :id");
      if($req->execute(array(
        'pseudo' => $pseudo,
        'pseudo_sess' => $pseudo_sess
      ))) {

            echo 'Mise à jour effectué. Pour procéder au changement, veuillez vous <a href="logout.php">Déconnecter</a>';
        } else {
            echo 'Une erreur s\'est produite';
        }

Merci pour tout vos précieux conseils ;) Mais serait-il possible de savoir réellement comment procéder pour mettre en place un système qui dit ce pseudo est déjà pris ;)

Merci d'avance sachant que j'ai fais ça ;)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
session_start();

$bdd = new PDO('mysql:host=localhost;dbname=root','root','root');
if(!empty($_POST['submit']))
{

  $pseudo = $_POST['pseudo'];
  $pseudo_sess = $_SESSION['pseudo'];
  if(empty($pseudo))
  {
   echo "Veuillez completer ces champs";
  }else{
  $test_connect = $bdd->prepare('SELECT * FROM users WHERE username = :pseudo');
          $test_connect->execute(array(
            'pseudo' => $pseudo,
          ));
                                        $test=$test_inscription->fetch();
                                        if(!$test)
                                        {
  $req = $bdd->prepare("UPDATE users SET username = :pseudo WHERE username = :pseudo_sess");
  $req->execute(array(
    'pseudo' => $pseudo,
    'pseudo_sess' => $pseudo_sess
  ));

echo "Mise à jour effectué. Pour procéder au changement, veuillez vous <a href='logout.php'>Déconnecter</a>";
  }
}
?>
+0 -0

Mais serait-il possible de savoir réellement comment procéder pour mettre en place un système qui dit ce pseudo est déjà pris ;)

Bien sûr ! :)

C'est par ici (il suffit de bien lire et de comprendre l'astuce toute simple).

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte