begin process at 2012 05 28 22:56:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

faire apparaitre et disparaitre des div PHP javascript CSS


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

faire apparaitre et disparaitre des div PHP javascript CSS

jeudi 21 avril 2011 à 19:27:15 | faire apparaitre et disparaitre des div PHP javascript CSS

jeffreynaz

Bonjour à tous je vous supplie de m'aider.
j'explique le probleme :
je fais un site sur lequel on peut publier des articles et les commenter et faire des reponse aux commentaires.
bref je fais un page articles.php

en gros dans cette page je fais afficher tous mes articles dans mon div "liste_article" et en fait j'aimerais qu'en dessous de chaque article il y ait deux bouton ou "lien"

le premier qui affiche la liste de tous les commentaires déjà présent sur cet article.

le second qui ne s'affiche que si le membre est connecté (pour ca je ferais un test qui verifie si mes variable login stocké en session existe.)
qui affiche donc un formulaire permettant d'ajouter un commentaire sur l'article en question.

j'ai essayé de m'inspirer de cela :
http://www.journaldunet.com/developpeur/tutoriel/css/040610-css-div-montrer-cacher.shtml

j'ia essayer de l'adapter à mon code mais il y a des soucis.
nottament avec ma fonction javascript.
la fonction javascript fais en sorte que quand la page est chargé si javascript est disponible le contenu est caché directement or la ce n'est pas le cas et quand je clic sur fermer cela me cache tout contenu de article.php

de plus maintenant je ne sais pas trop ce qui se passe mais en cliquant fermer cela m'affiche un message d'erreur :

Forbidden

You don't have permission to access /apamonde/javascript : cacheId ('contenu'); on this server.



voila désolé pour ce post méga long mais je suis vraiment "in da shit " pour ce problème.


voici le contenu de ma page article.php
--------------------------------------------------------------------------------------
Code PHP :
<div id="contenu">

Liste des articles :<br />
<?php while ($donnees2 = mysql_fetch_array($retourArticles)){ ?>
<div id="liste_article">


<titre>
<p><?php echo $donnees2['titre'];?></p>
</titre>
<p><?php echo $donnees2['contenu'];?></p>


</div>
<!-------------------------------------------------------------->
<div id = "commentaire" class="clicTitre">
  <a href="javascript:afficheId('contenu')">Nous contacter</a>
</div>
<p>---------------------</p>
<div id = "commentaire" class="contenant" >
<!--<div id = "commentaire" class="contenant" id="contenu">-->
  <div class="clicCacher">
  
    <!--<a href="javascript:cacheId('contenu');">Fermer</a>-->
    <a href = "javascript : cacheId ('contenu');">Fermer </a>
  </div>
	<p>Test pour les commentaires</p>

</div>

<?php } ; ?>
</div>

--------------------------------------------------------------------------------------

ma page fonction.php que j'inclue dans articles.php
--------------------------------------------------------------------------------------
Code PHP :
<script language = 'javascript'>
function afficheId(baliseId) 
  {
  if (document.getElementById && document.getElementById(baliseId) != null) 
    {
    document.getElementById(baliseId).style.visibility='visible';
    document.getElementById(baliseId).style.display='block';
    }
  }

function cacheId(baliseId) 
  {
  if (document.getElementById && document.getElementById(baliseId) != null) 
    {
    document.getElementById(baliseId).style.visibility='hidden';
    document.getElementById(baliseId).style.display='none';
    }
  }

cacheId('contenu'); 
// si JavaScript est disponible, cache le contenu dès le 
// chargement de la page. Sans JavaScript, le contenu sera 
// affiché.
</script>

--------------------------------------------------------------------------------------

ma page css
Code :
#commentaire.clicTitre
  {
  border-color: #000000;
  border-top: 1px solid;
  border-left: 1px solid;
  border-right: 1px solid;
  border-bottom: 2px dashed;
  background-color: #eeeeee;
  width : 452px ;
height : auto;
  }
  
#commentaire.clicCacher
  {
  top: -20px;
  position: relative;
  width : 452px ;
height : auto;
  /*text-align:right;*/
  }
  
#commentaire.contenant 
  {
  display : block;
  border: 1px solid #000000;
  width : 452px ;
height : auto;
  }

vendredi 22 avril 2011 à 18:01:48 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

aKheNathOn

Membre Club
Un grand post mérite une grande réponse

Je pense en voyant ce que tu as codé que ce n'est pas bon du tout. Ton problème c'est que tu n'utilises pas la bonne méthode ... du coup tout est mélangé et c'est brouillon.

Si tu veux que je t'aide il va falloir commencer par faire du ménage pour ensuite ne gérer que les problèmes liées à ce que tu veux faire et pas les effets de bords javascript.

Si t'es motivé je vais te donner la marche à suivre (en version simplifiée pour ne pas t'embrouiller) :

1. Fais un fichier database/article.php :

