Besoin d'aide intergation Captcha PHP

solene -  
 Utilisateur anonyme -
Bonjour,

J'ai un script de commentraire sur mon site et je voudrais intégré un systéme CAPTCHA dessus mais sans succès...

Le script bloque bien la page quand le code est faux avec le message en echo
Le script accepte bien le code quand celui ci est bon avec message en echo (mais le commentaire n'est pas posté)


Voici le code CAPTCHA:

<?php 
session_start();

if( isset($_POST['submit'])) {
   if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
		echo Merci pour votre message: "'.$_POST['message'].'"';
		unset($_SESSION['security_code']);
   } else {
		echo 'Désolé, le code de sécurité est invalide';
   }
} else {
?>


Et voici le code de ma page:

<?php
if (isset($submit) AND ($titrems <> "Titre du message") AND ($pseudo <> "Pseudo/Nom") AND ($commentaire <> ""))
{
$fp = fopen("commentaires.txt","a");
$commentaire = str_replace("\'", "'", $commentaire);
$titrems = str_replace("\'", "'", $titrems);
$titrems = str_replace(">", ">", $titrems);
$titrems = str_replace("<", "<", $titrems);
$pseudo = str_replace("\'", "'", $pseudo);
$commentaire = str_replace('\"', '"', $commentaire);
$titrems = str_replace('\"', '"', $titrems);
$pseudo = str_replace('\"', '"', $pseudo);
$pseudo = str_replace("<", "<", $pseudo);
$pseudo = str_replace(">", ">", $pseudo);
$commentaire = str_replace(">", ">", $commentaire);
$commentaire = str_replace("<", "<", $commentaire);
$commentaire = str_replace(",", ", ", $commentaire);
$commentaire = str_replace(" ,", ", ", $commentaire);
$commentaire = str_replace(" , ", ", ", $commentaire);
$commentaire = str_replace(" .", ". ", $commentaire);
$commentaire = str_replace(" . ", ". ", $commentaire);
$commentaire = str_replace(CHR(10), "<br>", $commentaire);
$commentaire = str_replace("[LOL]", "<img align='absmiddle' border='0' src='images/0.gif'>", $commentaire);
$commentaire = str_replace("[oui]", "<img align='absmiddle' border='0' src='images/1.gif'>", $commentaire);
$commentaire = str_replace("[non]", "<img align='absmiddle' border='0' src='images/2.gif'>", $commentaire);
$commentaire = str_replace("[wow]", "<img align='absmiddle' border='0' src='images/3.gif'>", $commentaire);
$commentaire = str_replace("[cool]", "<img align='absmiddle' border='0' src='images/4.gif'>", $commentaire);
$commentaire = str_replace("[ncool]", "<img align='absmiddle' border='0' src='images/5.gif'>", $commentaire);
$commentaire = str_replace("[zZz]", "<img align='absmiddle' border='0' src='images/6.gif'>", $commentaire);
$commentaire = str_replace("[bien]", "<img align='absmiddle' border='0' src='images/7.gif'>", $commentaire);
$commentaire = str_replace("[dead]", "<img align='absmiddle' border='0' src='images/8.gif'>", $commentaire);
$commentaire = str_replace("[mouai]", "<img align='absmiddle' border='0' src='images/9.gif'>", $commentaire);
$commentaire = str_replace("[triste]", "<img align='absmiddle' border='0' src='images/10.gif'>", $commentaire);
$commentaire = str_replace("[clin]", "<img align='absmiddle' border='0' src='images/11.gif'>", $commentaire);
$commentaire = str_replace("[perplexe]", "<img align='absmiddle' border='0' src='images/12.gif'>", $commentaire);
$commentaire = str_replace("[hehe]", "<img align='absmiddle' border='0' src='images/13.gif'>", $commentaire);
$commentaire = str_replace("[choc]", "<img align='absmiddle' border='0' src='images/14.gif'>", $commentaire);

// Date
$date = getdate();
$mois{1} = "Janvier";
$mois{2} = "Février";
$mois{3} = "Mars";
$mois{4} = "Avril";
$mois{5} = "Mai";
$mois{6} = "Juin";
$mois{7} = "Juillet";
$mois{8} = "Août";
$mois{9} = "Septembre";
$mois{10} = "Octobre";
$mois{11} = "Novembre";
$mois{12} = "Décembre";
$jour = $date['mday'];
$mois = $mois{$date['mon']};
$annee = $date['year'];
$temps = "le <i>";
$temps .= $jour;
$temps .= " ";
$temps .= $mois;
$temps .= " ";
$temps .= $annee;
$temps .= "</i> ";
// Fin Date

fputs($fp, "$titrems|$commentaire|$pseudo|$note|$temps");
fputs($fp,"£");
fclose($fp);

echo("<script language=\"javascript\">document.location=\"n1.php\";</script>");

}
elseif (isset($submit))
{
echo("<script language=\"javascript\">alert('Vous devez renseigner votre Nom, le Titre de votre message et laisser un message!');</script>");
}
?> 


Voila si vous avez une idée merci d'avance parce que je peine un peu :)
Bonne soirée/nuit
A voir également:

32 réponses

Utilisateur anonyme
 
<?php
session_start();

if( isset($_POST['submit'])) {
if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
echo Merci pour votre message: "'.$_POST['message'].'"';
unset($_SESSION['security_code']);
} else {
echo 'Désolé, le code de sécurité est invalide';
}
} else {
?>



manque } au dernier else.
0
solene
 
Bonjour,et merci pour ta reponse.

Cependant le problème ne viendrait pas d'ici, c'est le code d'origine, c'est dans mon code que cela ne va pas,
quand je test le code simplement avec un formulaire simple (exemple pseudo et mot de passe avec un bouton soumettre)
le script marche correctement mais quand je l'adapte au mien il ne veut pas le prendre.

