Bonjour,

...Je vais finir par devenir chèvre.....je ne comprends plus rien.... quand je veux afficher un echo sur ma page, il s'affiche mais comme le fond est noir, je ne vois rien.... je ne vois le texte affiché que lorsque je passe la souris dessus... pourtant il devrait se colorer en blanc car je l'ai défini ainsi dans le CSS...
D'ailleurs tous les autres textes s'affichent, par contre il ne sont pas affiché en echo, mais en HTML.
D'où peut venir le pb ?
Voici mes codes :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>La Galerie Photos de Pascal</title>

<link href="Styles/style_poster_livre_or.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="page">  

 	
<form method="post" action="livre_or.php">
        
        <p class="texte_livre_or">
      Veuillez entrer votre commentaire</p>
        <p class="texte_livre_or1">(Tous les champs sont à remplir)</p>
      
        <br/><br/>
        <p class="texte_livre_or1">Message :<br />
          <textarea name="contenu" cols="70" rows="6" id="couleurcase"></textarea><br /><br /><br />
          Nom : <input name="nom" id="couleurcase"/>Prénom :<input name="prenom" id="couleurcase"/>
          
          
          
          
          
   
      <label for="note" >Attribuez une note</label>
      <select name="note" id="couleurcase">
      <option value=""></option>
      <option value="0">0</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
      <option value="16">16</option>
      <option value="17">17</option>
      <option value="18">18</option>
      <option value="19">19</option>
      <option value="20">20</option>
      </select>
      <br/><br/><br />
      
      <input type="submit" value="Envoyer" id="couleurcasesubmit"/><input type="reset" value="Effacer" id="couleurcasesubmit1" /><br/><br/><br/>
      </p>
       
    
  </form>
	
<?php
	   if ($_GET['testcommentaire']==1)
	   {echo'<h3>Veuillez saisir tous les champs SVP</h3>';}
	   ?>

</div>


Voici le CSS correspondant

@charset "utf-8";
/* CSS Document */

/*Decoration Commune à toutes les pages*/
body {
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 1em;
	background-image: url(../images/fond_body.gif);
	background-repeat: repeat;
	background-attachment: fixed;
}

#page
{
	margin-left:auto;
	margin-right:auto;
	height:800px;
	width:760px;
	padding-top:20px;
	background-image: url(../images/page-ligne.gif);
	background-repeat: repeat-y;
}

form
{
	text-align: center;
}
.texte_livre_or {
	font-size: 1.3em;
	font-style: italic;
	font-weight: bold;
	color: #FFF;
}
#couleurcase
{
	background-color: #FFC;
	border-top-color: #FDAABB;
	border-right-color: #FDAABB;
	border-bottom-color: #FDAABB;
	border-left-color: #FDAABB;
}
#couleurcasesubmit
{
	background-color: #FDAABB;
	border: thin solid #FFC;
}
.texte_livre_or1 {
	font-size: 0.8em;
	font-style: italic;
	font-weight: normal;
	color: #FFF;
}



