Non, la requette on l'a mettra après dans ton fichier .php- La requête, je l'effectue dans PhpMyAdmin ou c'est juste un exemple![]()
Pour l'instant ne met rien dans ta page, je sais c'est rageant mais on structera bien après quand on aura fini l'étape formulaire, ce qui est bientôt fini !- Je place donc le code du nombre aléatoire et celui des paramètres à côté dans le fichier, ça ne gênera pas![]()
Oui c'est parfait ! Mais encore une fois, ne met rien dans ta page car on va tout structuré plus tard.- En ce qui concerne le <img alt="captcha" src="<?php echo $adresse; ?>" />, je fais de cette sorte :
<label for="captcha">Recopiez les caractères de l'image:</label> <img alt="captcha" src="<?php echo $adresse; ?>" /> <input type="text" name="captcha" id="captcha" />
--------------------------------------------------------------------------------
Donc on avait distingué 2 parties dans ta page :
- le formulaire (avec l'image captcha, la réponse captcha et surtout les autres champs de ton formulaire)
- le traitement de ton formulaire (pour l'instant avec ton envoi d'email, mais on y mettra tout notre futur boulot)
Pour terminé le formulaire, il ne manque plus qu'un champ hidden pour transmettre l'id du captcha.
Un champ hidden permet de transmettre une variable avec le formulaire sans que l'utilisateur n'ai a faire quelque chose pour cette variable, il ne le saur meme pas.
c'est très simple, voici la syntaxe :
<input type="hidden" name="nom_variable" value="valeur_variable" />
Dans notre cas, il nous faut transmettre la variable nommé id, qui a pour valeur l'id du captcha (généré avec le mt_rand)ce qui donnera :
<input type="hidden" name="id" value="<?php echo $nombre_aleat; ?>" />
Voila, le formulaire est fini ! Enfin, y'a plus qu'a tout mettre dans l'ordre quoi ... -----------------------------------------------------------------------------------------
Bon, j'ai relu ton premier script, et tu avais fait formulaire + traitement sur une seule page. C'est bien, c'est même très bien, mais c'est plus compliqué à gérer (notemment pour limiter les failles) donc je te conseil qu'on reparte sur une base de 2 pages:
formulaire.php (avec le formulaire)
traitement.php (qui analyse les infos envoyées)
(tu peux donner a ses fichiers le nom que tu veux du moment que tu fais gaffe après au liens
Pour formulaire.php, c'est bon ! on va le créer :
Tu prends ta page normale (avec ton entête, et tout ce que tu as besoin genre : le menu, le pied de page, ect ...)
Tu y met ton formulaire que tu nous a fourni au début, le voici :
<form method="post" action="traitement.php">
<div><label for="name">Nom:</label> <input type="text" name="name" id="name" /></div>
<div><label for="email">E-mail:</label> <input type="text" name="email" id="email" /></div>
<div><label for="message">Message:</label> <textarea name="message" id="message" ></textarea></div>
<div><input type="submit" value="Envoyer" class="send-form"/></div>
</form>
(j'ai modifié la valeur de "action" car maintenant on bosse sur 2 pages)A ce formulaire, on va y ajouter, en dessous du textarea "message" et juste au dessus du bouton submit, :
- la génération du nombre aléatoire
- la requette MySQL pour obtenir l'adresse
- l'affichage de l'image captcha (grace à l'adresse obtenue au dessus) + l'input pour demander la solution du captcha
- le champ hidden (cf début de mon message)
A toi l'honneur