IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[PHP/MySQL] Vérifier si la valeur d'ID utilisateur est valide [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Points : 22
    Points
    22
    Par défaut [PHP/MySQL] Vérifier si la valeur d'ID utilisateur est valide
    http://stream-play.net/test/header.html

    Je veux réaliser une suppression d'un utilisateur via un panel Php mais celui ci bug car la valeur ID n'est pas reconnu comme nombre par la fonction is_numeric()

    Ma table est :
    user_id / medium int unsigned PRIMARY
    first_name / varchar (20)
    last_name / varchar (40)
    email / varchar (60)
    pass / char (40)
    registration_date / DATETIME

    Ma source concernant la page delete_user.php est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <?php #Script - delete_user.php
     
    // Cette page sert à supprimer un enregistrement utilisateur 
    // On y accède depuis view_users.php
     
    $page_title = 'Delete a User';
    include('header.html');
    echo'<h1>Delete a User</h1>';
     
    //Vérifier la validité de l'ID utilisateur via GET ou POST
    if( (isset($_GET['id'])) && (is_numeric($_GET['id'])) ) { // Depuis view_users.php
    $id =$_GET['id'];
    } elseif ( (isset($_POST['id'])) && (is_numeric($_POST['id'])) ) { // Form submission
    $id =$_POST['id'];
    } else { // Pas d'ID valide, fin du script
    echo '<p class="error">This page has been accessed in error..</p>';
    include('footer.html');
    exit();
    }
     
    require_once('mysqli_connect.php');
     
    // Vérifier si le formulaire a été envoyé
    if (isset($_POST['submitted'])) {
     
      if ($_POST['sure'] == 'YES') { // Supprimer l'enregistrement
     
      // Créer la requête
      $q="DELETE FROM users WHERE user_id=$id LIMIT 1";
      $r=@mysqli_query($dbc,$q);
      if(mysqli_affected_rows($dbc) == 1) { // Si succès 
     
      // Imprimer message
      echo'<p>The user has been deleted.</p>';
     
    } else { // Si la requête n'a pas fonctionné
    echo '<p class="error">The user could not be deleted dur to a system error.</p>'; // Message public
    echo '<p>' . mysqli_error($dbc) . '<br> Query : ' . $q . '</p>'; // Message de débogage
    }
     
    } else { // Confirmer la non suppression
    echo '<p> The user has NOT been deleted.</p>';
    }
     
    } else { // Afficher le formulaire
     
    // Récupérer les informations de l'utilisateur
    $q="SELECT CONCAT(last_name, ',' , first_name) FROM users WHERE user_id=$id";
    $r=@mysqli_query($dbc,$q);
     
    if (mysqli_num_rows($r) == 1) { // ID utilisateur valide, afficher le formulaire
     
    // récupérer les informations de l'utilisateur
    $row=mysqli_fetch_array ($r, MYSQLI_NUM);
     
    // Créer le formulaire 
    echo '<form action="delete_user.php" method="post">
    <h3>Name : ' . $row[0] . '</h3>
    <p>Are you sur you want to delete this user ? <br>
    <input type="radio" name="sure" value="Yes"> YES
    <input type="radio" name="sure" value="No" checked="checked"> NO </p>
    <p><input type="submit" name="submit" value="Submit"></p>
    <input type="hidden" name="submitted" value="TRUE">
    <input type="hidden" name="id" value=" ' . $id . ' ">
    </form>';
     
    } else { //ID utilisateur non valide
    echo '<p class="error">This Page has been accessed in error</p>';
    }
     
    } // Fin de l'instruction conditionnelle d'envoi principale.
     
    mysqli_close($dbc);
     
    include('footer.html');
    ?>
    Avez vous une idée qui pourrait m'aider ?

    Par avance merci,

    Cordialement,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis des espaces autour de l'id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="id" value="' . $id . '">
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Test du script http://stream-play.net/test/header.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <?php #Script - dele_user.php
     
    // Cette page sert à supprimer un enregistrement utilisateur 
    // On y accède depuis view_users.php
     
    $page_title = 'Delete a User';
    include('header.html');
    echo'<h1>Delete a User</h1>';
     
    //Vérifier la validité de l'ID utilisateur via GET ou POST
    if( (isset($_GET['id'])) && (is_numeric($_GET['id'])) ) { // Depuis view_users.php
    $id =$_GET['id'];
    } elseif ( (isset($_POST['id'])) && (is_numeric($_POST['id'])) ) { // Form submission
    $id =$_POST['id'];
    } else { // Pas d'ID valide, fin du script
    echo '<p class="error">This page has been accessed in error..</p>';
    include('footer.html');
    exit();
    }
     
    require_once('mysqli_connect.php');
     
    // Vérifier si le formulaire a été envoyé
    if (isset($_POST['submitted'])) {
     
      if ($_POST['sure']=='YES') { // Supprimer l'enregistrement
     
      // Créer la requête
      $q="DELETE FROM users WHERE user_id=$id LIMIT 1";
      $r=@mysqli_query($dbc,$q);
      if(mysqli_affected_rows($dbc)==1) { // Si succès 
     
      // Imprimer message
      echo'<p>The user has been deleted.</p>';
     
    } else { // Si la requête n'a pas fonctionné
    echo '<p class="error">The user could not be deleted dur to a system error.</p>'; // Message public
    echo '<p>'.mysqli_error($dbc).'<br> Query : '.$q.'</p>'; // Message de débogage
    }
     
    } else { // Confirmer la non suppression
    echo '<p> The user has NOT been deleted.</p>';
    }
     
    } else { // Afficher le formulaire
     
    // Récupérer les informations de l'utilisateur
    $q="SELECT CONCAT(last_name, ',' , first_name) FROM users WHERE user_id='$id'";
    $r=@mysqli_query($dbc,$q);
     
    if (mysqli_num_rows($r)==1) { // ID utilisateur valide, afficher le formulaire
     
    // récupérer les informations de l'utilisateur
    $row=mysqli_fetch_array($r, MYSQLI_NUM);
     
    // Créer le formulaire 
    echo '<form action="delete_user.php" method="post">
    <h3>Name :'.$row[0].'</h3>
    <p>Are you sure you want to delete this user ? <br>
    <input type="radio" name="sure" value="Yes">Yes
    <input type="radio" name="sure" value="No" checked="checked">No</p>
    <p><input type="submit" name="submit" value="Submit"></p>
    <input type="hidden" name="submitted" value="TRUE">
    <input type="hidden" name="id" value="'.$id.'">
    </form>';
     
    } else { //ID utilisateur non valide
    echo '<p class="error">This Page has been accessed in error</p>';
    }
     
    } // Fin de l'instruction conditionnelle d'envoi principale.
     
    mysqli_close($dbc);
     
    include('footer.html');
    ?>
    Oui effectivement, malgré cela, j'ai beau faire Yes ou No, il boucle sur le message "The user has NOT been deleted"... le problème vient du $_POST['sure']

    Avez vous une idée sur cette boucle ?

    Par avance merci,

    Bonne journée,

  4. #4
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Points : 22
    Points
    22
    Par défaut Résolu
    C'est résolu, la valeur YES, était différente avec celle du formulaire qui était Yes.

    Merci pour votre aide, et bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier si la valeur d'un select est vide
    Par Bourg dans le forum jQuery
    Réponses: 3
    Dernier message: 30/05/2015, 15h16
  2. Réponses: 5
    Dernier message: 20/08/2010, 10h01
  3. [MySQL] Insertion d'une valeur nulle, PHP->MySQL
    Par mattyeux dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/04/2010, 14h43
  4. Réponses: 1
    Dernier message: 04/06/2006, 00h35
  5. Verification de présence d'une valeur [PHP-MySQL]
    Par 10-nice dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/03/2006, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo