Ajouter champ obligatoire page contact ?

15 messages dans ce sujet

Posté(e) · Signaler ce message

Bonsoir à tous.

Dans ma page contact.php j'aimerais ajouter un champ obligatoire "Code Postal".

Quelqu'un aurait-il une solution ?

Par avance merci de vos réponses.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu veux dire la page utilisateurs/contact.php ou bien contacts.php ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu veux dire la page utilisateurs/contact.php ou bien contacts.php ?

utilisateurs/contact.php

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

alors, alors

tout simplement pourquoi ne pas s'inspirer de ce qui est déjà fait dans utilistateurs/enregistrement.php

n.b : ne pas oublier de créer le champ code_postal dans la table peel_tickets

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

alors, alors

tout simplement pourquoi ne pas s'inspirer de ce qui est déjà fait dans utilistateurs/enregistrement.php

n.b : ne pas oublier de créer le champ code_postal dans la table peel_tickets

Je veux bien mais quelles lignes de code reprendre...?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

le code correspondant au code postal

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonsoir à tous,

Je viens de rajouter le champs obligatoire "Société" dans le formulaire /utilisateurs/contact.php et tout fonctionne correctement sauf un bug qui fait que lorsque je reçois le mail de contact, le titre est toujours : "prise de contact numéro 0".

Comment faire pour que l'incrément du numéro reprenne ?

Voici le code concerné :

