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 :

Modification style en PHP avec Javascript


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance reprographie
    Inscrit en
    Septembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance reprographie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 32
    Par défaut Modification style en PHP avec Javascript
    Bonjour,

    je souhaiterai afficher une information suite à la modification de ma base de données par le biais d'un formulaire.
    Pour faire plus simple, j'affiche un bandeau avec un message indiquant "enregistrement terminé" ou "échec de l'enregistrement" après le traitement de ma requête.

    Pour ce faire, j'ai créé deux div comme suit :
    fichier test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<div id="reussi">Enregistrement termin&eacute;</div>';
    echo '<div id="echec">Echec de l\'enregistrement</div>';
    avec comme style css :
    fichier syles.css
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #reussi{background: #C5E1A5;display: none;}
    #echec {background: #FFAB91;display: none;}

    J'arrive à changer le display: none par le biais d'une fonction javascript appelée suite à clic sur un bouton:
    fichier script.js
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function messageErreur() {
      var div = document.getElementById("echec");
      if (div.style.display === "none") {
        div.style.display = "block";
      } else {
        div.style.display = "none";
      }
    };

    fichier test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo'<button onclick="messageErreur()">Bouton</button>';
    echo'<button onclick="messageReussi()">Bouton</button>';
    Maintenant, je souhaiterai adapter cet appel au js dans mon fichier php à la suite de ma fonction de modification de base de données sans clic sur un bouton
    fichier test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function modification(){
    	//traitement sql
    	if(nok){
    		// ?? appeler la fonction js messageErreur()
    	}
    	else{//si ok
                    // ?? appeler la fonction js messageReussi()
    	}
    }
    J'arrive à modifier le style par le biais de :
    fichier test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<style>#echec{display: block;}</style>';
    sans passer par le js, mais je trouve que c'est pas très propre...

    Par la suite, si j'arrive à faire ça, le must serait que le message s'efface après XX secondes... mais on verra après si c'est possible !!

    En vous remerciant par avance de votre aide

    Cordialement

    Lunick

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 713
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 713
    Par défaut
    vous envoyez le formulaire avec ajax sans recharger la page ?

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance reprographie
    Inscrit en
    Septembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance reprographie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 32
    Par défaut
    Citation Envoyé par mathieu Voir le message
    vous envoyez le formulaire avec ajax sans recharger la page ?
    Je n'utilise pas ajax mais uniquement php via formulaire

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 713
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 713
    Par défaut
    dans ce cas vous n'avez pas besoin d'utiliser de code javascript pour afficher ces messages. vous pouvez par exemple rediriger vers les url page.php?message=enregistre ou page.php?message=titre_incorrect et ensuite faire cela en 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
    <?php
    $message = $_GET["message"] ?? "";
    ?>
     
    ... début du code HTML
     
    <?php if ("enregistre" === $message) {
    	<div class="message correct">
    		Tout a bien été enregistré.
    	</div>
    <?php }?>
     
    <?php if ("titre_incorrect" === $message) {
    	<div class="message erreur">
    		Le titre a un format incorrect.
    	</div>
    <?php }?>
    l'opérateur ?? est expliqué là :
    https://www.php.net/manual/fr/langua...rison.coalesce

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance reprographie
    Inscrit en
    Septembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance reprographie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 32
    Par défaut
    Dans certaines pages, je passe déjà pas mal de paramètres en $_GET, et j'ai peur que par la suite cela devienne une usine à gaz...

    Existe t il d'autres solutions ?

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 713
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 713
    Par défaut
    il n'y a pas de problème pour utiliser cela avec plusieurs arguments dans $_GET.
    si vous organisez tout dans des fonctions, le code restera clair et facile à maintenir.

    si vous avez un bout de code qui nous vous parait pas optimisé, montrez le nous et nous aurons peut-être des conseils pour mieux le structurer.

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

Discussions similaires

  1. Projet PHP avec javascript validation
    Par esteph dans le forum Eclipse PHP
    Réponses: 0
    Dernier message: 17/12/2008, 23h58
  2. Verification de Checkbox (PHP) avec JavaScript
    Par Alex70 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/09/2007, 16h04
  3. Réponses: 2
    Dernier message: 08/06/2007, 16h55
  4. Réponses: 2
    Dernier message: 04/05/2007, 17h34
  5. Réponses: 7
    Dernier message: 15/11/2006, 15h23

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