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 :

Où mettre le code qui s'exécutera après le clic


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut Où mettre le code qui s'exécutera après le clic
    Bonjour,

    je suis nouveau dans la programmation php, je programme en Delphi. Je sais que ma question est bête, mais célà me pertube.

    Avec Delphi, c'est la programmation evenemtielle (je place le code au niveau de l'objet par exemple sur le bouton. Ce code s'executera après le clic sur ce bouton).

    Avec php, je ne connais pas ou placé mon code qui s'executera après le clic sur un formulaire.

    Merci de votre aide

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Lorsque tu as cliqué sur le bouton submit d'un formulaire, les données du formulaire sont transmises au serveur, à la page citée dans l'attribut action du formulaire.

    Dans cette page, tu peux récupérer les valeurs postées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(isset($_POST['input_name'])){ // Le formulaire est posté
        echo $_POST['input_name']; // On affiche la value d'un des champs de texte
    }

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Ceci, dans le cas ou la method du formulaire est en POST.

    Si jamais les valeurs sont transmises dans l'URL, il faut utiliser $_GET['nomVariable']
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Bonjour,

    Lorsque tu as cliqué sur le bouton submit d'un formulaire, les données du formulaire sont transmises au serveur, à la page citée dans l'attribut action du formulaire.

    Dans cette page, tu peux récupérer les valeurs postées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(isset($_POST['input_name'])){ // Le formulaire est posté
        echo $_POST['input_name']; // On affiche la value d'un des champs de texte
    }
    merci ThomasR, mais est-il possible de mettre dans la propriété "action" le nom de la page ou se trouve le formulaire ? Et dans ce cas, je mette le code à la suite de celui qui designer le formulaire ?

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    st-il possible de mettre dans la propriété "action" le nom de la page ou se trouve le formulaire
    Oui, l'attribut sert à çà.
    TU mets le code de traitement dans la page qui est citée dans l'attribut action.

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Je vous presente le problème plus clair

    Dans mon site web, je veux gerer deux base de données. Alors lorque l'utisateur saisi son login, son password et choisir l'application dans laquelle il veut travailler.

    Donc après le menu principal, il y a deux possibilités: soit travailler dans CTX, soit travailler dans MUNPAC.

    Alors je souhaite controler les contrôles d'identification dans une fonction de la page d'accueil.

  7. #7
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Oui, rien ne t'empèche de tout faire dans une page unique, mais cela ne change rien au principe...

    Ne perd pas de vue le principe d'un serveur web...

    Le PHP ne s'execute qu'au moment ou tu charge la page... Une fois la page chargée, le script PHP ne tourne plus et la connexion avec le serveur restera fermé jusqu'a ce que tu recharge une page, via un lien, un formulaire voir un accès Ajax...

    Donc tu peux tout faire dans une page unique et effetuer des traitements différents en fonction des paramètres que tu reçois, mais pas faire du vrai évenementiel.. Pour ça, c'est Javascript qu'il faut utiliser.

    Edit : double grilled

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    je souhaite controler les contrôles d'identification
    Il te suffit d'adapter le code que je t'ai donné plus haut. Ce que tu apels les contrôles d'identification sont des <input/> (généralement). Tu peux récupérer les valeurs de ces controles grâce à la variable superglobale $_POST.

    Prenons un exemple :

    formulaire.php :
    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
     
    <?php
    //haut de page
    session_start();
    if(isset($_POST['login'])){ // le formulaire est posté
        // ICI IL FAUT VERIFIER LA VALIDITE DE L'UTILISATEUR 
        $_SESSION['user'] = Array();
        $_SESSION['user']['login'] = $_POST['login'];
        $_SESSION['user']['type'] = $_POST['type'];
        if($_POST['type'] == 'CTX'){
            header('location:ctx.php');
        }
        else{
            header('location:munpac.php');
        }  
    }
    ?>
    <!-- HTML / BODY etc -->
    <form method="post" action="formulaire.php">
        <input type="text" name="login" value="Votre identifiant" />
        <input type="password" name="pwd" />
        <input type="radio" name="type[]" value="CTX"/> CTX
        <input type="radio" name="type[]" value="MUNPAC"/> MUNPAC
        <input type="submit" name="valid" value="S'identifier"/>
    </form>
    Une fois le formulaire validé, les occurences de $_POST sont valorisés on vérifie la validité de l'utilisateur (tu dois faire ça par requêtage SQL je suppose), on lui attribue un type en fonctione de ce qu'il a coché, puis on le redirige vers la page idoine (CTX ou MUNPAC).

    Tu peux surement adapter ce ci à ton besoin.

    Aussi, pour sécuriser tes pages n'oublie pas de faire ceci en haut de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    session_start();
    if(!isset($_SESSION['user'])){
        header('location:identification.php');
    }

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Merci ThomasR.

    Si tu permets: tu es 4 genies pas un.


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

Discussions similaires

  1. panneau qui s'affiche après un clic
    Par bouchra19 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 27/05/2012, 19h58
  2. mettre a jour des champs radio après un clic
    Par amarcil dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/07/2008, 17h24
  3. Méthode qui permet de modifier le code d'une page après affichage .. ?
    Par winnie82 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 04/07/2006, 15h40
  4. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31
  5. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08

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