function valide_form(&$frm, &$erreurs) {
/* Valide le formulaire d'inscription et renvoie éventuellement un message d'erreur */

$erreurs = array();
$msg = array();

if (empty($frm['nom'])) {
$erreurs['nom'] = true;
$msg['nom'] = stripslashes(MSG_ERR_NAME);

}

if (empty($frm['email'])) {
$erreurs['email'] = true;
$msg['email'] = stripslashes(MSG_ERR_EMAIL);
}
elseif (!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$`',$frm['email'])) {
$erreurs['email'] = true;
$msg['email'] = stripslashes(ERR_EMAIL_BAD);
}

if (empty($frm['telephone'])) {
$erreurs['telephone'] = true;
$msg['telephone'] = stripslashes(MSG_ERR_TEL);

}

if (empty($frm['societe'])) {
$erreurs['societe'] = true;
$msg['societe'] = stripslashes(MSG_ERR_SOCIETE);

}

return $msg;
}

function insere_utilisateur(&$frm) {
global $support;
global $site;
$sql = "
INSERT INTO peel_tickets (
email
, societe
, nom
, telephone
, texte
, dispo
, datetime
) VALUES (
'$frm[email]'
,'".htmlspecialchars($frm['societe'],ENT_QUOTES)."'
,'".htmlspecialchars($frm['nom'],ENT_QUOTES)."'
,'$frm[telephone]'
,'".htmlspecialchars($frm['texte'],ENT_QUOTES)."'
,'".htmlspecialchars($frm['dispo'],ENT_QUOTES)."'
,now()
)";

/* Ajoute le nouvel utilisateur à la base */
$qid = mysql_query($sql);

$ticket_id = mysql_insert_id();

$message = "Détail du message envoyé le ".date("d-m-Y H:i:s \n\n");
$message .= "Societe : ".$frm['societe']."\n\n";
$message .= "Nom : ".$frm['nom']."\n\n";
$message .= "Tel : ".$frm['telephone']."\n\n";
$message .= "Email : ".$frm['email']."\n\n";
$message .= "Disponibilité : ".$frm['dispo']."\n\n";
$message .= "Message :\n\r\n\r ".stripslashes($frm['texte'])."\n\n";

mail($support,"[$site] prise de contact numéro $ticket_id",$message,"FROM: $frm[email]");
}

function affiche_formulaire_enregistrement() {
GLOBAL $frm, $erreurs, $message_erreur, $wwwroot, $site;
$marqueur_erreur = "<font color=RED>".htmlspecialchars("<=")."</font>";

echo "<h2>TraçaMatrix - demande d'informations / offres de prix</h2>";

?>
<div id="contact">
<form name="entryform" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">

<table cellpadding="5" cellspacing="0" width="100%" border="0">
<tr>
<td>
<label for="name"><?php echo SOCIETE; ?> <span class="etoile">(*)</span> :</label>
</td>
<td>
<input type="text" name="societe" value="<?php echo stripslashes(vb($frm['societe'])) ?>">
<p class="notice">
<?php if (isset($erreurs['societe'])) echo $marqueur_erreur." ".$message_erreur['societe'] ?>
</p></td>
</tr>
<tr>
<td>
<label for="name"><?php echo NAME; ?> <span class="etoile">(*)</span> :</label>
</td>
<td>
<input type="text" name="nom" value="<?php echo stripslashes(vb($frm['nom'])) ?>">
<p class="notice">
<?php if (isset($erreurs['nom'])) echo $marqueur_erreur." ".$message_erreur['nom'] ?>
</p></td>
</tr>
<tr><td>
<label for="email"><?php echo EMAIL; ?> <span class="etoile">(*)</span> :</label>
</td><td>
<input type="text" name="email" value="<?php echo stripslashes(vb($frm['email']))?>">
<p class="notice"><?php if (isset($erreurs['email'])) echo $marqueur_erreur." ".$message_erreur['email'] ?></p>
</td></tr>
<tr><td>
<label for="telephone"><?php echo TELEPHONE; ?> <span class="etoile">(*)</span> :</label>
</td><td>
<input type="text" name="telephone" value="<?php echo vb($frm['telephone']) ?>">
<p class="notice"><?php if (isset($erreurs['telephone'])) echo $marqueur_erreur." ".$message_erreur['telephone'] ?></p>
</td></tr>
<tr>
<td colspsan="2"><label for="texte"><?php echo TEXTE; ?> :</label></td>
</tr>
<tr>
<td colspan="2">
<?php

if (isset($_GET['id'])) {

$resProd = mysql_query("select reference, nom_".$_SESSION['langue']." as produit FROM peel_produits WHERE id = '".intval($_GET['id'])."'");

$Prod = mysql_fetch_object($resProd);

$reference = $Prod->reference;

$produit = $Prod->produit;

}
[/codebox]

Est-ce que quelqu'un voit où est situé le bug ?

Merci par avance

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui

le champs id de la table ticket n'est pas en autoincrement.

Du coup, que dois-je modifier ou ajouter, et à quel endroit ?

Merci par avance

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

il faut le modifier dans la base mysql.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je ne comprends par car, d'origine, la fonction incrément en auto du n° de mail est activée. J'ai juste modifié le fichier /utilisateur/contact.php pour rajouter le champs obligatoire "société". Si j'annule cette modif, l'incrément redémarre où il s'était arrêté, sans modifier d'autres fichiers.

Etes vous sûr que je dois modifier "la base mysql" ? Si oui, ça correspond à quel fichier ? Et quel est le code à modifier ?

Merci beaucoup pour votre aide

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Dans ce cas c'est que votre requete ne fonctionne pas correctement, malgré l'envoi du mail. Avez vous rajouté un champ societe dans la table peel_tickets ?

Bonjour Eric,

Effectivement, j'ai rajouté un champ societe dans le fichier utilisateur/contact.php et à plusieurs endroits :

1. dans "function valide_form(&$frm, &$erreurs) {"

} 

if (empty($frm['societe'])) {
$erreurs['societe'] = true;
$msg['societe'] = stripslashes(MSG_ERR_SOCIETE);

} [/codebox]

2.

[codebox]function insere_utilisateur(&$frm) {
global $support;
global $site;
$sql = "
INSERT INTO peel_tickets (
email
, societe
, nom
, telephone
, texte
, dispo
, datetime
) VALUES (
'$frm[email]'
,'".htmlspecialchars($frm['societe'],ENT_QUOTES)."'
,'".htmlspecialchars($frm['nom'],ENT_QUOTES)."'
,'$frm[telephone]'
,'".htmlspecialchars($frm['texte'],ENT_QUOTES)."'
,'".htmlspecialchars($frm['dispo'],ENT_QUOTES)."'
,now()
)";

3.

	$qid = mysql_query($sql);

$ticket_id = mysql_insert_id();

$message = "Détail du message envoyé le ".date("d-m-Y H:i:s \n\n");
$message .= "Societe : ".$frm['societe']."\n\n";
$message .= "Nom : ".$frm['nom']."\n\n";
$message .= "Tel : ".$frm['telephone']."\n\n";
$message .= "Email : ".$frm['email']."\n\n";
$message .= "Disponibilité : ".$frm['dispo']."\n\n";
$message .= "Message :\n\r\n\r ".stripslashes($frm['texte'])."\n\n";

mail($support,"[$site] prise de contact numéro $ticket_id",$message,"FROM: $frm[email]");
}[/codebox]

4.

[codebox]<div id="contact">
<form name="entryform" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">

<table cellpadding="5" cellspacing="0" width="100%" border="0">
<tr>
<td>
<label for="name"><?php echo SOCIETE; ?> <span class="etoile">(*)</span> :</label>
</td>
<td>
<input type="text" name="societe" value="<?php echo stripslashes(vb($frm['societe'])) ?>">
<p class="notice">
<?php if (isset($erreurs['societe'])) echo $marqueur_erreur." ".$message_erreur['societe'] ?>
</p></td>
</tr>
<tr>
<td>

Est-ce que vous voyez une erreur dans ces codes ? Ou des modifs à effectuer ?

Merci par avance

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci beaucoup Eric !

Grâce à vous j'ai appris à bidouiller ma base de donnée... ET CA MARCHE ! :mellow:

Merci encore et à une prochaine

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping