[RESOLU] créer un bouton désactiver ou activer echo dans page PHP

Eléphant du PHP | 168 Messages

17 janv. 2018, 15:11

Bonjour :)

et merci d'avance pour qui m'apportera la solution à mon problème.

Je récupère les données de la base dans une page avec:
<?php echo " ". $row['nos_services']. "  "; ?>
Comment créer un bouton administration qui me permette de désactiver ou d'activer la visibilité des donnés de ma base dans la page ?

Eléphant du PHP | 168 Messages

21 janv. 2018, 01:52

Bon je vois que personne n'a une petite idée .

avec le script (javascript) qui suit je peux activer ou non la page mais ce n'est pas la bonne solution car si la page est réactualisée elle devient visible à nouveau et il faut que l'utilisateur utilise le bouton.

<div class="toggle-content text-center" id="tab4">
    <input id="bouton"  type="button" style="font-size:15px;"  value=" Activer ou désactiver la page nos services "  onclick="javascript:afficher_cacher('texte');">  
    <div id="texte" class="texte">                           
                          
                                  <div  class="Int_cont "><?php echo " ".$row['nos_services']. "  "; ?></div>
     <script type="text/javascript" >
    function afficher_cacher(id)
{
    if(document.getElementById(id).style.visibility=="hidden")
    {
        document.getElementById(id).style.visibility="visible";
        document.getElementById('bouton_'+id).innerHTML='Cacher le texte';
    }
    else
    {
        document.getElementById(id).style.visibility="hidden";
        document.getElementById('bouton_'+id).innerHTML='Afficher le texte';
    }
    return true;
}
    </script>  
                                  
    </div>
    </div>

Mon souhait serait d'avoir un bouton pour que la page soit invisible lorsque je coche le bouton #-o

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8306 Messages

22 janv. 2018, 12:44

Bonjour,

Je ne suis pas sûr de comprendre ta question.
Si c'est pour rendre persistant un affichage javascript, regarde pour mettre en place un cookie dans le navigateur dont tu va consulter le contenu pour savoir si tu dois afficher ou pas le contenu souhaité.
Si c'est pour afficher un bouton admin uniquement à un profil particulier de tes utilisateurs, alors il faut rattacher cela au profil de tes utilisateurs connectés et on utilisera alors plutôt des sessions.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 168 Messages

22 janv. 2018, 22:56

bonsoir @rthur

Merci te t'interesser à mon sujet.

En fait ce que je veux, c'est q'un simple bouton gestion partie administration me permette d'activer la visibilité ou non d'une partie d'une page.

Pour l'exemple nos_services les données sont dans la base sql et visibles sur la page du site avec
<?php echo " ".$row['nos_services']. " "; ?>

ViPHP
ViPHP | 4039 Messages

23 janv. 2018, 10:03

Salut,
Comme @rthur l'a expliqué, un cookie te permet d'enregistrer, dans le navigateur de l'utilisateur, une donnée (genre: est-ce que j'ai envie d'afficher la partie admin ? Oui/Non ?).

Il suffirait d'ajouter l'écriture et la lecture du cookie dans ton code: on retrouve des tutos sur les cookies un peu partout, en voici un qui explique les sessions PHP et comment lire & écrire un cookie en PHP, ainsi que celui-ci pour Javascript.

Par ailleurs, j'espère juste que ce que tu fais est une interface à utiliser en interne, et que rien de tout cela n'est exposé sur internet: Tout ce qui est Javascript et Cookie sont très faciles à abuser et à contourner.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 168 Messages

23 janv. 2018, 17:11

Tout ce qui est Javascript et Cookie sont très faciles à abuser et à contourner.
oui c'est pour-cela que je cherche une fonction en php #-o

c'est l'admin et non le visiteur qui désactive d'un simple clic la page à cacher

Eléphanteau du PHP | 17 Messages

23 janv. 2018, 17:51

Il faudrait comprendre ce que tu veux faire exactement? Peut-être vérifier si le visiteur est connecté en tant qu'admin et afficher ou non l'information en conséquence ? Ou faire dans ton admin un select oui / non , reprendre l'information, mettre une condition qui dit d'afficher si le select est sur oui?