Code PHP :
<?php
class article {
  public $id;
  public $titre;
  public $contenu;
  public static function ListArticles($category...) {
     $articles = array();
     ...fait ton truc mysql_select...
     while ($donnees2 = mysql_fetch_array($retourArticles)) {
       $article = new self();
       $article->id = $donnees2['id'];
       $article->titre = $donnees2['titre'];
       $article->contenu = $donnees2['contenu'];
       $articles[] = $article;
     }
     return $articles;
  }
}


1.bis Si tu as fait un config.inc.php, et un database.php pour ta base de données, va falloir exposer la connexion - donc dans la partie connect :

Code PHP :
  $GLOBALS['db'] = mysql_connect....


2. Reprends ton fichier articles.php :
Code PHP :
<?php
  ...initialisation du système...
  require_once('database/article.php');
  $articles = article::ListArticles(...);
?>
<div id="...">
<?php foreach($aticles as $article) { ?>
  <div id="...">
    <h1><?php echo $article->titre; ?></h1>
    <p>
      <?php echo $article->contenu; ?>
    </p> 
    ...
  </div>
<?php } ?>
</div>


3. Mets ton javascript dans un fichier aticles.js, sans les balises <script...>. Au passage pour éviter des problèmes de compatibilités entre ie et ff, et puis simplifier les choses je te conseille de télécharger et d'ajouter à ta page jQuery : http://docs.jquery.com/Downloading_jQuery

Dans la balise head mets les réferences vers jquery puis vers ton fichier js.

4. Modifies ton code dans articles.js, il devient :

Code Javascript :
function afficheId(baliseId) {
  $(baliseId).show();
}
function cacheId(baliseId) {
  $(baliseId).hide();
}
$(document).load(function() {
  cacheId('contenu'); 
});


Reviens poster un message avec l'erreur que tu obtiens quand t'en seras là...

Bon courrage,
Akh
vendredi 22 avril 2011 à 18:05:07 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

jeffreynaz

Merci beaucoup de ta réponse je teste ça ce week end.
mardi 26 avril 2011 à 16:35:45 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

jeffreynaz

je suis en train de bosser sur ça et je ne comprend pas bien cette partie

1.bis Si tu as fait un config.inc.php, et un database.php pour ta base de données, va falloir exposer la connexion - donc dans la partie connect :

Code PHP :
$GLOBALS['db'] = mysql_connect....


pour me connecter a ma base je fais ca en debut de page

Code PHP :
session_start();
//@$_SESSION['login'] = $_POST['login'];
//@$_SESSION['pass'] = $_POST['pass'];

if(@file_exists("connect.php")){
include("connect.php");
echo "connexion réussie";
}
$bdconnex = connectionBD();
include ("fonction.php");


et dans ma page fonction.php ya ça juste

Code PHP :
function connexionBd ()
{
	$dbHost = 'localhost';
	$dbUser = 'root';
	$dbPass = '';
	$dbDb = 'apamm';
		
$paramConnexion = mysql_connect($dbHost,$dbUser,$dbPass);
if(!$paramConnexion)
	{
	echo '<blink>non Connecté</blink>';
	exit ();
	}
else 
	{
	//echo '<p>connecté</p>';
	}
if (!mysql_select_db($dbDb))
	{
	exit ('<p>impossible de localiser la base de données</p>');
	}
	
return $paramConnexion ; 
}




je comprend pas bien ton code de connexion je pense que mon truc suffit en tout cas cela marche.
mardi 26 avril 2011 à 16:55:47 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

aKheNathOn

Membre Club
yep, t'as raison, ton truc marche et pas besoin de plus. Je demande juste de rendre $bdconnex global pour l'utiliser n'importe où dans le code ou les fonctions.

donc dans : fonction.php

[code php]
function connexionBd ()
{
$dbHost = 'localhost';
$dbUser = 'root';
$dbPass = '';
$dbDb = 'apamm';
$paramConnexion = mysql_connect($dbHost,$dbUser,$dbPass);
if(!$paramConnexion)
{
echo '<blink>non Connecté</blink>';
exit ();
}
else
{
//echo '<p>connecté</p>';
}
if (!mysql_select_db($dbDb))
{
exit ('<p>impossible de localiser la base de données</p>');
}
return $paramConnexion ;
}
[/code]

Et dans chaque haut de page :

[code php]
require_once('fonction.php');
$GLOBALS['bdconnex'] = connectionBD();
...
[/code]

Et ensuite dans database/article.php :

[code php]
class article {
public $id;
public $titre;
public $contenu;
public static function ListArticles($category...) {
$articles = array();
$retourArticles = mysql_query("SELECT ....", $GLOBALS['bdconnex']);
while ($donnees2 = mysql_fetch_array($retourArticles)) {
$article = new self();
$article->id = $donnees2['id'];
$article->titre = $donnees2['titre'];
$article->contenu = $donnees2['contenu'];
$articles[] = $article;
}
return $articles;
}
}
[/code]

--- Tu as une version plus propre mais faut faire un petit effort pour l'écrire en objet :