je pense plus a une erreur de cette partie du code:

if (isset($submit) AND ($titrems <> "Titre du message") AND ($pseudo <> "Pseudo/Nom") AND ($commentaire <> ""))


et la ligne:

}
elseif (isset($submit))
{


Les deux codes (CAPTCHA et ma page) sur le premier post ne doivent en faire qu'un.

J'espere que je me suis bien exprimé et que vous pourrez m'aider.
0
Utilisateur anonyme
 
RE

où est initialisée la variable $submit ?
dans le code Captcha on test la variable $_POST['submit']
0
rey
 
comment faire une formulaire html a envoyer par mail directement sans passer par la page d' otloock
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Bonjour

si je devais faire ça : j'écrirai un fomulaire(html) pour récupérer les infos puis j'utilserai la fonction mail de php.
cette possibilité est d'autant plus judicieuse qu'elle permet d'envoyer un message même si le visiteur du site n'a pas de messagerie installée sur son poste.
0
solene
 
Oui, Je dois sulement modifier mon code d'origine (celui ci est complet et fonctionne bien):

<?php
$cpt=0;
$fp = fopen("commentaires.txt", "r");
$liste = array();
while (!feof($fp))
{
    $ligne = fgets($fp,200000);
    $login = explode("£",$ligne);
    $stop = sizeof( $login );
    for($x = 0; $x < $stop-1; $x++)
{
    $liste = explode("|",$login[$x]);
    
    for($y = 0;$y <= 4 ;$y++)
{
    $case[$x][$cpt] = $liste[$y];
    $cpt++;
}
$cpt = 0;
}
}
fclose($fp);

/*$buff = file_get_contents('commentaires.txt');
$comments = explode("£",$buff);

foreach($comments as $k => $v) {
  
}*/


// Division en plusieurs pages :

if($stop-1 > 15){
if(!isset($debut) && !isset($fin)){$debut = 1; $fin = 15;}
echo("<center>[ ");
$afficn = 1;
for($alt = 0; $alt <= $stop-2; $alt = $alt+15)
{
$alt2 = $alt+15;
$alt0 = $alt+1;
if ($alt2 > $stop-1){$alt2 = $stop-1;}
if ($debut == $alt0 && $fin == $alt2){echo("<b>");}
echo("<a href=\"n1.php?debut=$alt0&fin=$alt2\">$afficn</a>");


if ($debut == $alt0 && $fin == $alt2){echo("</b>");}
$afficn++;
if ($alt2 < $stop-1)
{
echo(" | ");
}
}
echo("]</center><br>");
}
else
{
$debut = 1;
$fin = $stop-1;
}

// Dessin du tableau :
$debut = $stop-1-$debut;
$fin = $stop-1-$fin;
for($x = $debut; $x >= $fin; $x--)
{
$ama = "{$case[$x][0]}";
$ama = strtolower($ama);
$ama = ucwords($ama);
$mess = "{$case[$x][2]}";
$mess = strtolower($mess);
$mess = ucwords($mess);
$comm = "{$case[$x][1]}";
$comm = preg_replace("`((?:https?|ftp)://\S+)(\s|\z)`", '<a title="Visiter le site" target="_blank" href="$1">$1</a>$2', $comm);
echo("<img align=\"absmiddle\" border=\"0\" src=\"images/puce.gif\"><b><font color=\"#919191\">$ama</font></b> (");
for($az = 0; $az < "{$case[$x][3]}"; $az++){ echo("<img alt=\"Note attribuée à la vidéo par $mess\" align=\"absmiddle\" border=\"0\" src=\"images/oui.gif\">"); }
for($az = 0; $az < 5-"{$case[$x][3]}"; $az++){ echo("<img alt=\"Note attribuée au site par $mess\" align=\"absmiddle\" border=\"0\" src=\"images/non.gif\">"); }
echo(") écrit par <font color=\"#0099FF\"><i>$mess</i></font> {$case[$x][4]} :<br>$comm<br><br>");
}
?><br>
</div>
<p align="center">

<form method="POST" name="form" action="vote.php">
  <div align="center">
  <input type="text" name="titrems" size="22" value="Titre du message" onClick="javascript:document.form.titrems.value='';"maxlength="22">

  <input type="text" name="pseudo" size="22" value="Pseudo/Nom" onClick="javascript:document.form.pseudo.value='';"maxlength="17">
  <br><br>
    Attribuez une note  sur 5 à la vidéo : 
  <select align="absmiddle" size="1" name="note">
    <option value="5">5 - Parfait</option>
    <option value="4">4 - Bien</option>
    <option selected value="3">3 - Moyen</option>
    <option value="2">2 - Bof</option>
    <option value="1">1 - Nul</option>
  </select>
  <br><br>
  <textarea name="commentaire" cols="50" rows="5" wrap="physical" style="font-size: 8 pt; font-family: Verdana"></textarea>
  <br>
    <img src="images/0.gif" style="CURSOR: hand" onClick="commentaire.value+=' [LOL] '">
    <img src="images/1.gif" style="CURSOR: hand" onClick="commentaire.value+=' [oui] '">
    <img src="images/2.gif" style="CURSOR: hand" onClick="commentaire.value+=' [non] '">
    <img src="images/3.gif" style="CURSOR: hand" onClick="commentaire.value+=' [wow] '">
    <img src="images/4.gif" style="CURSOR: hand" onClick="commentaire.value+=' [cool] '">
    <img src="images/5.gif" style="CURSOR: hand" onClick="commentaire.value+=' [ncool] '">
    <img src="images/6.gif" style="CURSOR: hand" onClick="commentaire.value+=' [zZz] '">
    <img src="images/7.gif" style="CURSOR: hand" onClick="commentaire.value+=' [bien] '">
    <img src="images/8.gif" style="CURSOR: hand" onClick="commentaire.value+=' [dead] '">
    <img src="images/9.gif" style="CURSOR: hand" onClick="commentaire.value+=' [mouai] '">
    <img src="images/10.gif" style="CURSOR: hand" onClick="commentaire.value+=' [triste] '">
    <img src="images/11.gif" style="CURSOR: hand" onClick="commentaire.value+=' [clin] '">
    <img src="images/12.gif" style="CURSOR: hand" onClick="commentaire.value+=' [perplexe] '">
	<img src="images/13.gif" style="CURSOR: hand" onClick="commentaire.value+=' [hehe] '">
    <img src="images/14.gif" style="CURSOR: hand" onClick="commentaire.value+=' [choc] '">
  &nbsp;
  <INPUT TYPE="submit" value="Valider" name="submit">
    </p>
  </div>
</form>
<div align="center">
  <?php
if (isset($submit) AND ($titrems <> "Titre du message") AND ($pseudo <> "Pseudo/Nom") AND ($commentaire <> ""))
{
$fp = fopen("commentaires.txt","a");
$commentaire = str_replace("\'", "'", $commentaire);
$titrems = str_replace("\'", "'", $titrems);
$titrems = str_replace(">", ">", $titrems);
$titrems = str_replace("<", "<", $titrems);
$pseudo = str_replace("\'", "'", $pseudo);
$commentaire = str_replace('\"', '"', $commentaire);
$titrems = str_replace('\"', '"', $titrems);
$pseudo = str_replace('\"', '"', $pseudo);
$pseudo = str_replace("<", "<", $pseudo);
$pseudo = str_replace(">", ">", $pseudo);
$commentaire = str_replace(">", ">", $commentaire);
$commentaire = str_replace("<", "<", $commentaire);
$commentaire = str_replace(",", ", ", $commentaire);
$commentaire = str_replace(" ,", ", ", $commentaire);
$commentaire = str_replace(" , ", ", ", $commentaire);
$commentaire = str_replace(" .", ". ", $commentaire);
$commentaire = str_replace(" . ", ". ", $commentaire);
$commentaire = str_replace(CHR(10), "<br>", $commentaire);
$commentaire = str_replace("[LOL]", "<img align='absmiddle' border='0' src='images/0.gif'>", $commentaire);
$commentaire = str_replace("[oui]", "<img align='absmiddle' border='0' src='images/1.gif'>", $commentaire);
$commentaire = str_replace("[non]", "<img align='absmiddle' border='0' src='images/2.gif'>", $commentaire);
$commentaire = str_replace("[wow]", "<img align='absmiddle' border='0' src='images/3.gif'>", $commentaire);
$commentaire = str_replace("[cool]", "<img align='absmiddle' border='0' src='images/4.gif'>", $commentaire);
$commentaire = str_replace("[ncool]", "<img align='absmiddle' border='0' src='images/5.gif'>", $commentaire);
$commentaire = str_replace("[zZz]", "<img align='absmiddle' border='0' src='images/6.gif'>", $commentaire);
$commentaire = str_replace("[bien]", "<img align='absmiddle' border='0' src='images/7.gif'>", $commentaire);
$commentaire = str_replace("[dead]", "<img align='absmiddle' border='0' src='images/8.gif'>", $commentaire);
$commentaire = str_replace("[mouai]", "<img align='absmiddle' border='0' src='images/9.gif'>", $commentaire);
$commentaire = str_replace("[triste]", "<img align='absmiddle' border='0' src='images/10.gif'>", $commentaire);
$commentaire = str_replace("[clin]", "<img align='absmiddle' border='0' src='images/11.gif'>", $commentaire);
$commentaire = str_replace("[perplexe]", "<img align='absmiddle' border='0' src='images/12.gif'>", $commentaire);
$commentaire = str_replace("[hehe]", "<img align='absmiddle' border='0' src='images/13.gif'>", $commentaire);
$commentaire = str_replace("[choc]", "<img align='absmiddle' border='0' src='images/14.gif'>", $commentaire);

// Date
$date = getdate();
$mois{1} = "Janvier";
$mois{2} = "Février";
$mois{3} = "Mars";
$mois{4} = "Avril";
$mois{5} = "Mai";
$mois{6} = "Juin";
$mois{7} = "Juillet";
$mois{8} = "Août";
$mois{9} = "Septembre";
$mois{10} = "Octobre";
$mois{11} = "Novembre";
$mois{12} = "Décembre";
$jour = $date['mday'];
$mois = $mois{$date['mon']};
$annee = $date['year'];
$temps = "le <i>";
$temps .= $jour;
$temps .= " ";
$temps .= $mois;
$temps .= " ";
$temps .= $annee;
$temps .= "</i> ";
// Fin Date

fputs($fp, "$titrems|$commentaire|$pseudo|$note|$temps");
fputs($fp,"£");
fclose($fp);

echo("<script language=\"javascript\">document.location=\"vote.php\";</script>");

}
elseif (isset($submit))
{
echo("<script language=\"javascript\">alert('Vous devez renseigner votre Nom, le Titre de votre message et laisser un message!');</script>");
}
?> 



Pour l'intégration de celui ci:

<?php 
session_start();

if( isset($_POST['submit'])) {
   if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
		echo Merci pour votre message: "'.$_POST['message'].'"';
		unset($_SESSION['security_code']);
   } else {
		echo 'Désolé, le code de sécurité est invalide';
   }
} else {
?>


Dans mon premier formulaire j'enregistre le commentaire, la note, le pseudo, la date dans un simple fichier txt
quand j'integre la deuxieme partie (ci dessous) il fonction avec le code c'est à dire qu'il autorise ou refuse l'acces si le code est bon ou mauvais mais n'affiche jamais les commantaires il doit avoir une petite erreur au niveau du sumit mais avec plusieurs essais je suis tjours perdu.

Voici un simple code:


<?php 
session_start();

if( isset($_POST['submit'])) {
   if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
		echo Merci pour votre message: "'.$_POST['message'].'"';
		unset($_SESSION['security_code']);
   } else {
		echo 'Désolé, le code de sécurité est invalide';
   }
} else {
?>


	<form action="vote.php" method="post">
		<label for="name">Name: </label><input type="text" name="name" id="name" /><br />
		<label for="email">Email: </label><input type="text" name="email" id="email" /><br />
		<label for="message">Message: </label><textarea rows="5" cols="30" name="message" id="message"></textarea><br />
		<img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" /><br />
		<label for="security_code">Security Code: </label><input id="security_code" name="security_code" type="text" /><br />
		<input type="submit" name="submit" value="Valider" />
	</form>

<?php
	}
?>


Le code ci dessus fonctionne tres bien refuse l'acces et autorise celui ci avec le code.
0
Utilisateur anonyme
 
que fait le programme vote.php ?
0
solene
 
En faite il ne fait rien il recharge seulement la page pour afficher le commentaire en question qui vient d'etre posté.
Puisque mon code principal se nome deja vote.php il y a plus smple c'est clair tu vas me dire... lol
je ne sais plus trop pourquoi c'est comme cela a vrai dire :$
0
Utilisateur anonyme
 
ah je crois voir.

le formulaire html renvoit sur vote.php.
la variable de session security_code n'est pas renseignée donc pas plus que le POST, ce dernier serait rensigné par le formulaire vote.php

le problème vient donc du fait que la variable submit est vraie en venant du formulaire html. Change li le name dans le formulaire html et cela ira peut être mieux
0
solene
 
re,
Désolé c'est pas tres clair pour moi.. j'ai qu'un seul formulaire: vote.php

dans lequel je desire mettre celui-ci:

Au debut de ma page:
<?php 
session_start();

if( isset($_POST['submit'])) {
   if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
		echo Merci pour votre message: "'.$_POST['message'].'"';
		unset($_SESSION['security_code']);
   } else {
		echo 'Désolé, le code de sécurité est invalide';
   }
} else {
?>


au milieu mon code (formulaire) le fichier vote.php

et a la fin
<?php
	}
?>


cette page se nomera vote.php
0
Utilisateur anonyme
 
cette première ligne : if( isset($_POST['submit']))
teste le submit du fichier html et la réponse est vraie

on teste alors $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'

cette réponse est fausse puisqu'on est pas encore passé dans le formulaire vote.php alors on fait :
echo 'Désolé, le code de sécurité est invalide';

JL,  m'enfin c'est juste mon avis @+
0
solene
 
celui la?
if (isset($submit) AND ($titrems <> "Titre du message") AND ($pseudo <> "Pseudo/Nom") AND ($commentaire <> ""))
{

ca ne marche pas
0
Utilisateur anonyme
 
bonsoir

le premier formulaire enregiste le commentaire, la note, le pseudo, la date dans un simple fichier txt et se débranche sur vote.php où la varaible submit est vraie .
alors on test le code de securité qui lui n'a pas encore été remplit. le test est donc faux et renvoit echo 'Désolé, le code de sécurité est invalide';

JL,  m'enfin c'est juste mon avis @+
0
solene
 
Je comprends tjours pas :$
tu veux pas posté la rectification avec tes explications stp?

Parce que mon système de code accepte les codes quans ils sont bon et refuse les autres quans ils sont faux.
Mon problème vient seulment qu'il valide pas mon commentaires.txt meme si je donne le bon code il va m'afficher:
Merci pour votre message 'blablablabla' mais le commentaire n'apparatra pas sur la page :$

Je sais pas trop si on parle de la même chose... désolé si je m'exprime mal
as tu testé le code?
0
Utilisateur anonyme
 
Bonjour


je ne peux le tester mais essayons de changer cette ligne dans le premier fichier
<INPUT TYPE="submit" value="Valider" name="submit">

en mettant :
<INPUT TYPE="submit" value="Valider" name="envoyer">
0
solene
 
Bonsoir,

avec le changement plus rien ne fonctionne
0
Utilisateur anonyme
 
Bonsoir,
J'ai fait les changements, il ne reste plus qu'à savoir où est renseignée la variable de session secirity_code .

<?php
$cpt=0;
$fp = fopen("commentaires.txt", "r");
$liste = array();
while (!feof($fp))
{
$ligne = fgets($fp,200000);
$login = explode("£",$ligne);
$stop = sizeof( $login );
for($x = 0; $x < $stop-1; $x++)
{
$liste = explode("|",$login[$x]);

for($y = 0;$y <= 4 ;$y++)
{
$case[$x][$cpt] = $liste[$y];
$cpt++;
}
$cpt = 0;
}
}
fclose($fp);

/*$buff = file_get_contents('commentaires.txt');
$comments = explode("£",$buff);

foreach($comments as $k => $v) {

}*/


// Division en plusieurs pages :

if($stop-1 > 15){
if(!isset($debut) && !isset($fin)){$debut = 1; $fin = 15;}
echo("<center>[ ");
$afficn = 1;
for($alt = 0; $alt <= $stop-2; $alt = $alt+15)
{
$alt2 = $alt+15;
$alt0 = $alt+1;
if ($alt2 > $stop-1){$alt2 = $stop-1;}
if ($debut == $alt0 && $fin == $alt2){echo("<b>");}
echo("<a href=\"n1.php?debut=$alt0&fin=$alt2\">$afficn</a>");


if ($debut == $alt0 && $fin == $alt2){echo("</b>");}
$afficn++;
if ($alt2 < $stop-1)
{
echo(" | ");
}
}
echo("]</center><br>");
}
else
{
$debut = 1;
$fin = $stop-1;
}

// Dessin du tableau :
$debut = $stop-1-$debut;
$fin = $stop-1-$fin;
for($x = $debut; $x >= $fin; $x--)
{
$ama = "{$case[$x][0]}";
$ama = strtolower($ama);
$ama = ucwords($ama);
$mess = "{$case[$x][2]}";
$mess = strtolower($mess);
$mess = ucwords($mess);
$comm = "{$case[$x][1]}";
$comm = preg_replace("`((?:https?|ftp)://\S+)(\s|\z)`", '<a title="Visiter le site" target="_blank" href="$1">$1</a>$2', $comm);
echo("<img align=\"absmiddle\" border=\"0\" src=\"images/puce.gif\"><b><font color=\"#919191\">$ama</font></b> (");
for($az = 0; $az < "{$case[$x][3]}"; $az++){ echo("<img alt=\"Note attribuée à la vidéo par $mess\" align=\"absmiddle\" border=\"0\" src=\"images/oui.gif\">"); }
for($az = 0; $az < 5-"{$case[$x][3]}"; $az++){ echo("<img alt=\"Note attribuée au site par $mess\" align=\"absmiddle\" border=\"0\" src=\"images/non.gif\">"); }
echo(") écrit par <font color=\"#0099FF\"><i>$mess</i></font> {$case[$x][4]} :<br>$comm<br><br>");
}
?><br>
</div>
<p align="center">

<form method="POST" name="form" action="vote.php">
<div align="center">
<input type="text" name="titrems" size="22" value="Titre du message" onClick="javascript:document.form.titrems.value='';"maxlength="22">


<input type="text" name="pseudo" size="22" value="Pseudo/Nom" onClick="javascript:document.form.pseudo.value='';"maxlength="17">
<br><br>
Attribuez une note sur 5 à la vidéo :
<select align="absmiddle" size="1" name="note">
<option value="5">5 - Parfait</option>
<option value="4">4 - Bien</option>
<option selected value="3">3 - Moyen</option>
<option value="2">2 - Bof</option>
<option value="1">1 - Nul</option>
</select>
<br><br>
<textarea name="commentaire" cols="50" rows="5" wrap="physical" style="font-size: 8 pt; font-family: Verdana"></textarea>
<br>
<img src="images/0.gif" style="CURSOR: hand" onClick="commentaire.value+=' [LOL] '">
<img src="images/1.gif" style="CURSOR: hand" onClick="commentaire.value+=' [oui] '">
<img src="images/2.gif" style="CURSOR: hand" onClick="commentaire.value+=' [non] '">
<img src="images/3.gif" style="CURSOR: hand" onClick="commentaire.value+=' [wow] '">
<img src="images/4.gif" style="CURSOR: hand" onClick="commentaire.value+=' [cool] '">
<img src="images/5.gif" style="CURSOR: hand" onClick="commentaire.value+=' [ncool] '">
<img src="images/6.gif" style="CURSOR: hand" onClick="commentaire.value+=' [zZz] '">
<img src="images/7.gif" style="CURSOR: hand" onClick="commentaire.value+=' [bien] '">
<img src="images/8.gif" style="CURSOR: hand" onClick="commentaire.value+=' [dead] '">
<img src="images/9.gif" style="CURSOR: hand" onClick="commentaire.value+=' [mouai] '">
<img src="images/10.gif" style="CURSOR: hand" onClick="commentaire.value+=' [triste] '">
<img src="images/11.gif" style="CURSOR: hand" onClick="commentaire.value+=' [clin] '">
<img src="images/12.gif" style="CURSOR: hand" onClick="commentaire.value+=' [perplexe] '">
<img src="images/13.gif" style="CURSOR: hand" onClick="commentaire.value+=' [hehe] '">
<img src="images/14.gif" style="CURSOR: hand" onClick="commentaire.value+=' [choc] '">
 
<INPUT TYPE="submit" value="Valider" name="envoyer">

</p>
</div>
</form>
<div align="center">
<?php
if (isset($submit) AND ($titrems <> "Titre du message") AND ($pseudo <> "Pseudo/Nom") AND ($commentaire <> ""))
{
$fp = fopen("commentaires.txt","a");
$commentaire = str_replace("\'", "'", $commentaire);
$titrems = str_replace("\'", "'", $titrems);
$titrems = str_replace(">", ">", $titrems);
$titrems = str_replace("<", "<", $titrems);
$pseudo = str_replace("\'", "'", $pseudo);
$commentaire = str_replace('\"', '"', $commentaire);
$titrems = str_replace('\"', '"', $titrems);
$pseudo = str_replace('\"', '"', $pseudo);
$pseudo = str_replace("<", "<", $pseudo);
$pseudo = str_replace(">", ">", $pseudo);
$commentaire = str_replace(">", ">", $commentaire);
$commentaire = str_replace("<", "<", $commentaire);
$commentaire = str_replace(",", ", ", $commentaire);
$commentaire = str_replace(" ,", ", ", $commentaire);
$commentaire = str_replace(" , ", ", ", $commentaire);
$commentaire = str_replace(" .", ". ", $commentaire);
$commentaire = str_replace(" . ", ". ", $commentaire);
$commentaire = str_replace(CHR(10), "<br>", $commentaire);
$commentaire = str_replace("[LOL]", "<img align='absmiddle' border='0' src='images/0.gif'>", $commentaire);
$commentaire = str_replace("[oui]", "<img align='absmiddle' border='0' src='images/1.gif'>", $commentaire);
$commentaire = str_replace("[non]", "<img align='absmiddle' border='0' src='images/2.gif'>", $commentaire);
$commentaire = str_replace("[wow]", "<img align='absmiddle' border='0' src='images/3.gif'>", $commentaire);
$commentaire = str_replace("[cool]", "<img align='absmiddle' border='0' src='images/4.gif'>", $commentaire);
$commentaire = str_replace("[ncool]", "<img align='absmiddle' border='0' src='images/5.gif'>", $commentaire);
$commentaire = str_replace("[zZz]", "<img align='absmiddle' border='0' src='images/6.gif'>", $commentaire);
$commentaire = str_replace("[bien]", "<img align='absmiddle' border='0' src='images/7.gif'>", $commentaire);
$commentaire = str_replace("[dead]", "<img align='absmiddle' border='0' src='images/8.gif'>", $commentaire);
$commentaire = str_replace("[mouai]", "<img align='absmiddle' border='0' src='images/9.gif'>", $commentaire);
$commentaire = str_replace("[triste]", "<img align='absmiddle' border='0' src='images/10.gif'>", $commentaire);
$commentaire = str_replace("[clin]", "<img align='absmiddle' border='0' src='images/11.gif'>", $commentaire);
$commentaire = str_replace("[perplexe]", "<img align='absmiddle' border='0' src='images/12.gif'>", $commentaire);
$commentaire = str_replace("[hehe]", "<img align='absmiddle' border='0' src='images/13.gif'>", $commentaire);
$commentaire = str_replace("[choc]", "<img align='absmiddle' border='0' src='images/14.gif'>", $commentaire);

// Date
$date = getdate();
$mois{1} = "Janvier";
$mois{2} = "Février";
$mois{3} = "Mars";
$mois{4} = "Avril";
$mois{5} = "Mai";
$mois{6} = "Juin";
$mois{7} = "Juillet";
$mois{8} = "Août";
$mois{9} = "Septembre";
$mois{10} = "Octobre";
$mois{11} = "Novembre";
$mois{12} = "Décembre";
$jour = $date['mday'];
$mois = $mois{$date['mon']};
$annee = $date['year'];
$temps = "le <i>";
$temps .= $jour;
$temps .= " ";
$temps .= $mois;
$temps .= " ";
$temps .= $annee;
$temps .= "</i> ";
// Fin Date

fputs($fp, "$titrems|$commentaire|$pseudo|$note|$temps");
fputs($fp,"£");
fclose($fp);

echo("<script language=\"javascript\">document.location=\"vote.php\";</script>");

}
elseif (isset($submit))
{
echo("<script language=\"javascript\">alert('Vous devez renseigner votre Nom, le Titre de votre message et laisser un message!');</script>");
}
?>
--------------------------------------------------
<?php
session_start();
//echo "<pre>"; print_r($_POST); echo"</pre>";
if($_POST['submit']<>'Valider') {
//if( isset($_POST['submit'])) {


if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
echo "Merci pour votre message: ".$_POST['message'];
unset($_SESSION['security_code']);
} else {
echo 'Désolé, le code de sécurité est invalide';
}
} else {
?>


<form action="vote.php" method="post">
<label for="name">Name: </label><input type="text" name="name" id="name" /><br />
<label for="email">Email: </label><input type="text" name="email" id="email" /><br />
<label for="message">Message: </label><textarea rows="5" cols="30" name="message" id="message"></textarea><br />
<img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" /><br />
<label for="security_code">Security Code: </label><input id="security_code" name="security_code" type="text" /><br />
<input type="submit" name="submit" value="Envoyer" />
</form>

<?php
}
?>
0
solene
 
re bonsoir

Déjà merci pour tes explications et ton aide :)
Apres j'ai testé le code il ne fonctione plus du tout,
je comprends pas pourquoi tu mets le code là:

<form action="vote.php" method="post"> 
<label for="name">Name: </label><input type="text" name="name" id="name" /><br /> 
<label for="email">Email: </label><input type="text" name="email" id="email" /><br /> 
<label for="message">Message: </label><textarea rows="5" cols="30" name="message" id="message"></textarea><br /> 
<img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" /><br /> 
<label for="security_code">Security Code: </label><input id="security_code" name="security_code" type="text" /><br /> 
<input type="submit" name="submit" value="Envoyer" /> 
</form> 


le morceau de code etait un exemple... j'ai qu'une page qui se nomme vote.php

La voici avec le code CAPTCHA integré dedans mais qui ne marche pas.

<?php 
session_start();

if( isset($_POST['submit'])) {
   if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
        // Insert you code for processing the form here, e.g emailing the submission, entering it into a database. 
        echo 'Merci. Validation du message: "'.$_POST['commentaire'].'"';
        unset($_SESSION['security_code']);
   } else {
        // Insert your code for showing an error message here
        echo 'Désolé, votre code sécurité est invalide!';
   }
} else {
?>

  <?php
$cpt=0;
$fp = fopen("commentaires.txt", "r");
$liste = array();
while (!feof($fp))
{
    $ligne = fgets($fp,200000);
    $login = explode("£",$ligne);
    $stop = sizeof( $login );
    for($x = 0; $x < $stop-1; $x++)
{
    $liste = explode("|",$login[$x]);
    
    for($y = 0;$y <= 4 ;$y++)
{
    $case[$x][$cpt] = $liste[$y];
    $cpt++;
}
$cpt = 0;
}
}
fclose($fp);

/*$buff = file_get_contents('commentaires.txt');
$comments = explode("£",$buff);

foreach($comments as $k => $v) {
  
}*/


// Division en plusieurs pages :

if($stop-1 > 15){
if(!isset($debut) && !isset($fin)){$debut = 1; $fin = 15;}
echo("<center>[ ");
$afficn = 1;
for($alt = 0; $alt <= $stop-2; $alt = $alt+15)
{
$alt2 = $alt+15;
$alt0 = $alt+1;
if ($alt2 > $stop-1){$alt2 = $stop-1;}
if ($debut == $alt0 && $fin == $alt2){echo("<b>");}
echo("<a href=\"note.php?debut=$alt0&fin=$alt2\">$afficn</a>");


if ($debut == $alt0 && $fin == $alt2){echo("</b>");}
$afficn++;
if ($alt2 < $stop-1)
{
echo(" | ");
}
}
echo("]</center><br>");
}
else
{
$debut = 1;
$fin = $stop-1;
}

// Dessin du tableau :
$debut = $stop-1-$debut;
$fin = $stop-1-$fin;
for($x = $debut; $x >= $fin; $x--)
{
$ama = "{$case[$x][0]}";
$ama = strtolower($ama);
$ama = ucwords($ama);
$mess = "{$case[$x][2]}";
$mess = strtolower($mess);
$mess = ucwords($mess);
$comm = "{$case[$x][1]}";
$comm = preg_replace("`((?:https?|ftp)://\S+)(\s|\z)`", '<a title="Visiter le site" target="_blank" href="$1">$1</a>$2', $comm);
echo("<img align=\"absmiddle\" border=\"0\" src=\"images/puce.gif\"><b><font color=\"#919191\">$ama</font></b> (");
for($az = 0; $az < "{$case[$x][3]}"; $az++){ echo("<img alt=\"Note attribuée à la vidéo par $mess\" align=\"absmiddle\" border=\"0\" src=\"images/oui.gif\">"); }
for($az = 0; $az < 5-"{$case[$x][3]}"; $az++){ echo("<img alt=\"Note attribuée au site par $mess\" align=\"absmiddle\" border=\"0\" src=\"images/non.gif\">"); }
echo(") écrit par <font color=\"#0099FF\"><i>$mess</i></font> {$case[$x][4]} :<br>$comm<br><br>");
}
?><br>
</div>
<p align="center">

<form method="POST" name="form" action="note.php">
  <div align="center">
  <input type="text" name="titrems" size="22" value="Titre du message" onClick="javascript:document.form.titrems.value='';"maxlength="22">

  <input type="text" name="pseudo" size="22" value="Pseudo/Nom" onClick="javascript:document.form.pseudo.value='';"maxlength="17">
  <br><br>
    Attribuez une note  sur 5 au site: 
    <select align="absmiddle" size="1" name="note">
    <option value="5">5 - Parfait</option>
    <option value="4">4 - Bien</option>
    <option selected value="3">3 - Moyen</option>
    <option value="2">2 - Bof</option>
    <option value="1">1 - Nul</option>
  </select>
  <br><br>
  <textarea name="commentaire" cols="50" rows="5" wrap="physical" style="font-size: 8 pt; font-family: Verdana"></textarea>
  <br>
   <img src="images/0.gif" style="CURSOR: hand" onClick="commentaire.value+=' [1] '">
    <img src="images/1.gif" style="CURSOR: hand" onClick="commentaire.value+=' [2] '">
    <img src="images/2.gif" style="CURSOR: hand" onClick="commentaire.value+=' [3] '">
    <img src="images/3.gif" style="CURSOR: hand" onClick="commentaire.value+=' [4] '">
    <img src="images/4.gif" style="CURSOR: hand" onClick="commentaire.value+=' [5] '">
    <img src="images/5.gif" style="CURSOR: hand" onClick="commentaire.value+=' [6] '">
    <img src="images/6.gif" style="CURSOR: hand" onClick="commentaire.value+=' [7] '">
    <img src="images/7.gif" style="CURSOR: hand" onClick="commentaire.value+=' [8] '">
    <img src="images/8.gif" style="CURSOR: hand" onClick="commentaire.value+=' [9] '">
    <img src="images/9.gif" style="CURSOR: hand" onClick="commentaire.value+=' [10] '">
    <img src="images/10.gif" style="CURSOR: hand" onClick="commentaire.value+=' [11] '">
    <img src="images/11.gif" style="CURSOR: hand" onClick="commentaire.value+=' [12] '">
    <img src="images/12.gif" style="CURSOR: hand" onClick="commentaire.value+=' [13] '">
    <img src="images/13.gif" style="CURSOR: hand" onClick="commentaire.value+=' [14] '">
    <img src="images/14.gif" style="CURSOR: hand" onClick="commentaire.value+=' [15] '">
  &nbsp;    <img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" />
 <br /><br />
        <label for="security_code"> Code de s&eacute;curit&eacute;: </label>
        <input id="security_code" name="security_code" type="text" size="15" />&nbsp;&nbsp;&nbsp;&nbsp;
  <INPUT TYPE="submit" value="Valider" name="submit">  &nbsp;  &nbsp;<INPUT TYPE="reset" value="Effacer" name="reset"> 
    </p>
  </div>
</form>

<div align="center">
  <?php
if (isset($submit) AND ($titrems <> "Titre du message") AND ($pseudo <> "Pseudo/Nom") AND ($commentaire <> ""))
{
$fp = fopen("commentaires.txt","a");
$commentaire = str_replace("\'", "'", $commentaire);
$titrems = str_replace("\'", "'", $titrems);
$titrems = str_replace(">", ">", $titrems);
$titrems = str_replace("<", "<", $titrems);
$pseudo = str_replace("\'", "'", $pseudo);
$commentaire = str_replace('\"', '"', $commentaire);
$titrems = str_replace('\"', '"', $titrems);
$pseudo = str_replace('\"', '"', $pseudo);
$pseudo = str_replace("<", "<", $pseudo);
$pseudo = str_replace(">", ">", $pseudo);
$commentaire = str_replace(">", ">", $commentaire);
$commentaire = str_replace("<", "<", $commentaire);
$commentaire = str_replace(",", ", ", $commentaire);
$commentaire = str_replace(" ,", ", ", $commentaire);
$commentaire = str_replace(" , ", ", ", $commentaire);
$commentaire = str_replace(" .", ". ", $commentaire);
$commentaire = str_replace(" . ", ". ", $commentaire);
$commentaire = str_replace(CHR(10), "<br>", $commentaire);
$commentaire = str_replace("[1]", "<img align='absmiddle' border='0' src='images/0.gif'>", $commentaire);
$commentaire = str_replace("[2]", "<img align='absmiddle' border='0' src='images/1.gif'>", $commentaire);
$commentaire = str_replace("[3]", "<img align='absmiddle' border='0' src='images/2.gif'>", $commentaire);
$commentaire = str_replace("[4]", "<img align='absmiddle' border='0' src='images/3.gif'>", $commentaire);
$commentaire = str_replace("[5]", "<img align='absmiddle' border='0' src='images/4.gif'>", $commentaire);
$commentaire = str_replace("[6]", "<img align='absmiddle' border='0' src='images/5.gif'>", $commentaire);
$commentaire = str_replace("[7]", "<img align='absmiddle' border='0' src='images/6.gif'>", $commentaire);
$commentaire = str_replace("[8]", "<img align='absmiddle' border='0' src='images/7.gif'>", $commentaire);
$commentaire = str_replace("[9]", "<img align='absmiddle' border='0' src='images/8.gif'>", $commentaire);
$commentaire = str_replace("[10]", "<img align='absmiddle' border='0' src='images/9.gif'>", $commentaire);
$commentaire = str_replace("[11]", "<img align='absmiddle' border='0' src='images/10.gif'>", $commentaire);
$commentaire = str_replace("[12]", "<img align='absmiddle' border='0' src='images/11.gif'>", $commentaire);
$commentaire = str_replace("[13]", "<img align='absmiddle' border='0' src='images/12.gif'>", $commentaire);
$commentaire = str_replace("[14]", "<img align='absmiddle' border='0' src='images/13.gif'>", $commentaire);
$commentaire = str_replace("[15]", "<img align='absmiddle' border='0' src='images/14.gif'>", $commentaire);


// Date
$date = getdate();
$mois{1} = "Janvier";
$mois{2} = "Février";
$mois{3} = "Mars";
$mois{4} = "Avril";
$mois{5} = "Mai";
$mois{6} = "Juin";
$mois{7} = "Juillet";
$mois{8} = "Août";
$mois{9} = "Septembre";
$mois{10} = "Octobre";
$mois{11} = "Novembre";
$mois{12} = "Décembre";
$jour = $date['mday'];
$mois = $mois{$date['mon']};
$annee = $date['year'];
$temps = "le <i>";
$temps .= $jour;
$temps .= " ";
$temps .= $mois;
$temps .= " ";
$temps .= $annee;
$temps .= "</i> ";
// Fin Date

fputs($fp, "$titrems|$commentaire|$pseudo|$note|$temps");
fputs($fp,"£");
fclose($fp);

echo("<script language=\"javascript\">document.location=\"note.php\";</script>");

}
elseif (isset($submit))
{
echo("<script language=\"javascript\">alert('Vous devez renseigner votre Nom, le Titre de votre message et laisser un message!');</script>");
}
?> 

<?php
    }