#couleurcasesubmit1 {
	background-color: #FDAABB;
	border: thin solid #FFC;
	margin-left: 20px;
}
h3
{
	font-weight: bolder;
	color: #FFF;
	background-color: #C9C;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}


Merci d'avance....
La seule "solution" possible (sans voir de page en ligne avec le code complet) est de t'assurer que l'élément h3 n'est pas redéfini plus loin dans le feuille de style.

Le problème n'as rien à voir avec le echo, puisque si tu regarde ton code PHP, celui-ci n'apparait pas, à la place de :

<?php
	   if ($_GET['testcommentaire']==1)
	   {echo'<h3>Veuillez saisir tous les champs SVP</h3>';}
	   ?>


Tu dois avoir, uniquement (quand le if est validé) :
<h3>Veuillez saisir tous les champs SVP</h3>

Si ce n'est pas le cas, tu as un problème de serveur.
Est-ce que h3 est redéfini à un autre endroit dans le CSS ?

Est-ce qu'il serait possible de voir uen page de test en ligne ?
Re,

Alors voilà l'adresse, je viens de tout mettre à jour dans l'état actuel des choses.... par contre je viens de voir qu'une fois en ligne, le header ne marche pas et j'ai une erreur à chaque fois... alors qu'en testant celà sur mon localhost avec "Wamp", tout marchait bien !!!! Y aurait-il une autre erreur ? de chemin par ex ? Et comme le header ne marche pas, je ne peux pas vérifier le fonctionnement de

<?php

if ($_GET['testcommentaire']==1)

{echo'<h3>Veuillez saisir tous les champs SVP</h3>';}

?>

PS : le header aurait comme rôle de renvoyer sur la même page pour resaisir les champs lorsque ces derniers ne sont pas entièrement saisi.

J'oubliais il faut aller dans / Poster un commentaire

D'ailleurs j'ai constaté aussi que ce logiciel "Wamp" me fait quelques erreurs, car il n'affiche pas toujours ce qui se passe une fois sur le site : ex : le livre d'or en remplissant les champs, le fond de texte devrait changer... or le focus ne marche pas sur Wamp !!! Bizarre non ?
Modifié par baup67 (22 Feb 2009 - 13:28)
Salut baup67,

Si tu a des erreurs de header, faudrait nous les montrer (ou configurer ton php.ini pour qu'il renvoit les erreurs sur la page), parce que là nous on les voient pas les erreurs.... d'ailleurs si tu pouvais nous montrer le code php qui est derrière sa serai encore mieu, parce qu'un erreur a debugger sans code, c'est un poile difficile Smiley lol (En passant ton sujet risque d'etre déplacer dans le salon php, mais sa on verra plus tard je pense .. rappel t'en pour les prochains posts php Smiley cligne )
Modifié par Mikerob (17 Feb 2009 - 14:26)
baup67 a écrit :
D'ailleurs j'ai constaté aussi que ce logiciel "Wamp" me fait quelques erreurs, car il n'affiche pas toujours ce qui se passe une fois sur le site : ex : le livre d'or en remplissant les champs, le fond de texte devrait changer... or le focus ne marche pas sur Wamp !!! Bizarre non ?

Je doute que Wamp (serveur Apache avec PHP et MySQL pour Windows...) y soit pour quoi que ce soit. Ou que la fonction echo de PHP ou PHP lui-même ait le moindre rapport avec test problèmes d'HTML et CSS...

Pour ta page de test, je n'ai pas vu de trace du H3, donc je suppose qu'il n'a pas été généré en PHP. Je ne peux donc pas tester les styles CSS qui y sont associés (sauf à explorer le code CSS en entier, ce que je n'ai pas vraiment envie de faire donc je passe mon tour...).

Attention dans tous les cas à ne pas confondre les rôles de PHP, HTML et CSS. Un site web, ce sont généralement des contenus décrits en HTML, et mis en forme en CSS. Le PHP est géré en amont, par le serveur, et permet de générer ton contenu HTML. Le navigateur ne verra jamais ton code PHP (encore heureux), il ne reçoit que le HTML, le CSS, éventuellement du JavaScript, des images...

En passant: ton utilisation des différentes balises HTML est assez hasardeuse. Les niveaux de titre ne sont pas utilisés à bon escient. Le balisage HTML de tes éléments de formulaire est incomplet (il manque notamment des LABEL explicites). Je crois que tu as une bonne marge de progression dans ce domaine. Smiley cligne
a écrit :
En passant: ton utilisation des différentes balises HTML est assez hasardeuse. Les niveaux de titre ne sont pas utilisés à bon escient. Le balisage HTML de tes éléments de formulaire est incomplet (il manque notamment des LABEL explicites). Je crois que tu as une bonne marge de progression dans ce domaine. cligne


... je sais bien, mais pour l'instant je cherche à tester toutes les instructions...je remettrais de l'ordre dans tout cela plus tard

a écrit :
Si tu a des erreurs de header, faudrait nous les montrer (ou configurer ton php.ini pour qu'il renvoit les erreurs sur la page), parce que là nous on les voient pas les erreurs....

En fait le header marche bien sur "Wamp", il n'y a qu'une fois le site mis en ligne qu'il y a pb. Voici l'erreur généré sur le site :
Warning: Cannot modify header information - headers already sent by (output started at /mnt/160/sdb/c/d/galleriephoto.pascal/livre_or.php:12) in /mnt/160/sdb/c/d/galleriephoto.pascal/livre_or.php on line 91

De plus je suis débutant.... alors me parler de php.ini, je ne vois pas ce que cela veut dire.

a écrit :
d'ailleurs si tu pouvais nous montrer le code php qui est derrière sa serai encore mieu, parce qu'un erreur a debugger sans code, c'est un poile difficile


voici les codes :
page livre_or :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>La Galerie Photos de Pascal</title>
<link href="Styles/style_index.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="page">  

 <div id="en_tete"></div>

  <div id="menu">

  	<ul id="navigation">
	  <li><a href="index.php?page=accueil&amp;menu=menu1">Accueil</a></li>
	  <li><a href="index.php?page=nouvelles&amp;menu=menu2">News</a></li>
	  <li><a href="index.php?page=planning&amp;menu=menu2">Planning</a></li>
	  <li><a href="index.php?page=forum&amp;menu=menu2">Forum</a></li>
  	  <li><a href="livre_or.php">Livre d'Or</a></li>
	  <li><a href="index.php?page=liens&amp;menu=menu2">Liens</a></li>
    </ul>
  </div>



  	<div id="centre1">
  		
        <div id="texte_centre1">
       <p>Mon site vous plaît ? Laissez-moi un message !</p>
        </div>
        
 	</div>
  	
    <div id="centre2">
			<div id="texte_centre2">
    		

<form action="Poster_livre_or.php">
        
      <p>
        <input type="submit" value="Poster un commentaire" />
        <input type="hidden" name="testcommentaire" value="0" />

        </p>
          
          
    		
<?php




mysql_connect("localhost", "galleriephoto.pascal","donyDDYd");
mysql_select_db("galleriephoto_pascal");
 
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------

if (isset($_POST['nom']) and isset($_POST['prenom']) and isset($_POST['contenu']) and isset($_POST['note']))
{
    $nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
	$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
	// On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $contenu = mysql_real_escape_string(htmlspecialchars($_POST['contenu'])); // De même pour le message
    $contenu = nl2br($contenu); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
	
	$note=$_POST['note'];
	// Création de la date_______________________________________
	$timestamp=time();
	$Njour_de_semaine=date('w',$timestamp);
	$jour=array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
	$jour_de_semaine=$jour[$Njour_de_semaine];
	$Nmois=date('m',$timestamp);$Nmois=$Nmois-1;
	$tousmois=array('janvier','février','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre');
	$mois=$tousmois[$Nmois];
	$date=date('d',$timestamp).' '.$mois.' '.date('Y',$timestamp).' à '.date('H:i',$timestamp);
	
	// Test pour vérifier si les variables sont vides ou non avant l'écriture 
	if ($nom=="" and $prenom=="" or $contenu=="")
			{$test=1;}
	else 	{if ($note==""){$test=1;} else {$test=0;}}

	if ($test==0)
			{
			// On peut enfin enregistrer
			mysql_query("INSERT INTO livre_or VALUES('', '" . $nom . "', '".$prenom."','" . $contenu . "','".$date."','".$note."')");
			}
			else {header ('location [langue]oster_livre_or.php?testcommentaire=1');}
}




// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; 
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livre_or');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livre_or.php?page=' . $i . '">' . $i . '</a>';
}
//____________________________________
//Calcul des notes et de la moyenne
//____________________________________
$somme_note=0;
$retournote=mysql_query('SELECT note FROM livre_or') or die(mysql_error());
while ($donnees=mysql_fetch_array($retournote))
{$noteT=$donnees['note'];
	$somme_note=$somme_note+$noteT;echo 'note = '.$noteT.' somme = '.$somme_note.'<br/>';}
$moy_note=$somme_note/$totalDesMessages;

?>

 

<?php
 
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
 
if (isset($_GET['page']))
	{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse                               (livre_or.php?page=$i)
	}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
	{
        $page = 1; // On se met sur la page 1 (par défaut)
	}
 
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM livre_or ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
	{
		
		
         echo '<p><strong>' . $donnees['nom'] . " ".$donnees['prenom'].'</strong> a écrit :<br />' . $donnees		['contenu'] . '</p></br>';
//		 echo $donnees['dates']. '</p></br>';
//		 echo $donnees['note'];

	}
echo 'LA MOYENNE EST DE '.round($moy_note,1); 
mysql_close(); // fermer la connexion à MySQL
?>

 

 
       </div>
  	</div>
  
  	<div id="centre3"></div>
    		
            <div id="texte_centre3">
            </div>
 
 <div id="pied_de_page">
     	<div id="pdphaut">
     	</div>
     	<div id="pdpgauche">
     		<a href="mailto:pascal.b67@gmail.com">Pascal Baumgart</a>
     
    	</div>
        	<div id="pdpdroit">
            <p>dernière mise à jour le 30/01/09</p>
        	</div>
     	<div id="pdpbas">
     	
        </div>
     </div>


La page Poster_livre_or :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>La Galerie Photos de Pascal</title>

<link href="Styles/style_poster_livre_or.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="page">  
<form action="livre_or.php">
        
      <p>
        <input type="submit" value="<-- retour" id="couleurcasesubmit"/>
      </p>
</form> 	
<form method="post" action="livre_or.php">
        
        <p class="texte_livre_or">
      Veuillez entrer votre commentaire</p>
        <p class="texte_livre_or1">(Tous les champs sont à remplir)</p>
      
        <br/><br/>
        <p class="texte_livre_or1">Message :<br />
          <textarea name="contenu" cols="70" rows="6"></textarea><br /><br /><br />
          Nom : <input name="nom"/>Prénom :<input name="prenom"/>
          
          
          
          
          
   
      <label for="note" >Attribuez une note</label>
      <select name="note">
      <option value=""></option>
      <option value="0">0</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
      <option value="16">16</option>
      <option value="17">17</option>
      <option value="18">18</option>
      <option value="19">19</option>
      <option value="20">20</option>
      </select>
      <br/><br/><br />
      
      <input type="submit" value="Envoyer" id="couleurcasesubmit"/><input type="reset" value="Effacer" id="couleurcasesubmit1" /><br/><br/><br/>
      </p>
       
    
  </form>
	
<?php
	   if ($_GET['testcommentaire']==1)
	   {echo'<h3>Veuillez saisir tous les champs SVP</h3>';}
	   ?>

</div>


Le CSS de la page Poster_livre_or :
@charset "utf-8";
/* CSS Document */

/*Decoration Commune à toutes les pages*/
body {
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 1em;
	background-image: url(../images/fond_body.gif);
	background-repeat: repeat;
	background-attachment: fixed;
}

#page
{
	margin-left:auto;
	margin-right:auto;
	height:800px;
	width:760px;
	padding-top:20px;
	background-image: url(../images/page-ligne.gif);
	background-repeat: repeat-y;
}

form
{
	text-align: center;
}
.texte_livre_or {
	font-size: 1.3em;
	font-style: italic;
	font-weight: bold;
	color: #FFF;
}

#couleurcasesubmit
{
	background-color: #FDAABB;
	border: thin solid #FFC;
}
.texte_livre_or1 {
	font-size: 0.8em;
	font-style: italic;
	font-weight: normal;
	color: #FFF;
}



#couleurcasesubmit1 {
	background-color: #FDAABB;
	border: thin solid #FFC;
	margin-left: 20px;
}
h3
{
	font-weight: bolder;
	color: #FFF;
	background-color: #C9C;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}

input:focus, textarea:focus, select:focus /* Quand le curseur est sur un champ (ne marche pas sur IE) */
{
   background-color: #FFFF99;
   border-top-color: #FDAABB;
	border-right-color: #FDAABB;
	border-bottom-color: #FDAABB;
	border-left-color: #FDAABB;
}
input, textarea, select
{
	background:#FFC;
	border-top-color: #FDAABB;
	border-right-color: #FDAABB;
	border-bottom-color: #FDAABB;
	border-left-color: #FDAABB;
}


Merci pour votre aide
Modifié par baup67 (17 Feb 2009 - 14:46)
Bon,

Déjà pour commencer, le problème de header est normal. Ton header doit être utiliser avant toute génération de code (voir la fonction header dans la documentation php).

Donc tu as un problème de conception à résoudre avant que l'on puisse t'aider je crois Smiley smile
Modifié par Mikerob (17 Feb 2009 - 15:03)
hum...

Comme l'as dit Florent, il serait bon d'identifier le problème, afin de savoir s'il est causé par une erreur de PHP, d'HTML, de CSS ou autre.

Pour le message d'erreur en rouge dans ton post, il y a une erreur dans ton code PHP.
else {header ('location   oster_livre_or.php?testcommentaire=1');}

Les header doivent absolument et uniquement être envoyé avant tout autre contenu d'une page. Donc il est normal qu'il refuse la redirection, qui est d'ailleurs malhabile.

Je pense que le formulaire que tu as tenté de réaliser n'est pas de ton niveau, tu devrais revoir les bases de l'HTML et du CSS, ensuite, tu pourras te renseigner sur la meilleure façon de concevoir un formulaire et de le traiter avec PHP (qui nécessitera un apprentissage plus difficile que celui de l'HTML).

Pour ton problème initial, ta feuille de style ne comporte aucune instruction pour mettre le h3 en blanc, par contre :
/* Mise en forme pour le livre d'or*/
echo
{
	border: thin solid #69F;
}

ça ne risque pas de fonctionner. echo n'est pas une entité HTML, mais une fonction PHP, elle n'apparait pas dans le HTML généré qui sera stylé par CSS.
a écrit :
Je pense que le formulaire que tu as tenté de réaliser n'est pas de ton niveau


effectivement, header est une instruction que j'avais vu sur un forum... l'appliquant en testant sous Wamp, celà marchait Nickel.... dommage qu'en ligne ça plante...

Mais alors comment faire pour que lorsque aucun commentaire n'est saisi (ou les champs pas tous saisis) on ne retourne pas sur la page "livre_or" mais qu'on reste sur la page "Poster_livre_or" et qu'un message s'affiche indiquant que tous les champs doivent être saisis... y a-t-il une solution ?

a écrit :
ça ne risque pas de fonctionner. echo n'est pas une entité HTML, mais une fonction PHP, elle n'apparait pas dans le HTML généré qui sera stylé par CSS.

Quel moyen utiliser pour colorer le texte indiquer par un echo ? Je n'ai toujours pas eu de réponse...
Php te permets de générer du HTML (et du javascript mais on va pas compliquer Smiley smile ).
Donc en gros quand tu écris

echo ("<h3>salut</h3>"); 


il va te générer le html <h3>salut</h3>... donc toi dans ton css il te faut juste la déclaration du h3 {...}.

Mais si j'ai un conseil à te donner c'est RTFM. Qui signife qu'il faudrait lire un peu le manuel (en français en plus....), pour que tu sache ce que tu code sans te poser des questions pour lesquelles la solution est expliquée dans le manuel (là je t'ai fait la traduction polie, mais pour une explication complète c'est ici Smiley lol
Modifié par Mikerob (17 Feb 2009 - 15:45)
... mais c'est ce que j'ai fait.... juste déclarer le h3{}
Et pourtant je n'arrive pas à colorer le texte en blanc !!!
baup67 a écrit :
... mais c'est ce que j'ai fait.... juste déclarer le h3{}
Et pourtant je n'arrive pas à colorer le texte en blanc !!!


NON ! dans ta feuille de style la seule allusion à h3 est celle-ci :
h3 {
	font-style: italic;
	font-size: 1.5em;
}


Tu ne défini donc aucunement de couleur spécifique pour h3.
Re tout le monde,

Je reviens à l'attaque... je viens de découvrir un pb que je soupçonnais dès le départ.... en fait tout avait bien fonctionné, mais je n'ai jamais pu voir le résultat de mes changements car en vérifiant sous Wamp, ce dernier ne me mettait jamais à jour mes changements.
Il faut en fait que je vide le cache de mon explorateur (firefox) avant chaque vérification sous Wamp. Est-ce normal ? N'y-a-t-il pas un réglage à effectuer sous Wamp ? Faut dire que c'est chiant de vioder le cache avant chaque aperçu !

Depuis mon texte se colore, ... et tout et tout et tout !!!