Je suis en train de construire un site Internet, mais comme je suis nul en PHP et même, en programmation en général, j'utilise diverses petites applications récupérées sur le Net pour faire mes mises en page et divers codages récupérés aussi sur le Net pour les parties que mon soft ne gère pas.
J'en suis à la page de contact.
Voici le codage de mon formulaire: (formulaire.html)
<form action="contactmail.php" method="post" name="contactmail" id="contactmail" target="_blank">
<table width="600" border="0" cellpadding="4" cellspacing="1" >
<tr>
<td colspan="2"><div align="center" class="Style1"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Formulaire pour nous contacter :</strong> </font></div></td>
</tr>
<tr>
<td ><div align="right" ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Votre adresse mail :</font></div></td>
<td ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="mail" type="text" id="mail" size="20" maxlength="100"/>
</font></td>
</tr>
<tr>
<td><div align="right" >
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<label for="objet">Objet du mail :</label>
</font></div></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="objet" type="text" size="20" maxlength="100" />
</font></td>
</tr>
<tr>
<td align="right" valign="top"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<label for="msg">Votre message :</label>
</font>
<div align="right" ></div>
<div align="right" ></div></td>
<td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<textarea name="msg" cols="40" rows="4"></textarea>
</font></td>
</tr>
<tr>
<td><div align="right" ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Image de sécurité: </font></div></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="cryptimage.php" alt="image de securisation du formulaire" title="image de securisation du formulaire" /></font></td>
</tr>
<tr>
<td><div align="right" >
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<label for="verif">Recopier la combinaison ci dessus dans le champ qui suit :</label>
</font></div></td>
<td valign="top"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="verif" type="text" size="10" maxlength="5" />
</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><span class="Style3"></span></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="submit" type="submit" value="Envoyer le message" />
</font></td>
</tr>
</table>
</form>
Mon cryptimage.php<?php
session_start();
$liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$code = '';
while(strlen($code) != 5) {
$code .= $liste[rand(0,63)];
}
$_SESSION['code']=$code;
$larg = 60;
$haut =20;
$img = imageCreate($larg, $haut);
$rouge = imageColorAllocate($img,255,0,0);
$noir = imageColorAllocate($img,0,0,0);
$code_police=15;
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header("Content-type: image/jpeg");
imageString($img, $code_police,($larg-imageFontWidth($code_police)*strlen("".$code.""))/2,0, $code,$noir);
imagejpeg($img,'',65);
imageDestroy($img);
?>
Et enfin mon contactmail.php<?php
session_start();
if(!isset($_SESSION['code']) OR strlen($_SESSION['code']) !=5) exit("Erreur !");
if($_SESSION['code'] != $_POST['verif']) exit("Erreur les valeurs sont différentes !");
$exp = $_POST['mail'];
$objet = stripslashes($_POST['objet']);
$msg = stripslashes($_POST['msg']);
$envoi=mail("[email protected]", $objet, $msg,"From: $exp\r\n"."Reply-To: $exp\r\n");
if($envoi) echo" Le mail a bien été envoyé, vous recevrez une réponse très prochainement!";
else echo"L'envoi a échoué, merci de renouveler l'opération !";
session_unset();
session_destroy();
?>
Quand je remplis de formulaire et que le code n'est pas identique à l'image générée de façon aléatoire, une nouvelle fenêtre s'ouvre (une page blanche) avec comme texte: " Erreur les valeurs sont différentes !"
Je voudrais que ce texte ne s'affiche pas dans une nouvelle fenêtre mais dans un message box et que le fait de fermer ce message box rafraîchisse mon " formulaire.html" comme quand j'appuis sur F5 (les champs restent renseignés mais l'image aléatoire change).
J'aimerais aussi placer un petit bouton à côté de l'image aléatoire de manière à la changer en cas de problème de lecture (fonction identique à F5 mais placé à côté de l'image.)
Enfin, si le code renseigné dans le champ de mon formulaire est identique à l'image aléatoire, le mail est envoyé, une nouvelle fenêtre s'ouvre (une page blanche) avec comme texte:
"Le mail a bien été envoyé, vous recevrez une réponse très prochainement!"
Je voudrais que ce texte ne s'affiche pas dans une nouvelle fenêtre mais dans un message box (comme pour le cas ou le code est mauvais) et que le fait de fermer ce message box ferme la page formulaire et me ramène à la page d'accueil de mon site.
J'ai essayé plusieurs choses avec des morceaux de code trouvé ici et là, mais rien de concluant!
Si quelqu'un pouvait m'aider, je lui en serais très reconnaissant!
Merci d'avance.
Philippe