?>


Je pense qu'on parlait pas de la même chose, sinon voici le code que je rajoute en faite si cela peut t'aider: http://www.white-hat-web-design.co.uk/articles/php-captcha.php

Je pense tjours que l'erreur vient d'un submit de mon formulaire d'origine (vote.php)
mais je n'arrive pas a le modifier.

rappel:

if (isset($submit) AND ($titrems <> "Titre du message") AND ($pseudo <> "Pseudo/Nom") AND ($commentaire <> ""))


et la ligne:

}
elseif (isset($submit))
{

Merci pour ton aide :) (je fais tjours des essais de modif du code mais sans succes)
0
Utilisateur anonyme
 
C'est le if isset qu'il ne faut pas mettre.

Je persiste et je signe. les deux codes que j'ai renvoyés tout à l'heure fonctionnent.

if isset est vrai quand on vient du formulaire puisqu'il teste si on a cliquer sur valider.

alors qu'on veut dans vote.php qu'il ne soit vrai qu'un fois passé une première fois



partant du premier formulaire, on arrive dans vote.php
si tu veux voir ce qui arrive tu ajoutes en début de vote.php, immédiatement après <?php
la ligne
echo "<pre>";print_r($_POST);echo "</pre>";

et tu verras ce qui est passé par le premier formulaire.
la variable $submit contient ce qui est mis dans a variable name de l'input type=submit ...

la logique de tes deux programme c'est le premier se débranche sur le second qui doit aller dans le second formulaire et boucler sur lui même, ce qu'il ne pourra JAMAIS faire sit tu testes if isset($submit)

0
Utilisateur anonyme
 
Bonjour,

La nuit porte conseil. ai-je bien compris ton problème ?
Le premier message donne deux programme. est-ce que ton soucis ne serait pas de les réunir en seul ?
0