Page 1 sur 1

aide pour livre d'or

Posté : 19 nov. 2009, 00:52
par beli
bonjour,
j'ai réussi à mettre une livre d'or en php que j'ai intégrer à ma page html de mon site ,
mais quand on clique sur signer le livre d'or, je sors de ma page html pour aller sur la page php3.
idem quand on clique sur la page 2 du livre...
je débute, j'ai passé beaucoup de temps pour mettre tout ça en place.. ces 2 erreurs me rende folle alors je fais appel à votre savoir
MERCI

Re: aide pour livre d'or

Posté : 19 nov. 2009, 10:29
par animithra
Bonjour,

Alors, je fais ça dans l'ordre qui me paraît le plus logique.

Qui dit formulaire dit page de traitement donc php : quoi qu'il arrive, il faudra lorsqu'on signe ton livre d'or arriver sur une page php.

Comment donc rester sur la même page ?

Eh bien tu peux définir la page en php directement à la place de ta page html.
Ensuite, soit via un paramètre dans l'URL, soit de manière cachée avec une méthode POST, tu passes l'action que tu veux faire (voir la page suivante, valider le formulaire, etc.) et tu l'interprête dans la même page.

Par exemple, si ton formulaire a comme paramètre action='#', ton formulaire rappellera la page courante pour l'envoi des résultats, ce qui implique qu'en début de code tu testes si tu as un enregistrement à faire.

Je ne sais pas si ça paraît très clair, je t'encourage à te documenter sur le traitement des formulaires.

Bon courage et bonne progra.

Re: aide pour livre d'or

Posté : 19 nov. 2009, 15:57
par beli
Bonjour et merci pour ta réponse

j'ai essayé de nommer ma page en php plutôt que html mais dans ce cas le formulaire n'apparait plus sur ma page...


après j'ai pas trop compris tes explications...

Re: aide pour livre d'or

Posté : 19 nov. 2009, 16:13
par animithra
Renommer n'est ni suffisant ni la bonne méthode.

Déjà il faut absolument que tu t'approprie le code que tu utilises qui doit être une solution pré-conçue...

Pour en revenir à mon expliquation concernant la gestion en une seule page, je te dégrossis le boulot, après à toi de te documenter pour trouver comment faire (je considère que tu as une page en PHP of course).
<?php
//si j'ai un enregistrement à faire (existence de variables de type $_POST)
//j'effectue les enregistrements (ie récupérer les valeurs des variables envoyées puis les insérer dans la base de données)

//sinon
//afficher les messages en fonction de la page courante (soit tu es sur la première page et tu affiches les X premiers résultats,
//soit tu n'es pas sur la 1re page et tu affiches les résultats à partir du résultat numéro (page*X).
//tu peux passer le numéro de page via des liens de type www.monsite.com/mapage.php?page=x ($_GET['page'] te donne alors la valeur de x)

