Aide sur image anti-spam...

Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009 - 28 août 2006 à 18:55
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009 - 29 août 2006 à 17:59
Bonjour. J'ai intégré sur une page l'image anti-spam du lien :
http://www.phpcs.com/codes/IMAGE-ANTI-SPAM_38969.aspx
Cependant, je rencontre un problème ne connaissant pas trop le PHP, le message ne part pas. Serait-il possible d'avoir une aide? Merci d'avance à tous.
Cordialement.
Ci-dessous les codes :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Contact</title>

<form method=POST action=envoi.php >

Votre Nom:,
    ,
----
Votre Email:,
    ,
----
Sujet:,
    ,
----
Commentaires:

  <textarea COLS=50 ROWS=6 name=comments></textarea>

&nbsp;

&nbsp;

<?php
$variable = "code"; // on initialise la variable
session_start(); // Démarrage de la session OBLIGATOIRE
session_register("variable"); // On enregistre une variable appelée "variable" dans la session SANS LE $ DEVANT
?>

-
    

</form>

</head>

</html>
------------------------------------------
Formulaire d'envoi.

<?php

require_once "http://www.monsite.fr/contact.html";

// on récupère le code tapé par le visiteur (on le passe en majuscule)
$flood = isset( $_POST['flood'] ) ? strtoupper( $_POST['flood'] ) : '';

// on vérifie:
if( $flood != $_SESSION['aaaa'] )
{
echo "Bonne valeur : ";

$TO = "contact@monsite.fr";
$h  = "From: " . $email;// Adresse email de l'expéditeur
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://www.monsite.fr/remerciement.html");

// ici tu traites les cas où le code est faux
} else {
echo "Mauvaise valeur : ";  
  
}

echo "variable code : " , "$code " ;
echo "variable aaaa  : " , $aaaa ;

?>

13 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
28 août 2006 à 21:33
Salut!
Si ton champ est:
C'est bizarre de mettre: $flood = isset( $_POST['flood'] ) ? strtoupper( $_POST['flood'] ) : '';
>> $flood = isset( $_POST['code'] ) ? strtoupper( $_POST['code'] ) : '';

$variable = "code"; // on initialise la variable
session_register("variable"); // On enregistre une variable appelée "variable" dans la session SANS LE $ DEVANT
>> Inutile, utilisation inutile de " ", ...

// on vérifie:
if( $flood != $_SESSION['aaaa'] )
{
echo "Bonne valeur : ";
>> Contradictoire: si les deux sont différents: bonne valeur...

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
28 août 2006 à 22:20
Quelque chose de plus rapide :
"// on récupère le code tapé par le visiteur (on le passe en majuscule)
$flood = isset( $_POST['flood'] ) ? strtoupper( $_POST['flood'] ) : '';


// on vérifie:
if( $flood != $_SESSION['aaaa'] )"

$flood = ( isset( $_POST['flood'] ) ) ? strtoupper( $_POST['code'] ) : NULL;

if ( isset($flood) && $flood === $_SESSION['aaaa'] ) {
// Suite
}


Autant utiliser NULL plutot que d'initialiser une variable de type STRING.
Car isset() est plus rapide que "===" dans certains cas ! Sachant qu'en plus, tu ne regarde pas le tableau $_SESSION[] pour peu qu'il ne soit pas gigantesque :S
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 août 2006 à 12:31
Salut!
FhX, petite question: alors pk utiliser isset dans ton test? Il sera tjs true, vu le : NULL, non?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
29 août 2006 à 12:35
Bonjour. Pour l'instant, j'ai mis ça et mon formulaire ne part pas!!

<?php
session_start();
require_once "
http://www.montesite.fr/contact.html
";



// on récupère le code tapé par le visiteur (on le passe en majuscule)
$flood = isset( $_POST['code'] ) ? strtoupper( $_POST['code'] ) : '';

// on vérifie si c'est différent
if( $flood != $_SESSION['aaaa'] )



{
echo "Mauvaise valeur : ";
}



else
{
// Traitement si le code est bon
echo "Bonne valeur : ";
$TO = "
[mailto:contact@monsite.fr
contact@monsite.fr
]
";
$h  = "From: " . $email;// Adresse email de l'expéditeur
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location:
http://www.monsite.fr/remerciement.html
");
}
?>
0

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

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
29 août 2006 à 13:29
"FhX, petite question: alors pk utiliser isset dans ton test? Il sera tjs true, vu le : NULL, non?"

Bah nan, si $_POST['flood'] n'est pas encore initialisée :)

Si tu veux :
"$flood = ( isset( $_POST['flood'] ) ) ? strtoupper( $_POST['code'] ) : NULL;

if ( isset($flood) && $flood === $_SESSION['aaaa'] ) { "

est la même chose que :

if ( isset($_POST['flood'], $_POST['code']) && strtoupper( $_POST['code'] ) === $_SESSION['aaaa'] ) {
//
}

Voila voila :)
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 août 2006 à 14:47
Salut!
Dans la page de verif, après session_start(); qu'affiche ce code:
foreach( $_SESSION as $key => $value )
    echo $key , ': ' , $value ' .
';

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
29 août 2006 à 16:09
Salut.
Ca affiche :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/astrof/public_html/envoi.php on line 5
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 août 2006 à 16:10
foreach( $_SESSION as $key => $value )
    echo $key , ': ' , $value , '
';

Mais tu aurais pu corriger ça toi même, ... ;)

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
29 août 2006 à 16:19
Désolé, je ne suis que débutant.
Quand je vois dans l'image HH il met : 84
Quand je vois dans l'image 6H il met : HA
Quand je vois dans l'image CZ il met : HL
Quand je vois dans l'image RI il met : 1S
Quand je vois dans l'image 6R il met : PP
Quand je vois dans l'image 8URI il met : 8U
Quand je vois dans l'image YU il met : KH

Quand je clique sans remplir, le formulaire part.

As-tu une idée?
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 août 2006 à 17:53
Non...
C'est bizarre:
- c'est marche chez moi....
- tu utilises une redirection en header, qui ne devrait pas marcher vu que tu as un echo avant...

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
29 août 2006 à 17:55
Je ne sais pas trop quoi te dire:


Comment faire?


Al.
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 août 2006 à 17:57
Je vais encore regarder et si je trouve qqch je te redis!

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
29 août 2006 à 17:59
Ok.


Je suis hébergé chez Hosteur.com, hébergement payant et ils ont de nombreux clients, donc je pense que cela devrait fonctionner.


Al.


 
0
Rejoignez-nous