Il y a plusieurs manières d'arriver à tes fins, faudrait comprendre exactement ce que tu veux

Eléphant du PHP | 168 Messages

23 janv. 2018, 23:10

faire dans ton admin un select oui / non , reprendre l'information, mettre une condition qui dit d'afficher si le select est sur oui?
salut samuel
C'est exactement çà que je veux :D

Eléphanteau du PHP | 17 Messages

24 janv. 2018, 09:17

Ça l'avance, mais encore là, il faut comprendre ce que tu veux faire. Tu veux décider pour chaque service de façon individuel si oui ou non il est affiché, ou tu veux une option qui controle tout les services d'un coup ?

Eléphant du PHP | 168 Messages

24 janv. 2018, 12:23

samuel

Ce que je veux c'est ne pas effacer mes données sur la base voir image ci dessous, mais créer ce fameux bouton afficher données ou non dans la page.
Image

Eléphanteau du PHP | 17 Messages

24 janv. 2018, 13:02

Pourrais tu juste répondre à ma question s'il te plait ? Je te demande si tu veux controler oui/non donnée par donnée? Ou un seul oui/non pour toute les données?

Eléphant du PHP | 168 Messages

24 janv. 2018, 14:01

un seul les données nos_services

çà me permettra de comprendre déjà le principe

Eléphanteau du PHP | 17 Messages

24 janv. 2018, 23:31

Comme tu veux juste un seul oui/non, aucunement besoin de créer ça dans la base de données. A moins que tu es plusieurs options speciales, là je créerai une table "options", ou encore, si tu veux décider pour chaque donnée, je créerai une colonne supplémentaire pour ta table service... mais dans ton cas, ont va faire quelque chose de bien simple:

Code : Tout sélectionner

$display_service = 0; if($display_service == 1){ echo $row['nos_services']; }

Eléphant du PHP | 168 Messages

25 janv. 2018, 22:38

Merci, çà fonctionne quand je change moi même les valeurs dans la page PHP

Maintenant possibilité de créer deux boutons dans une page administration
qui tienne compte de ton script ?

genre :

<input type="checkbox" name="choix[]" value="0"> Désactiver<br>
<input type="checkbox" name="choix[]" value="1"> Activer<br>

Eléphant du PHP | 168 Messages

26 janv. 2018, 23:17

OK çà fonctionne mais j'utilise une bdd.

Image
Y a t-il une solution plus simple ?

le script de la page visible en ligne:
$display_service = $row['choix'];
//$display_service = 1;
if($display_service == 1){
echo $row['nos_services'];
La page admin avec les deux choix
<b>DESACTIVER</b>
<form style="width:150px;"  method="post" action="send_1.php"  >
		   <fieldset>
		<input type="checkbox" ><br>
	      </fieldset>
<input type="submit" value="Désactiver">
</form>
<br>
<br>
<b>ACTIVER</b>
<form style="width:150px;" method="post" action="send_2.php"  >
		   <fieldset>
        <input type="checkbox" ><br>  
	      </fieldset>
<input type="submit" value="Activer">
</form>
La page envoi 1:
 
<?php
$bdd= ' UPDATE `acces_posts` SET   choix= " 0 "      WHERE `id`=1 ';
if ($conn->query($bdd) === TRUE) {
echo "<h2 style=' color:green; text-align: center;'>Modifs effectuées !</h2>";
} else {
echo "<h2 style=' color:red;'>Erreur SQL insertion données:</h2> " . $bdd . "<br>" . $conn->error;
}mysqli_close($conn); 
?>
 
La page envoi 2:
<?php
$bdd= ' UPDATE `acces_posts` SET   choix= " 1 "      WHERE `id`=1 ';
if ($conn->query($bdd) === TRUE) {
echo "<h2 style=' color:green; text-align: center;'>Modifs effectuées !</h2>";
} else {
echo "<h2 style=' color:red;'>Erreur SQL insertion données:</h2> " . $bdd . "<br>" . $conn->error;
}mysqli_close($conn); 
?>
 
Modifié en dernier par bob56@ le 26 janv. 2018, 23:25, modifié 1 fois.