Aide sur catcha svp.
stci
-
stci -
stci -
Bonjour,
J'essaie d'installer un captcha dans mon livre d'or et je cherche depuis des heures où est mon erreur.
J'ai fais un echo dans la vérification du script et le code est le bon. En fait, il n'entre jamais dans le "if (chk_crypt($_POST['code']))". J'utilise le même script pour la saisie et l'insertion des signatures.
Y aurait-il des personnes généreuses pour m'aider svp?
Voici le code que j'utilise présentement:
$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall;
function EmailOK($email)
{
return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'([-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]{2,}\.){1,3}'.
'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]{2,3}$',
$email) );
}
//-----------------
// LIVRE D'OR
//-----------------
DebutTableau("#FFFFFF", "1", "0", "100%");
DebutTableau("#E0D098", "10", "0", "100%");
echo Titre("Merci de laisser vos commentaires!");
echo "<HR COLOR='800000' NOSHADE>\n";
$ok = true;
// Vérification de la connexion MySQL
if ( !($connecte = @mysql_connect($cfgHote, $cfgUser, $cfgPass)) ) echo erreurServeurMySQL();
// ---------------------------------------------------------------------------
// Insérer dans la base une nouvelle signature
// ---------------------------------------------------------------------------
if ($connecte && $rub == 'ajouter')
{
$Nom = trim($ztNom);
$Email = trim($ztEmail);
$Comment = trim($ztComment);
$Pays = trim($ztPays);
$Ville = trim($ztVille);
$Date = date("Y/m/d");
if ($Nom == "" || $Comment == "" || $Pays == "" || $Ville == "") {
$ok = false;
$msg = "Les champs 'Nom', 'Ville', 'Pays' et 'Commentaire' sont obligatoires !";
} elseif ($Email != '' && !EmailOK($Email)) {
$ok = false;
$msg = "Adresse email invalide !";
}
if (!$ok) {
echo "<CENTER><A CLASS='erreur'> $msg </A></CENTER><BR>";
$rub = 'signer';
}
else {
if (chk_crypt($_POST['code']))
{
$liste_champs = 'date, nom, email, commentaire, ville, pays';
$Date=addslashes($Date);
$Nom=addslashes($Nom);
$Comment=addslashes($Comment);
$Ville=addslashes($Ville);
$Pays=addslashes($Pays);
$liste_valeurs = "'$Date', '$Nom', '$Email', '$Comment', '$Ville', '$Pays'";
$sql = "INSERT INTO livredor ($liste_champs) VALUES ($liste_valeurs)";
$resultat = mysql_db_query($cfgBase, $sql);
mail ("","Signature dans le livre d'or"," Bonjour,\n\n Quelqu'un vient juste de signer le livre d'or.\n\n Voici le message: $Comment ","FROM: stci@stci.qc.ca");
$rub = 'voir';
}
else {
echo "Erreur<br>";
echo $_POST['code'];
}
}// Fin else if (!$ok)
} // Fin if ($connecte && $rub == 'ajouter')
// ---------------------------------------------------------------------------
// Saisie d'une signature
// ---------------------------------------------------------------------------
if ($connecte && ($rub == 'signer' || $rub == '')) {
echo "<CENTER>\n";
DebutTableau("#FFFFFF", "1", "0", "");
DebutTableau("#800000", "15", "0", "100%");
echo "<FORM METHOD='POST' ACTION='index.php?rub=ajouter'>\n";
echo "<TABLE BORDER=0>\n";
echo "<TR><TD CLASS='livre'> <B>Nom / Pseudo</B> </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztNom' VALUE=\"$Nom\"> </TD>";
echo "<TD ROWSPAN='2'> <INPUT TYPE='submit' VALUE=' Ok '> </TD></TR>";
echo "<TR><TD CLASS='livre'> E-mail (opt.) </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztEmail' VALUE=\"$Email\"> </TD></TR>";
echo "<TR><TD CLASS='livre'> <b>Ville</b> </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztVille' VALUE=\"$Ville\"> </TD></TR>";
echo "<TR><TD CLASS='livre'> <b>Pays</b> </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztPays' VALUE=\"$Pays\"> </TD></TR>";
echo "<TR><TD CLASS='livre'> <B>Commentaire</B> ";
echo "</TD><TD COLSPAN='3'> <TEXTAREA NAME='ztComment' ROWS='5' COLS='25' SIZE='10' WRAP='virtual'>$Comment</TEXTAREA> </TD></TR>";
echo "<TR><TD CLASS='livre'> <b>Recopiez le code</b> </TD>";
echo "<td COLSPAN='2'> "; dsp_crypt(0,1); echo " <input type=\"text\" name=\"code\" size=\"10\" maxlength=\"5\" /></td></tr>";
echo "</FORM>\n";
echo "</TABLE>";
echo "<BR><CENTER> ".image("images/droitej.gif").image("images/droitej.gif")." <A HREF='?rub=voir'>Voir le Livre d'Or</A></CENTER>";
FinTableau();
FinTableau();
echo "</CENTER>\n";
}
J'essaie d'installer un captcha dans mon livre d'or et je cherche depuis des heures où est mon erreur.
J'ai fais un echo dans la vérification du script et le code est le bon. En fait, il n'entre jamais dans le "if (chk_crypt($_POST['code']))". J'utilise le même script pour la saisie et l'insertion des signatures.
Y aurait-il des personnes généreuses pour m'aider svp?
Voici le code que j'utilise présentement:
$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall;
function EmailOK($email)
{
return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'([-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]{2,}\.){1,3}'.
'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]{2,3}$',
$email) );
}
//-----------------
// LIVRE D'OR
//-----------------
DebutTableau("#FFFFFF", "1", "0", "100%");
DebutTableau("#E0D098", "10", "0", "100%");
echo Titre("Merci de laisser vos commentaires!");
echo "<HR COLOR='800000' NOSHADE>\n";
$ok = true;
// Vérification de la connexion MySQL
if ( !($connecte = @mysql_connect($cfgHote, $cfgUser, $cfgPass)) ) echo erreurServeurMySQL();
// ---------------------------------------------------------------------------
// Insérer dans la base une nouvelle signature
// ---------------------------------------------------------------------------
if ($connecte && $rub == 'ajouter')
{
$Nom = trim($ztNom);
$Email = trim($ztEmail);
$Comment = trim($ztComment);
$Pays = trim($ztPays);
$Ville = trim($ztVille);
$Date = date("Y/m/d");
if ($Nom == "" || $Comment == "" || $Pays == "" || $Ville == "") {
$ok = false;
$msg = "Les champs 'Nom', 'Ville', 'Pays' et 'Commentaire' sont obligatoires !";
} elseif ($Email != '' && !EmailOK($Email)) {
$ok = false;
$msg = "Adresse email invalide !";
}
if (!$ok) {
echo "<CENTER><A CLASS='erreur'> $msg </A></CENTER><BR>";
$rub = 'signer';
}
else {
if (chk_crypt($_POST['code']))
{
$liste_champs = 'date, nom, email, commentaire, ville, pays';
$Date=addslashes($Date);
$Nom=addslashes($Nom);
$Comment=addslashes($Comment);
$Ville=addslashes($Ville);
$Pays=addslashes($Pays);
$liste_valeurs = "'$Date', '$Nom', '$Email', '$Comment', '$Ville', '$Pays'";
$sql = "INSERT INTO livredor ($liste_champs) VALUES ($liste_valeurs)";
$resultat = mysql_db_query($cfgBase, $sql);
mail ("","Signature dans le livre d'or"," Bonjour,\n\n Quelqu'un vient juste de signer le livre d'or.\n\n Voici le message: $Comment ","FROM: stci@stci.qc.ca");
$rub = 'voir';
}
else {
echo "Erreur<br>";
echo $_POST['code'];
}
}// Fin else if (!$ok)
} // Fin if ($connecte && $rub == 'ajouter')
// ---------------------------------------------------------------------------
// Saisie d'une signature
// ---------------------------------------------------------------------------
if ($connecte && ($rub == 'signer' || $rub == '')) {
echo "<CENTER>\n";
DebutTableau("#FFFFFF", "1", "0", "");
DebutTableau("#800000", "15", "0", "100%");
echo "<FORM METHOD='POST' ACTION='index.php?rub=ajouter'>\n";
echo "<TABLE BORDER=0>\n";
echo "<TR><TD CLASS='livre'> <B>Nom / Pseudo</B> </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztNom' VALUE=\"$Nom\"> </TD>";
echo "<TD ROWSPAN='2'> <INPUT TYPE='submit' VALUE=' Ok '> </TD></TR>";
echo "<TR><TD CLASS='livre'> E-mail (opt.) </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztEmail' VALUE=\"$Email\"> </TD></TR>";
echo "<TR><TD CLASS='livre'> <b>Ville</b> </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztVille' VALUE=\"$Ville\"> </TD></TR>";
echo "<TR><TD CLASS='livre'> <b>Pays</b> </TD>";
echo "<TD> <INPUT TYPE='text' NAME='ztPays' VALUE=\"$Pays\"> </TD></TR>";
echo "<TR><TD CLASS='livre'> <B>Commentaire</B> ";
echo "</TD><TD COLSPAN='3'> <TEXTAREA NAME='ztComment' ROWS='5' COLS='25' SIZE='10' WRAP='virtual'>$Comment</TEXTAREA> </TD></TR>";
echo "<TR><TD CLASS='livre'> <b>Recopiez le code</b> </TD>";
echo "<td COLSPAN='2'> "; dsp_crypt(0,1); echo " <input type=\"text\" name=\"code\" size=\"10\" maxlength=\"5\" /></td></tr>";
echo "</FORM>\n";
echo "</TABLE>";
echo "<BR><CENTER> ".image("images/droitej.gif").image("images/droitej.gif")." <A HREF='?rub=voir'>Voir le Livre d'Or</A></CENTER>";
FinTableau();
FinTableau();
echo "</CENTER>\n";
}