par
calinette » 10 avr. 2006, 11:09
Bonjour,
J'ai conçu un désign sur un fichier qui contient un $_GET mais voilà, quand on clique sur les pages, mon désign ne s'y met pas (il figure juste sur la premiere page, sur celle qu'on se trouve mais si on clique sur la page 1, il ne s'affiche plus).
Voilà mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 STRICT//EN"
"http://www.w3.org/TR/xhtml1/DTD xhtml1-Strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title> Livre d'or_améliration </title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2
{
color: blue;
font-family: Arial, serif;
text-align: center;
}
.formulaire
{
text-align: center;
font-family: Arial, Verdana, serif;
font-size: 14px;
font-style : italic;
color: #d4b408;
font-weight: bold;
}
.formulairePage
{
text-align: center;
font-family: Arial, Verdana, serif;
font-size: 14px;
font-style : italic;
color: #000000;
font-weight: bold;
}
hr
{
size= 6;
text-align: center;
width: 50%;
color: #d4b408;
}
h3
{
color: blue;
text-align: center;
font-family: Arial, Verdana, serif;
font-size: 18px;
}
.affichagePseudo
{
margin-left: 60px;
}
</style>
</head>
<body bgcolor="#cfeafd">
<form method="post" action="livreor_amelioration.php">
<h2> Mon site vous plaît ? Laissez-moi un message ! </h2>
<p class="formulaire"> Pseudo : <input type="text" name="pseudo" /> </p>
<p class="formulaire"> Message : <br />
<textarea name="message" cols="50" rows="10"> </textarea> </p>
<p class="formulaire"> Donnez une note sur 20 au site :
<select name="note">
<option> 1 </option>
<option> 2 </option>
<option> 3 </option>
<option> 4 </option>
<option> 5 </option>
<option> 6 </option>
<option> 7 </option>
<option> 8 </option>
<option> 9 </option>
<option> 10 </option>
<option> 11 </option>
<option> 12 </option>
<option> 13 </option>
<option> 14 </option>
<option> 15 </option>
<option> 16 </option>
<option> 17 </option>
<option> 18 </option>
<option> 19 </option>
<option> 20 </option>
</select>
</p>
<p class="formulaire" class="corps"> <input type="submit" value="Envoyer" /> </p>
<p class="formulairePage"> Page :
<?php
// on définie le nombre de mess par page
$nbre_mess_par_page = 20;
//on se connecte à la bdd
mysql_connect ("localhost" , "root" , "");
mysql_select_db ("test");
// on compte le nombre de messages dans la bdd
$total_message = mysql_query ("SELECT COUNT(*) AS nbre_message FROM livreor");
$donnees = mysql_fetch_array ($total_message);
$total_mess = $donnees['nbre_message'];
// on calcule de nbre de pages à créer
$nbre_de_page = ceil($total_mess / $nbre_mess_par_page);
//on fait une boucle pour afficher les pages et leur lien
$i = 1;
while ($i <= $nbre_de_page)
{
echo' <a href="livreor.php?page=' . $i .' ">' . $i . '</a>';
$i++;
}
mysql_close() or die (mysql_error());
?>
</p>
</form>
<hr>
<font color="blue" face="Arial"> <b> <center> Informations diverses concernant le LIVRE D'OR </center> </b> </font>
<p align="center"> Nombre total de message postés :
<?php
mysql_connect("localhost" , "root" , "");
mysql_select_db ("test");
// nombre total de messages postés dans la bdd
$retour = mysql_query ("SELECT COUNT(*) AS nbre_entrees FROM livreor") or die (mysql_error());
$message_total = mysql_fetch_array($retour);
// on affiche le résultat :
echo ' <font color="#d4b408"> <b> ' . $message_total['nbre_entrees']. ' </b> </font> <br /> ';
mysql_close() or die (mysql_eror());
?>
</p>
<hr>
<h2> Vos messages </h2>
<p> <br /> </p>
<?php
// on récupère les variables du formulaire et on met htmlentities et ENT_QOTES
$pseudo = htmlentities ($_POST['pseudo'], ENT_QUOTES);
$message = htmlentities ($_POST['message'], ENT_QUOTES);
$note = htmlentities ($_POST['note'], ENT_QUOTES);
// on se connecte à MySQL et on choisi sa bdd
mysql_connect ("localhost" , "root" , "") or die (mysql_error());
mysql_select_db ("test") or die (mysql_error());
if (isset ($pseudo) AND isset ($message) AND isset ($note)) // on teste si la variable existe
{
if ($pseudo != NULL OR $message != NULL OR $note != NULL) // on teste si les variables contiennent quelque chose
{
//Si oui, on enregistre dans la bdd
mysql_query ("INSERT INTO livreor VALUES('' , '$pseudo', '$message' , '$note')");
}
}
//on vérifie si la variable $_GET existe
if (isset ($_GET['page']))
{
$page = $_GET['page']; // on récupère le n° de la page indiquée dans l'adresse (livreor.php?page= )
}
else // sinon, si la variable n'existe pas, c'est que c'est la 1ere fois qu'on charge la page
{
$page = 1; // on se met donc sur la 1ere page (par défaut)
}
// on calcule le n° du 1er message qu'on prend pour le LIMIT de MySQL
$premier_mess_afficher = ($page - 1) * $nbre_mess_par_page;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT '. $premier_mess_afficher. ' , '.$nbre_mess_par_page) or die (mysql_error());
// on va lister dans un tableau les données pour les afficher
while($donnees = mysql_fetch_array($reponse))
{
echo '<p class="affichagePseudo"> <font color="red" face="arial">' . $donnees['pseudo'] . ' </font> <i> a écrit : </i> <font color="#06af0f" face="arial"> ' . $donnees['message'] . '</font> <br />
<i> note donnée au site : </i> <font color="#06af0f" face="arial">' . $donnees['note'] . ' </font> </p>' ;
}
// on se déconnecte de MySQL
mysql_close() or die (mysql_error());
?>
</body>
</html>
J'ignore si c'est un problème de PHP ou de CSS, mais à mon avis c'est du PHP. Je précise que je suis une débutante en PHP et que j'ai fait cet exo qui fait parti d'un tuto dont la correction n'a pas été donnée.
Merci à ceux ou celles qui pourront m'aider.
Calinette
Bonjour,
J'ai conçu un désign sur un fichier qui contient un $_GET mais voilà, quand on clique sur les pages, mon désign ne s'y met pas (il figure juste sur la premiere page, sur celle qu'on se trouve mais si on clique sur la page 1, il ne s'affiche plus).
Voilà mon code :
[php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 STRICT//EN"
"http://www.w3.org/TR/xhtml1/DTD xhtml1-Strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title> Livre d'or_améliration </title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2
{
color: blue;
font-family: Arial, serif;
text-align: center;
}
.formulaire
{
text-align: center;
font-family: Arial, Verdana, serif;
font-size: 14px;
font-style : italic;
color: #d4b408;
font-weight: bold;
}
.formulairePage
{
text-align: center;
font-family: Arial, Verdana, serif;
font-size: 14px;
font-style : italic;
color: #000000;
font-weight: bold;
}
hr
{
size= 6;
text-align: center;
width: 50%;
color: #d4b408;
}
h3
{
color: blue;
text-align: center;
font-family: Arial, Verdana, serif;
font-size: 18px;
}
.affichagePseudo
{
margin-left: 60px;
}
</style>
</head>
<body bgcolor="#cfeafd">
<form method="post" action="livreor_amelioration.php">
<h2> Mon site vous plaît ? Laissez-moi un message ! </h2>
<p class="formulaire"> Pseudo : <input type="text" name="pseudo" /> </p>
<p class="formulaire"> Message : <br />
<textarea name="message" cols="50" rows="10"> </textarea> </p>
<p class="formulaire"> Donnez une note sur 20 au site :
<select name="note">
<option> 1 </option>
<option> 2 </option>
<option> 3 </option>
<option> 4 </option>
<option> 5 </option>
<option> 6 </option>
<option> 7 </option>
<option> 8 </option>
<option> 9 </option>
<option> 10 </option>
<option> 11 </option>
<option> 12 </option>
<option> 13 </option>
<option> 14 </option>
<option> 15 </option>
<option> 16 </option>
<option> 17 </option>
<option> 18 </option>
<option> 19 </option>
<option> 20 </option>
</select>
</p>
<p class="formulaire" class="corps"> <input type="submit" value="Envoyer" /> </p>
<p class="formulairePage"> Page :
<?php
// on définie le nombre de mess par page
$nbre_mess_par_page = 20;
//on se connecte à la bdd
mysql_connect ("localhost" , "root" , "");
mysql_select_db ("test");
// on compte le nombre de messages dans la bdd
$total_message = mysql_query ("SELECT COUNT(*) AS nbre_message FROM livreor");
$donnees = mysql_fetch_array ($total_message);
$total_mess = $donnees['nbre_message'];
// on calcule de nbre de pages à créer
$nbre_de_page = ceil($total_mess / $nbre_mess_par_page);
//on fait une boucle pour afficher les pages et leur lien
$i = 1;
while ($i <= $nbre_de_page)
{
echo' <a href="livreor.php?page=' . $i .' ">' . $i . '</a>';
$i++;
}
mysql_close() or die (mysql_error());
?>
</p>
</form>
<hr>
<font color="blue" face="Arial"> <b> <center> Informations diverses concernant le LIVRE D'OR </center> </b> </font>
<p align="center"> Nombre total de message postés :
<?php
mysql_connect("localhost" , "root" , "");
mysql_select_db ("test");
// nombre total de messages postés dans la bdd
$retour = mysql_query ("SELECT COUNT(*) AS nbre_entrees FROM livreor") or die (mysql_error());
$message_total = mysql_fetch_array($retour);
// on affiche le résultat :
echo ' <font color="#d4b408"> <b> ' . $message_total['nbre_entrees']. ' </b> </font> <br /> ';
mysql_close() or die (mysql_eror());
?>
</p>
<hr>
<h2> Vos messages </h2>
<p> <br /> </p>
<?php
// on récupère les variables du formulaire et on met htmlentities et ENT_QOTES
$pseudo = htmlentities ($_POST['pseudo'], ENT_QUOTES);
$message = htmlentities ($_POST['message'], ENT_QUOTES);
$note = htmlentities ($_POST['note'], ENT_QUOTES);
// on se connecte à MySQL et on choisi sa bdd
mysql_connect ("localhost" , "root" , "") or die (mysql_error());
mysql_select_db ("test") or die (mysql_error());
if (isset ($pseudo) AND isset ($message) AND isset ($note)) // on teste si la variable existe
{
if ($pseudo != NULL OR $message != NULL OR $note != NULL) // on teste si les variables contiennent quelque chose
{
//Si oui, on enregistre dans la bdd
mysql_query ("INSERT INTO livreor VALUES('' , '$pseudo', '$message' , '$note')");
}
}
//on vérifie si la variable $_GET existe
if (isset ($_GET['page']))
{
$page = $_GET['page']; // on récupère le n° de la page indiquée dans l'adresse (livreor.php?page= )
}
else // sinon, si la variable n'existe pas, c'est que c'est la 1ere fois qu'on charge la page
{
$page = 1; // on se met donc sur la 1ere page (par défaut)
}
// on calcule le n° du 1er message qu'on prend pour le LIMIT de MySQL
$premier_mess_afficher = ($page - 1) * $nbre_mess_par_page;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT '. $premier_mess_afficher. ' , '.$nbre_mess_par_page) or die (mysql_error());
// on va lister dans un tableau les données pour les afficher
while($donnees = mysql_fetch_array($reponse))
{
echo '<p class="affichagePseudo"> <font color="red" face="arial">' . $donnees['pseudo'] . ' </font> <i> a écrit : </i> <font color="#06af0f" face="arial"> ' . $donnees['message'] . '</font> <br />
<i> note donnée au site : </i> <font color="#06af0f" face="arial">' . $donnees['note'] . ' </font> </p>' ;
}
// on se déconnecte de MySQL
mysql_close() or die (mysql_error());
?>
</body>
</html>
[/php]
J'ignore si c'est un problème de PHP ou de CSS, mais à mon avis c'est du PHP. Je précise que je suis une débutante en PHP et que j'ai fait cet exo qui fait parti d'un tuto dont la correction n'a pas été donnée.
Merci à ceux ou celles qui pourront m'aider.
Calinette