1. Tu supprimes fonction.php
2. Tu créés un lib/config.php :

[code php]
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PWD', '');
define('DB_NAME', 'ta_base_de_donnees');
[/code]

3. Tu crées un fichier lib/database.php :

[code php]
<?php
class database {
private static $ptr;
public static function connect() {
self::$ptr = ...
}
public static function query($sql) {
...
}
}
[/code]

4. Tu crées un lib/bootstrap.php :

[code php]
<?php
require_once(dirname(__FILE__).'/config.php');
require_once(dirname(__FILE__).'/database.php');
database::connect();
[/code]

5. Dans n'importe quelle page du site tu n'auras plus qu'à écrire :

[code php]
<?php require_once('lib/bootstrap.php'); ?>
....
[/code]

Dans tous les cas, tu n'est pas obligé de faire une classe pour la base de données, mais au moins ranges dans des classes chaque chose car sinon tu t'y perdras dans ton code.

Bon courage,
aKheNAtHoN
mardi 26 avril 2011 à 18:34:52 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

jeffreynaz

je ne comprend pas :
dans lib/database.php

class database {
private static $ptr;
public static function connect() {
self::$ptr = ...
}
public static function query($sql) {
...
}
}

la fonction connect je met quoi dedans ?
idem pour query

désolé.
merci.

vendredi 29 avril 2011 à 15:11:33 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

jeffreynaz

ya quelqu'un ?
vendredi 29 avril 2011 à 15:21:47 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

aKheNathOn

Membre Club
Hello jeffrey,

Dans la fonction connect tu est censé y mettre la connection à ta base de données - je pense que database::connect() est assez explicite comme nom de fonction.

Tu manque de bases au niveau développement, ça va être compliqué pour toi de faire un projet aussi complexe.

Pour répondre à ta question initiale tu as une erreur de syntaxe dans la balise <a href... de la div class="clicCacher"... Tu as mis des espace dans le href="..." et du coup au lieu de le lire comme du java il cherche à lancer la commande comme une url de page web.

Tu as la bonne syntaxe juste au dessus : href="javascript:cacheId('contenu');"

Bonne continuation
vendredi 29 avril 2011 à 16:51:23 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

jeffreynaz

ouai en fait je me suis mal exprimé je comprend très bien le contenu a mettre dans connect
ce qui me gène en revanche c'est le

self::$ptr = ...
vendredi 29 avril 2011 à 18:05:02 | Re : faire apparaitre et disparaitre des div PHP javascript CSS

aKheNathOn

Membre Club
C'est lui qui garde l'id de la connection :
self::$ptr = mysql_connect...

Et dans public static function query($sql)

return mysql_query($sql, self::$ptr)...



aKheNAtHoN


Cette discussion est classée dans : javascript, php, document, getelementbyid, baliseid


Répondre à ce message

Sujets en rapport avec ce message

PHP dans javascript ??? [ par sbool ] Je ne touche jamais (ou presque au javascript), et j'aurais voulu savoir comment insérer une variable de mon code en php dans un javascript. Par exemp [PHP + JavaScript] Execution d'un script methode onSubmit [ par alextec ] Bonjour à tous, ne sachant pas vraiment où mettre mon message je le met ici, désolé aux modérateurs si je me suis trompé veuillez m'en excuser...Voilà javascript et Php/MySql [ par sagat06 ] Bonjour à tous,actuellement sur un projet, je viens de rencontrer un petit soucis d'où cette présente question.Voilà mon problème:J'ai réalisé entière Intégrer du javascript dans du php [ par cubanai ] Bonjour à tous et à toutes. Voilà, j'ai deux questions en une. Je me demandais si le serveur pouvait effectuer lui même le javascript contenu dans mon javascript et php [ par mkayfab ] bonjourj'ai réalisé ce code cidessous en javascript mais je n'arrive pas a l'integré dans mon site php (xoops)3 radiobouton ( ou lien ou image si ce n Impression sur différentes imprimantes [ par Falcon074 ] Bonjour à tous !!! J'ai un problème car actuellement j'ai développer un logiciel de saisie de commande en php mysql qui fonctionne sous ie 7 et j'aime passage de variables de php à javascript [ par xav91 ] je me permet de refaire un post, pour changer l intitulé du sujet j ai résolu mon probleme différemment, mais un autre (moindre) se pose maintenant.m Agir dans du JS avec du php [ par wadpap13 ] Bonjour à tous !!!Est il possible d'agir dans du javascript en php.Je m'explique j'ai un compteur à rebours en javascript avec une variable t (valeur RECUPERER une valeur javascript en php [ par plopinou ] Bonjour a tous, voici ma fonction javascript : function serialize(s){    serial = $.SortSerialize(s);    alert(serial.hash);};<br / getElementById('x').innerHTML en PHP [ par malik7934 ] Hello,Je sèche sur un problème que je pensais tout bête: je souhaite récupérer dans une page HTML le contenu d'une balise précise.La page est du style


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales