Bonjour à toute la communauté de Code-Source, je débute depuis peu en programmation web (HTML, PHP, Javascript, CSS). Je fais un site web et dans celui-ci, j'ai un formulaire de réservation d'article et donc je récupère les nom, prénom, adresse, ville, code postal, etc... et dans la page d'après (celle sur laquelle pointe le formulaire) qui me sert à vérifier si tous les champs sont remplis, j'en inclue une qui m'affiche tous les renseignements afin que le visiteur voie si il a fait une erreur ou non. C'est donc à ce moment là que si un des champs remplis auparavant contenait un apostrophe " ' ", celui-ci s'ffiche dans le mot comme ceci : " \' ".
J'ai cherché sur internet et notre ami commun GOOGLE et j'ai trouvé plein de petites astuces que j'ai essayé mais qui non pas portées leurs fruits.
Je compte donc sur vous pour me dire ce qui pourrait ne pas aller dans mon code.
Je vous remercie par avance de toute l'attention que vous apporterez à mon problème.
l'entête de mon site: <head>
.....
<meta http-equiv="content-type" content="text/html; charset = ISO-8859-1">
.....
</head>
la page de formulaire:<!--Fonction de calcul du prix total de la commande en javascript-->
<script language="javascript">
function calcul2(){
document.formpromo.prixttc.value=Math.round(Number(document.formpromo.prixart.value)*Number(document.formpromo.quantachat.value)*100)/100;
}
function addslashes(ch) {
ch = ch.replace(/\\/g,"\\\\");
ch = ch.replace(/\'/g,"\\'");
ch = ch.replace(/\"/g,"\\\"");
return ch;
}
</script>
<!--Formulaire de bon de commande de l'article en promotion-->
<table style="width:100%; height:100%;">
<tr style="height:10%;">
<td colspan=3>
<h1 style="color: #000000;">Formulaire de réservation pour l'article de la</br> "PROMO du MOMENT".</h1>
</td>
</tr>
<tr>
<td colspan=3>
<h2 style="color:red;">Le ou les articles commandés ne seront pas livrés à domicile,
vous devrez venir les retirer au magasin. </h2>
</td>
</tr>
<tr>
<td colspan=3>
<h4>Tous les champs suivants sont à remplir obligatoirement<h4>
</td>
</tr>
<form method=POST action="index.php?rubrique=1111" class="formpromo" name="formpromo">
<tr>
<td class="form" width="35%">
Nom :
</td>
<td width="45%">
<input type="text" class="texte" name="nomachat" onkeyup="addslaches(document.formpromo.nomachat.value);" id="nom" value=<?php if(isset($_POST['nom'])){ echo $_POST['nom'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Prénom :
</td>
<td>
<input type="text" class="texte" name="prenomachat" id="prenom" value=<?php if(isset($_POST['prenom'])){ echo $_POST['prenom'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Adresse :
</td>
<td>
<input type="text" class="texte" name="adresseachat" id="adresse" value=<?php if(isset($_POST['adresse'])){ echo $_POST['adresse'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Code Postal :
</td>
<td>
<input type="text" class="texte" name="codpostachat" id="codpost" value=<?php if(isset($_POST['codpost'])){ echo $_POST['codpost'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Ville :
</td>
<td>
<input type="text" class="texte" name="vilachat" id="ville" value=<?php if(isset($_POST['ville'])){ echo $_POST['ville'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
E-mail :
</td>
<td>
<input type="text" class="texte" name="mailachat" id="mail" value=<?php if(isset($_POST['mail'])){ echo $_POST['mail'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Article promotion :
</td>
<td>
<?php
include('connect.inc.php');
$query="SELECT Id_Objet, Nom_Objet FROM article_promo ORDER BY Id_Objet DESC";
$result=mysql_query($query) or die (mysql_error());
$ligne=mysql_fetch_assoc($result);
echo $ligne['Nom_Objet'];
?>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Prix TTC pour 1 article en ¤ :
</td>
<td>
<input type="text" class="promo" name="prixart" value=<?php
$query="SELECT Id_Objet, Prix_Objet FROM article_promo ORDER BY Id_Objet DESC";
$result=mysql_query($query) or die (mysql_error());
$prix=mysql_fetch_assoc($result);
echo $prix['Prix_Objet'];
?> id="prix1art" onkeyup="calcul2();" READONLY = "true" >
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Quantité désirée :
</td>
<td>
<input type="text" class="texte" name="quantachat" onkeyup="calcul2();" id="quant" value=<?php if(isset($_POST['quantite'])){ echo $_POST['quantite'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td class="form">
Prix TTC total de la commande en ¤ :
</td>
<td>
<input type="text" class="promo" name="prixttc" onkeyup="calcul2();" READONLY = "true" id="prixtot" value=<?php if(isset($_POST['total'])){ echo $_POST['total'];}else echo " "; ?>>
</td>
<td>
</td>
</tr>
<tr>
<td colspan=3 align=center>
<input type='image' name='envoyer' src='Image/bouton_envoie.gif' />
</td>
</tr>
</form>
</table>
la page de vérification:<table style="width:30%; height:30%;" align=center>
<form method=post name="formmail">
<tr>
<td>
<?php
$nomacheteur = htmlentities($_POST['nomachat'], ENT_QUOTES);
$prenomacheteur = htmlentities($_POST['prenomachat'], ENT_QUOTES);
$adresseacheteur = htmlentities($_POST['adresseachat'], ENT_QUOTES);
$vilacheteur = htmlentities($_POST['vilachat'], ENT_QUOTES);
$nomacheteur = str_replace ( "'", " \' ", $nomacheteur);
$prenomacheteur = str_replace ( "'", " \' ", $prenomacheteur);
$adresseacheteur = str_replace ( "'", " \' ", $adresseacheteur);
$vilacheteur = str_replace ( "'", " \' ", $vilacheteur);
$nomacheteur = str_replace ( " ", " ", $nomacheteur);
$prenomacheteur = str_replace ( " ", " ", $prenomacheteur);
$adresseacheteur = str_replace ( " ", " ", $adresseacheteur);
$vilacheteur = str_replace ( " ", " ", $vilacheteur);
echo '<script type="text/javascript" language="javascript">alert("'.$nomacheteur.'");</script>';
if ($_POST['nomachat']!=NULL){
if ($_POST['prenomachat']!=NULL){
if ($_POST['adresseachat']!=NULL){
if ($_POST['codpostachat']!=NULL){
if ($_POST['vilachat']!=NULL){
if ($_POST['mailachat']!=NULL){
if ($_POST['quantachat']!=NULL){
include 'traitementform.php';
}
else{
echo '<script type="text/javascript" language="javascript">alert("Quantitée non saisie");</script>' ;
echo "Cliquez sur \"Retour\" pour pouvoir resaisir votre bon de réservation.";
}
}
else{
echo '<script type="text/javascript" language="javascript">alert("Mail non saisi");</script>';
echo "Cliquez sur \"Retour\" pour pouvoir resaisir votre bon de réservation.";
}
}
else{
echo '<script type="text/javascript" language="javascript">alert("Ville non saisie");</script>';
echo "Cliquez sur \"Retour\" pour pouvoir resaisir votre bon de réservation.";
}
}
else{
echo '<script type="text/javascript" language="javascript">alert("Code postal non saisi");</script>';
echo "Cliquez sur \"Retour\" pour pouvoir resaisir votre bon de réservation.";
}
}
else{
echo '<script type="text/javascript" language="javascript">alert("Adresse non saisie");</script>';
echo "Cliquez sur \"Retour\" pour pouvoir resaisir votre bon de réservation.";
}
}
else{
echo '<script type="text/javascript" language="javascript">alert("Prénom non saisi");</script>';
echo "Cliquez sur \"Retour\" pour pouvoir resaisir votre bon de réservation.";
}
}
else{
echo '<script type="text/javascript" language="javascript">alert("Nom non saisi");</script>';
echo "Cliquez sur \"Retour\" pour pouvoir resaisir votre bon de réservation.";
}
?>
<input type="hidden" name="nom" value=<?php echo $nomacheteur; ?>>
<input type="hidden" name="prenom" value=<?php echo $prenomacheteur; ?>>
<input type="hidden" name="adresse" value=<?php echo $adresseacheteur; ?>>
<input type="hidden" name="codpost" value=<?php echo $_POST['codpostachat']; ?>>
<input type="hidden" name="ville" value=<?php echo $vilacheteur; ?>>
<input type="hidden" name="mail" value=<?php echo $_POST['mailachat']; ?>>
<input type="hidden" name="quantite" value=<?php echo $_POST['quantachat']; ?>>
<input type="hidden" name="total" value=<?php echo $_POST['prixttc']; ?>>
</td>
</tr>
<tr>
<td>
<input type='image' name='envoyer' src='Image/bouton_retour.gif' Onclick="javascript:document.formmail.action = 'index.php?rubrique=111'" />
<input type='image' name='confirme' src='Image/bouton_confirme.gif' Onclick="javascript:document.formmail.action = 'email.php'" />
</td>
</tr>
</form>
</table>
et enfin la page insérée dans celle de vérification et qui affiche la récapitulation:<?php
/*Formulaire récapitulatif des renseignements rentrés par l'internaute dans le formulaire de bon de commande.
Il est obligatoire d'imprimer ce récapitulatif avant de confirmer la commande.
Il est toujours possible d'annuler en faisant retour.*/
echo $nomacheteur." ".$prenomacheteur."</td> </tr>";
echo "<tr> <td>";
echo $adresseacheteur."</td> </tr>";
echo "<tr> <td>";
echo $_POST['codpostachat']." ".$vilacheteur."</td> </tr>";
echo "<tr> <td>";
echo $_POST['mailachat']."</td> </tr>";
echo "<tr> <td>";
include('connect.inc.php');
$query="SELECT Id_Objet, Nom_Objet FROM article_promo ORDER BY Id_Objet DESC";
$result=mysql_query($query) or die (mysql_error());
$ligne=mysql_fetch_assoc($result);
echo $ligne['Nom_Objet']."</td> </tr>";
echo "<tr> <td>";
echo $_POST['prixart']." ¤ / unité TTC"."</td> </tr>";
echo "<tr> <td>";
echo $_POST['quantachat']." pièce(s) commandée(s)"."</td> </tr>";
echo "<tr> <td>";
echo $_POST['prixttc']." ¤ TTC pour votre commande";
?>
<input type="hidden" name="nom" value=<?php echo $nomacheteur; ?>>
<input type="hidden" name="prenom" value=<?php echo $prenomacheteur; ?>>
<input type="hidden" name="adresse" value=<?php echo $adresseacheteur; ?>>
<input type="hidden" name="codpost" value=<?php echo $_POST['codpostachat']; ?>>
<input type="hidden" name="ville" value=<?php echo $vilacheteur; ?>>
<input type="hidden" name="mail" value=<?php echo $_POST['mailachat']; ?>>
<input type="hidden" name="quantite" value=<?php echo $_POST['quantachat']; ?>>
<input type="hidden" name="total" value=<?php echo $_POST['prixttc']; ?>>