//après, soit tu appelles le formulaire d'ajout dans le code php (via la fonction include() ou require_once()), soit tu fermes le code php et tu copie/colle
//le code HTML
?>
A côté de ça il est nécessaire que tu connaisses les bases HTML concernant les formulaires (http://cyberzoide.developpez.com/html/form.php3) ainsi que les bases PHP & SQL (http://www.phpdebutant.org).

Bonne progra !

Re: aide pour livre d'or

Posté : 19 nov. 2009, 16:33
par beli
Merci Animithra
je connais le langage html mais le php seulement depuis 2 jours !

je te met ici les codes de ma page php3 en espérant que tu trouve ou je dois modifier

sinon je crois que je vais devoir trouver une autre solution, le livre d'or doit être prêt pour demain...aie aie




<?
// Variables de connexion (voir fichier "lisez-moi.txt")
$host = "xxxxx";
$user = "xxxxx";
$pass = "xxxxx";
$bdd = "xxxxx";

// Nombre de messages affichés par page
$msg_pges = "5";

// Présentation du livre d'or
$fontFace = "verdana,arial,hevetica"; // Police par défaut
$fontSize = "2"; // Taille de la police par défaut
$couleurBandeauMsg = "#CCCCCC"; // Couleur du fond du texte des titres
$couleurFondMsg = "white"; // Couleur du fond du texte des messages
$fontColorTitreMsg = ""; // Couleur du texte des TITRES de messages
$fontColorTexteMsg = ""; // Couleur du texte des messages

/****************************************************************************************/
/**************************** Ne plus rien modifier à partir d'ici **********************/
/****************************************************************************************/

$FONT_DEF = "<FONT FACE=$fontFace SIZE=$fontSize>"; // Ne pas éditer
$FONT_TITRE_MSG = "<FONT FACE=$fontFace SIZE=$fontSize COLOR=\"$fontColorTitreMsg\">"; // Ne pas éditer
$FONT_TEXTE_MSG = "<FONT FACE=$fontFace SIZE=$fontSize COLOR=\"$fontColorTexteMsg\">"; // Ne pas éditer
$pageCourante = basename($PHP_SELF);

if ($HTTP_POST_VARS)
{
if (($pseudo=="")||($message==""))
{
print "<BR><TABLE WIDTH=95%>";
print "<TR><TD><CENTER><B>$FONT_DEF
Vous devez au moins indiquer un pseudo et taper un message pour signer le livre d'or!</B></FONT><BR>";
print "<A HREF=$pageCourante>$FONT_DEF"."Retour à la liste des messages</FONT></A>";
$niet = "niet";//signale l'erreur pour ne pas afficher les messages
print "<HR WIDTH=95% NOSHADE SIZE=1></FONT><CENTER></TD></TR></TABLE>";
}else{
$date=date('d m Y, H:i');
if ($url=="http://"){$url="";}
MYSQL_CONNECT("$host","$user","$pass") or die("Impossible de se connecter");
@mysql_select_db("$bdd") or die("Base de données non sélectionnée.");
$query = "INSERT INTO livredor (pseudo,email,pays,url,message,date) VALUES";
$query .="('$pseudo', '$email', '$pays', '$url', '$message', '$date')";
$result = MYSQL_QUERY($query);
MYSQL_CLOSE;
$pseudo="";$email="";$pays="";$url="";$message="";//pour ne pas ré-afficher dans le formulaire
}
}
if ($niet=="")
{

MYSQL_CONNECT("$host","$user","$pass") or die("Impossible de se connecter");
@mysql_select_db("$bdd") or die("Base de données non sélectionnée.");
$query = "SELECT * from livredor";
$result = MYSQL_QUERY($query);
$nbreTotal = MYSQL_NUMROWS($result);
if ($nbreTotal!="0")
{
/* ------------------------------------------------------------------------------------ */
/* -------------------------- Définition du nombre de pages --------------------------- */
/* ------------------------------------------------------------------------------------ */
$nbrePages = ceil($nbreTotal/$msg_pges);
if ($page==""){$page="0";}
$premierMsg = ($page * $msg_pges);
$dernierMsg = ($premierMsg + $msg_pges);

if ($nbrePages>1)
{
$code = "<CENTER><HR SIZE=1 NOSHADE>";
$code.= "| "; // Pour marquer la page, faire précéder de "Page ".($page + 1)." - "
$x = "0";
while ($x < $nbrePages)
{
if ($page != $x)
{
$code.= "<A HREF=$pageCourante?page=$x><B>".($x+1)."</B></A> | ";
}else{
$code.= " ".($x+1)." | ";
}
$x++;
}
$code.= "<HR SIZE=1 NOSHADE></CENTER>";
}
/* ------------------------------------------------------------------------------------ */
$query = "SELECT * from livredor ORDER by id DESC";
$result = MYSQL_QUERY($query);
$number = MYSQL_NUMROWS($result);
MYSQL_CONNECT("$host","$user","$pass") or die("Impossible de se connecter");
@mysql_select_db("$bdd") or die("Base de données non sélectionnée.");
print "$FONT_DEF<CENTER>$code<BR>$number messages [ <A HREF=#poster>Signer le livre d'or</A> ]</FONT><HR SIZE=1 WIDTH=75% NOSHADE>";

// Lecture de la base quoi qu'il arrive
$i=($number-1);
$i="$premierMsg";
WHILE ($i<$dernierMsg)
{
$t_pseudo = mysql_result($result,$i,"pseudo");
$t_email = mysql_result($result,$i,"email");
$t_pays = mysql_result($result,$i,"pays");
$t_url = mysql_result($result,$i,"url");
$t_message = mysql_result($result,$i,"message");
$t_date = mysql_result($result,$i,"date");
$t_id = mysql_result($result,$i,"id");

print "<TABLE WIDTH=95% BORDER=0 CELLPADDING=0 CELLSPACING=0>";
print "<TR><TD>$FONT_DEF"."$t_date</FONT></TD></TR>";
print "<TR><TD BGCOLOR=$couleurBandeauMsg>";
if ($t_email)
{
print "<A HREF=mailto:$t_email>$FONT_TITRE_MSG";
print "$t_pseudo</FONT></A>$FONT_TITRE_MSG, $t_pays</FONT>";
}else{
print "<B>$FONT_TITRE_MSG";
print "$t_pseudo</FONT></B>$FONT_TITRE_MSG, $t_pays</FONT>";
}
if ($t_url)
{
print "$FONT_TITRE_MSG, webmaster du site </FONT>";
print "<A HREF=\"$t_url\" target=\"_blank\">$FONT_TITRE_MSG$t_url</FONT></A>";
}

print "</TD></TR><TR><TD BGCOLOR=$couleurFondMsg>$FONT_TEXTE_MSG";
print "$t_message</FONT></TD></TR></TABLE>";
print "<BR>";
$i++;
if ($i==$number){$i=$dernierMsg;}
}
}else{
print "<CENTER>$FONT_DEF"."<B>Aucun message pour l'instant.</B></FONT></CENTER>";
}

print "$FONT_DEF$code";
}

/*********************************** Formulaire *****************************************/
?><style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<A NAME=poster>
<CENTER>
<? echo $FONT_DEF; ?>
Pour signer le livre d'or, remplissez le formulaire ci-dessous et validez.<BR>
(seules les cases "Pseudo" et "Message" sont obligatoires).</FONT>
<HR SIZE=1 WIDTH=460 NOSHADE></CENTER>
<FORM ACTION="<? echo $pageCourante; ?>" METHOD=POST>
<CENTER>
<INPUT TYPE=hidden NAME=page VALUE="">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=486>
<TR><TD><CENTER>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR><TD WIDTH=80><P><? echo $FONT_DEF; ?><B>Pseudo :<B></FONT></P>
</TD><TD WIDTH=168>
<P><INPUT TYPE=text NAME=pseudo VALUE="<? echo stripslashes($pseudo); ?>" SIZE=18></P>
</TD>
<TD WIDTH=52>
<P><? echo $FONT_DEF; ?>Email :</FONT></P>
</TD>
<TD>
<P><INPUT TYPE=text NAME=email VALUE="<? echo $email; ?>" SIZE=18></P>
</TD>
</TR>
<TR>
<TD WIDTH=80>
<P><? echo $FONT_DEF; ?>Pays :</FONT></P>
</TD>
<TD WIDTH=168>
<P>
<? if ($pays==""){$pays="France";} ?>
<SELECT NAME=pays>
<OPTION VALUE=<? echo $pays; ?> SELECTED><? echo $pays; ?>
<OPTION VALUE=Afghanistan>Afghanistan
<OPTION VALUE=Albanie>Albanie
<OPTION VALUE=Algerie>Algerie
<OPTION VALUE=Andorre>Andorre
<OPTION VALUE=Angola>Angola
<OPTION VALUE=Anguilla>Anguilla
<OPTION VALUE=Antarctique>Antarctique
<OPTION VALUE=Argentine>Argentine
<OPTION VALUE=Armenie>Armenie
<OPTION VALUE=Aruba>Aruba
<OPTION VALUE=Australie>Australie
<OPTION VALUE=Autriche>Autriche
<OPTION VALUE=Azerbaijan>Azerbaijan
<OPTION VALUE=Bahamas>Bahamas
<OPTION VALUE=Bahrain>Bahrain
<OPTION VALUE=Bengladesh>Bengladesh
<OPTION VALUE=Barbade>Barbade
<OPTION VALUE=Bielarussie>Bielarussie
<OPTION VALUE=Belgique>Belgique
<OPTION VALUE=Belize>Belize
<OPTION VALUE=Benin>Benin
<OPTION VALUE=Bermudes>Bermudes
<OPTION VALUE=Bhutan>Bhutan
<OPTION VALUE=Bolivie>Bolivie
<OPTION VALUE=Botswhana>Botswhana
<OPTION VALUE="Bouvet_island">Bouvet_island
<OPTION VALUE=Bresil>Bresil
<OPTION VALUE=Bulgarie>Bulgarie
<OPTION VALUE="Burkina_faso">Burkina_faso
<OPTION VALUE=Burundi>Burundi
<OPTION VALUE=Cambodge>Cambodge
<OPTION VALUE=Cameroun>Cameroun
<OPTION VALUE=Canada>Canada
<OPTION VALUE="Cape_verde">Cape_verde
<OPTION VALUE="Cayman_islands">Cayman_islands
<OPTION VALUE=Chad>Chad
<OPTION VALUE=Chile>Chile
<OPTION VALUE=China>China
<OPTION VALUE="Christmas_island">Christmas_island
<OPTION VALUE="Cocos_(keeling)_islands">Cocos_(keeling)_islands
<OPTION VALUE=Colombia>Colombia
<OPTION VALUE=Comoros>Comoros
<OPTION VALUE=Congo>Congo
<OPTION VALUE="Cook_islands">Cook_islands
<OPTION VALUE="Costa_rica">Costa_rica
<OPTION VALUE="Cote_d'ivoire">Cote_d'ivoire
<OPTION VALUE=Croatia>Croatia
<OPTION VALUE=Cuba>Cuba
<OPTION VALUE=Cyprus>Cyprus
<OPTION VALUE="Czech_republic">Czech_republic
<OPTION VALUE=Denmark>Denmark
<OPTION VALUE=Djibouti>Djibouti
<OPTION VALUE=Dominica>Dominica
<OPTION VALUE="Dominican_republic">Dominican_republic
<OPTION VALUE="East_timor">East_timor
<OPTION VALUE=Ecuador>Ecuador
<OPTION VALUE=Egypt>Egypt
<OPTION VALUE="El_salvador">El_salvador
<OPTION VALUE="Equatorial_guinea">Equatorial_guinea
<OPTION VALUE=Eritrea>Eritrea
<OPTION VALUE=Estonia>Estonia
<OPTION VALUE=Ethiopia>Ethiopia
<OPTION VALUE="Faroe_islands">Faroe_islands
<OPTION VALUE=Fiji>Fiji
<OPTION VALUE=Finland>Finland
<OPTION VALUE=France>France
<OPTION VALUE="French_guiana">French_guiana
<OPTION VALUE="French_polynesia">French_polynesia
<OPTION VALUE="French_southern">French_southern
<OPTION VALUE=Gabon>Gabon
<OPTION VALUE=Gambia>Gambia
<OPTION VALUE=Georgia>Georgia
<OPTION VALUE=Germany>Germany
<OPTION VALUE=Ghana>Ghana
<OPTION VALUE=Gibraltar>Gibraltar
<OPTION VALUE=Greece>Greece
<OPTION VALUE=Greenland>Greenland
<OPTION VALUE=Grenada>Grenada
<OPTION VALUE=Guadeloupe>Guadeloupe
<OPTION VALUE=Guam>Guam
<OPTION VALUE=Guatemala>Guatemala
<OPTION VALUE=Guinea>Guinea
<OPTION VALUE="Guinea-bissau">Guinea-bissau
<OPTION VALUE=Guyana>Guyana
<OPTION VALUE=Haiti>Haiti
<OPTION VALUE=Honduras>Honduras
<OPTION VALUE="Hong_kong">Hong_kong
<OPTION VALUE=Hungary>Hungary
<OPTION VALUE=Iceland>Iceland
<OPTION VALUE=India>India
<OPTION VALUE=Indonesia>Indonesia
<OPTION VALUE=Iraq>Iraq
<OPTION VALUE=Ireland>Ireland
<OPTION VALUE=Israel>Israel
<OPTION VALUE=Italy>Italy
<OPTION VALUE=Jamaica>Jamaica
<OPTION VALUE=Japan>Japan
<OPTION VALUE=Jordan>Jordan
<OPTION VALUE=Kazakhstan>Kazakhstan
<OPTION VALUE=Kenya>Kenya
<OPTION VALUE=Kiribati>Kiribati
<OPTION VALUE="Korea,_republic_of">Korea,_republic_of
<OPTION VALUE=Kuwait>Kuwait
<OPTION VALUE=Kyrgyzstan>Kyrgyzstan
<OPTION VALUE=Latvia>Latvia
<OPTION VALUE=Lebanon>Lebanon
<OPTION VALUE=Lesotho>Lesotho
<OPTION VALUE=Liberia>Liberia
<OPTION VALUE=Liechtenstein>Liechtenstein
<OPTION VALUE=Lithuania>Lithuania
<OPTION VALUE=Luxembourg>Luxembourg
<OPTION VALUE=Macau>Macau
<OPTION VALUE=Madagascar>Madagascar
<OPTION VALUE=Malawi>Malawi
<OPTION VALUE=Malaysia>Malaysia
<OPTION VALUE=Maldives>Maldives
<OPTION VALUE=Mali>Mali
<OPTION VALUE=Malta>Malta
<OPTION VALUE="Marshall_islands">Marshall_islands
<OPTION VALUE=Martinique>Martinique
<OPTION VALUE=Mauritania>Mauritania
<OPTION VALUE=Mauritius>Mauritius
<OPTION VALUE=Mayotte>Mayotte
<OPTION VALUE=Mexico>Mexico
<OPTION VALUE=Monaco>Monaco
<OPTION VALUE=Mongolia>Mongolia
<OPTION VALUE=Montserrat>Montserrat
<OPTION VALUE=Morocco>Morocco
<OPTION VALUE=Mozambique>Mozambique
<OPTION VALUE=Myanmar>Myanmar
<OPTION VALUE=Namibia>Namibia
<OPTION VALUE=Nauru>Nauru
<OPTION VALUE=Nepal>Nepal
<OPTION VALUE=Netherlands>Netherlands
<OPTION VALUE="New_caledonia">New_caledonia
<OPTION VALUE="New_zealand">New_zealand
<OPTION VALUE=Nicaragua>Nicaragua
<OPTION VALUE=Niger>Niger
<OPTION VALUE=Nigeria>Nigeria
<OPTION VALUE=Niue>Niue
<OPTION VALUE="Norfolk_island">Norfolk_island
<OPTION VALUE=Norway>Norway
<OPTION VALUE=Oman>Oman
<OPTION VALUE=Pakistan>Pakistan
<OPTION VALUE=Palau>Palau
<OPTION VALUE=Panama>Panama
<OPTION VALUE="Papua_new_guinea">Papua_new_guinea
<OPTION VALUE=Paraguay>Paraguay
<OPTION VALUE=Peru>Peru
<OPTION VALUE=Philippines>Philippines
<OPTION VALUE=Pitcairn>Pitcairn
<OPTION VALUE=Poland>Poland
<OPTION VALUE=Portugal>Portugal
<OPTION VALUE="Puerto_rico">Puerto_rico
<OPTION VALUE=Qatar>Qatar
<OPTION VALUE=Reunion>Reunion
<OPTION VALUE=Romania>Romania
<OPTION VALUE="Russian_federation">Russian_federation
<OPTION VALUE=Rwanda>Rwanda
<OPTION VALUE="Saint_lucia">Saint_lucia
<OPTION VALUE=Samoa>Samoa
<OPTION VALUE="San_marino">San_marino
<OPTION VALUE="Saudi_arabia">Saudi_arabia
<OPTION VALUE=Senegal>Senegal
<OPTION VALUE=Seychelles>Seychelles
<OPTION VALUE="Sierra_leone">Sierra_leone
<OPTION VALUE=Singapore>Singapore
<OPTION VALUE=Slovakia>Slovakia
<OPTION VALUE=Slovenia>Slovenia
<OPTION VALUE="Solomon_islands">Solomon_islands
<OPTION VALUE=Somalia>Somalia
<OPTION VALUE="South_africa">South_africa
<OPTION VALUE=Spain>Spain
<OPTION VALUE="Sri_lanka">Sri_lanka
<OPTION VALUE="St._helena">St._helena
<OPTION VALUE=Sudan>Sudan
<OPTION VALUE=Suriname>Suriname
<OPTION VALUE=Swaziland>Swaziland
<OPTION VALUE=Sweden>Sweden
<OPTION VALUE=Switzerland>Switzerland
<OPTION VALUE="Syrian_arab_republic">Syrian_arab_republic
<OPTION VALUE=Taiwan>Taiwan
<OPTION VALUE=Tajikistan>Tajikistan
<OPTION VALUE=Tanzania>Tanzania
<OPTION VALUE=Thailand>Thailand
<OPTION VALUE=Togo>Togo
<OPTION VALUE=Tokelau>Tokelau
<OPTION VALUE=Tonga>Tonga
<OPTION VALUE=Tunisia>Tunisia
<OPTION VALUE=Turkey>Turkey
<OPTION VALUE=Turkmenistan>Turkmenistan
<OPTION VALUE=Tuvalu>Tuvalu
<OPTION VALUE=Uganda>Uganda
<OPTION VALUE=Ukraine>Ukraine
<OPTION VALUE="United_arab_emirates">United_arab_emirates
<OPTION VALUE="United_kingdom">United_kingdom
<OPTION VALUE="United_states">United_states
<OPTION VALUE=Uruguay>Uruguay
<OPTION VALUE=Uzbekistan>Uzbekistan
<OPTION VALUE=Vanuatu>Vanuatu
<OPTION VALUE=Venezuela>Venezuela
<OPTION VALUE="Viet_nam">Viet_nam
<OPTION VALUE="Western_sahara">Western_sahara
<OPTION VALUE=Yemen>Yemen
<OPTION VALUE=Yugoslavia>Yugoslavia
<OPTION VALUE=Zambia>Zambia
<OPTION VALUE=Zimbabwe>Zimbabwe
</SELECT>
</P>
</TD>
<TD WIDTH=52>
<P><? echo $FONT_DEF; ?>Url :</FONT></P>
</TD>
<TD>
<P><INPUT TYPE=text NAME=url VALUE="<?if($url){echo $url;}else{echo "http://";} ?>" SIZE=18></P>
</TD>
</TR>
<TR>
<TD WIDTH=80>
<P><? echo $FONT_DEF; ?><B>Message :</B></FONT></P>
</TD>
<TD WIDTH=168>
<P></P>
</TD>
<TD WIDTH=52>
<P></P>
</TD>
<TD>
<P></P>
</TD>
</TR>
</P>
<TR><TD COLSPAN=4>
<TEXTAREA NAME=message ROWS=5 COLS=52 WRAP=virtual><? echo stripslashes($message); ?></TEXTAREA></TD></TR>
</TABLE>

<HR SIZE=1 WIDTH=460 NOSHADE>
<INPUT TYPE=submit NAME=Envoi VALUE="Signer le livre d'or">
<HR SIZE=1 WIDTH=460 NOSHADE>
</P></CENTER>
</TD>
</TR>
</TABLE>
</FORM>
</CENTER>

Re: aide pour livre d'or

Posté : 19 nov. 2009, 16:36
par beli
est ceci que je dois changer ? <FORM ACTION="<? echo $pageCourante; ?>" METHOD=POST>

Re: aide pour livre d'or

Posté : 19 nov. 2009, 16:42
par animithra
OMG !

euh... on a une balise de code ça serait plus lisible et euh la tout de suite je n'ai pas vraiment le temps d'analyser tout ton code.

prends le temps de chercher sur le net et si tu ne t'en sors pas avant ce soir, tu me renvoies un email ([email protected]) et je te dépannerai (mais cherche quand même hein :)).

Re: aide pour livre d'or

Posté : 19 nov. 2009, 18:10
par beli
j'ai réussi ! merci merci julie

Re: aide pour livre d'or

Posté : 21 nov. 2009, 21:57
par Aureusms
Bizarre que les modos n'aient pas relevé! Dormiraient-ils ?