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

Langage PHP Discussion :

code pour reprendre session de l'utilisateur


Sujet :

Langage PHP

  1. #21
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2017
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    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
    <?php
      session_start();
    $bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', '');
      // si essais = 3 ou points = 1 alors rediriger (dans le même onglet) vers nouveau formulaire
    if(isset($_POST['validate'])) {
    	$id = $_SESSION['id'];
    	$insertessais = $bdd->exec("UPDATE membres SET essais = essais+1 WHERE id='$id'");
        $answer = htmlspecialchars($_POST['answer']);
        if(!empty($_POST['answer'])){
            $answerlength = strlen($answer);
          if($answerlength <= 255) {
              if($answer == 3) {
              $erreur = "Right answer";
              $insertpoints = $bdd->exec("UPDATE membres SET points = points+1 WHERE id='$id'");
              }
              else {
                 $erreur = "Wrong answer" ;
              }
             } else {
                 $erreur = "Your answer must not exceed 255 print";
             }
        } else {
            $erreur = "Your answer is empty";
        }
    }
     // si essais = 3 ou points = 1 alors rediriger (dans le même onglet) vers nouveau formulaire
    ?>
    Il faut donc effectuer 2 test : 1 avant qu'il réponde à la question, et l'autre après qu'il réponde à la question.

  2. #22
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    C'est juste une condition à écrire :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    if ( .....)
    {
       // on fait ci
    } else {
       // on fait ça
    }
    Si tu veux faire une redirection, tu peux utiliser header(...)
    A mettre en début de script, AVANT tout affichage HTML (espace, code HTML,....)

    On peut terminer par exit; pour éviter que la suite du code soit lu :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    if ( ..... )
    {
       // condition vraie : on redirige
       header('location:.........');
       exit;
    }
    // ici on peut écrire la suite du code, qui ne sera interprété que si la condition est fausse.
    // donc, le formulaire, en l’occurrence

    PAR CONTRE, tu avances à tâton, sans bien savoir où tu vas...
    Mauvais plan.

    REFLECHIS, et ECRIS chaque étape, chaque action, SUR UN PAPIER, AVANT de coder !

  3. #23
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    REFLECHIS, et ECRIS chaque étape, chaque action, SUR UN PAPIER, AVANT de coder !
    NicoPro2000, Jreaux62 a raison si organiser du code t'es difficile tu peux faire de un dessin qui represente le flux d'instruction (c'est ce qu'on fait habituellement: des rectangles pour les traitements, des embranchements pour les conditions).

    Il y a une autre méthode beaucoup plus laborieuse inspirée des machines de Turing: représenter tous les états possibles affichables sur ta pages (grosso modo: avec formulaire, sans formulaire, avec des réponses justes, avec des reponses fausses). Dans cette méthode, une fois que tu sais quels sont les états finaux, tu peux essayer de trouver des états intermédiaires pour mener à l'état final et ce qui change entre l'état intermédiaire et l'état final ... et tu vois arriver des embranchements assez naturellement (Dans les machines de Turing on parle de transition... nous on s'en moque). Et au final tu retrouves un graphe qui te guidera dans l'organisation du code.

    je suis pas affilié à https://www.draw.io/ mais si tu as perdu ton stylo... quand meme le papier c'est plus efficace.

Discussions similaires

  1. Trolldi : le Dark Programming ou l’art d’écrire un code pour tromper les utilisateurs
    Par Michael Guilloux dans le forum Débats sur le développement - Le Best Of
    Réponses: 19
    Dernier message: 02/03/2017, 09h01
  2. [AC-2003] Code pour afficher les utilisateurs connectés à une BDD
    Par LionelDM dans le forum IHM
    Réponses: 2
    Dernier message: 07/01/2010, 17h04
  3. Code pour changer groupe utilisateurs?
    Par sash6 dans le forum Sécurité
    Réponses: 2
    Dernier message: 20/11/2009, 10h33
  4. Faire un compteur pour des sessions utilisateurs
    Par liverbird dans le forum C++Builder
    Réponses: 55
    Dernier message: 21/06/2006, 15h37
  5. code pour interbase 6.0 et 6.5 de generateur
    Par tripper.dim dans le forum InterBase
    Réponses: 4
    Dernier message: 01/07/2002, 11h29

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