Création de cookie après avoir complété un formulaire
cs_ikaros
Messages postés6Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention14 mai 2005
-
15 déc. 2004 à 17:14
cs_ikaros
Messages postés6Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention14 mai 2005
-
16 déc. 2004 à 09:11
Bonjour,
Je voudrais qu'un cookie soit créé après qu'un formulaire ait été complété et qu'une base de données ait été mise à jour. J'ai mis l'instruction setcookie() dans mon code mais il ne fonctionne que sur mon serveur de test. Ca ne marche pas sur le site en ligne. J'ai bien lu qu'il fallait mettre l'instruction setcookie() avant toute autre instruction mais je ne vois pas comment faire dans ce cas ci.
Donc, si quelqu'un a le courage de lire mon code et me dire ce qui ne va pas........
$mailto=$_POST['EMail'];
$mailsubject= "Confirmation de la question posée sur le site de Pro-Noni.";
$mailheaders= "MIME-Version: 1.0\r\n";
$mailheaders .="To: "$FirstName" "$FamilyName" <$EMail>\r\n";
$mailheaders .="From: Pro-Noni <contact@domain>\r\n";
$mailheaders .="Bcc: contact@domain\r\n";
$mailmessage = "Cher(e) $FirstName $FamilyName,
Nous vous remercions d'avoir rempli le formulaire sur le site de Pro-Noni.
Voici la confirmation des données que vous avez introduites:
Prénom : $FirstName
Nom de famille : $FamilyName
Pays : $Country
Téléphone : $DaytimePhone
Fax : $Fax
E-Mail : $EMail
Votre question : $Question
Nous nous efforcerons de vous répondre endéans 1 journée ouvrable.
Le temps de réponse peut varier en fonction de la zone horaire applicable.
Pro-Noni";
if (mail($mailto,$mailsubject,$mailmessage,$mailheaders)) {
$form="
Cher(e) $FirstName $FamilyName,
Merci d'avoir rempli notre formulaire.
Un accusé de réception a été envoyé à l'adresse E-Mail que vous avez mentionnée.
Pro-Noni.
";
}
else {
$form="L'accusé de réception n'a pas pu être envoyé à $FirstName $FamilyName.
";
}
//Création de l'enregistrement dans la base de données
$Date=date("Y-m-d");
$link=mysql_connect("localhost","dbuser","dbpass")or die("Impossible de se connecter : " . mysql_error());
$db=mysql_select_db("db",$link);
$sql="INSERT INTO Contacts VALUES(0,"$FirstName","$FamilyName","","","","","$Country","$DaytimePhone","","","$Fax","$EMail","","FR","$Date")";
$res=mysql_query($sql,$link);
$sql="SELECT ID from Contacts WHERE FirstName="$FirstName" AND FamilyName="$FamilyName" AND Date="$Date"";
$res=mysql_query($sql,$link);
$ContactID=mysql_result($res,0);
$sql="INSERT INTO Queries VALUES(0,"$ContactID","$Question","$Date")";
$res=mysql_query($sql,$link);
mysql_close($link);
//Création Cookie
if (!isset($HTTP_COOKIE_VARS['user'])) {
setcookie("user", $ContactID, time() + 315360000);
}
}
}
else {
//Initialisation variables pour premier affichage du formulaire
if (isset($HTTP_COOKIE_VARS['user'])) {
$ContactID=$HTTP_COOKIE_VARS['user'];
$link=mysql_connect("localhost","dbuser","dbpass")or die("Impossible de se connecter : " . mysql_error());
$db=mysql_select_db("db",$link);
$sql="SELECT * from Contacts WHERE ID="$ContactID"";
$res=mysql_query($sql,$link);
$form="";
$FirstName=mysql_result($res,0,"FirstName");
$FamilyName=mysql_result($res,0,"FamilyName");
$Country=mysql_result($res,0,"Country");
$DaytimePhone=mysql_result($res,0,"DaytimePhone");
$Fax=mysql_result($res,0,"Fax");
$EMail=mysql_result($res,0,"E-Mail");
$Language=mysql_result($res,0,"Language");
$Question="";
mysql_close($link);
}
else {
$form="";
$FirstName="";
$FamilyName="";
$Country="";
$DaytimePhone="";
$Fax="";
$EMail="";
$Language="";
$Question="";
}