8798 sujets
je l'affiche sous mon input
bon on va encore se ****** de moi, alors j'ai tenté le code :
En chargant le formulaire, le message d'erreur s'affiche directement
, voici le message: title="Veuillez entrer un mail valide" />
Bref les 2 tests empty et synthaxe correcte s'affichent en même temps.
... d'un autre côté je vois bien qu'avec un code pareil, ça peut pas être autrement ...
Modifié par pp51 (22 Mar 2007 - 16:32)

bon on va encore se ****** de moi, alors j'ai tenté le code :
<label for="email">Votre e-mail *</label>
<input class="textfield" type="text" name="email" id="email"<?php
if(isset($affich['email']))
echo ' value="', $affich['email'], '"';
?> title="Veuillez entrer votre e-mail" />
<?php
if(isset($Eemail))
echo $Eemail;
?>
<?php
if(isset($affich['email']))
echo ' value="', $affich['email'], '"';
?> title="Veuillez entrer un mail valide" />
<?php
if(isset($Eemailfaux))
echo $Eemailfaux;
?>
En chargant le formulaire, le message d'erreur s'affiche directement

Bref les 2 tests empty et synthaxe correcte s'affichent en même temps.
... d'un autre côté je vois bien qu'avec un code pareil, ça peut pas être autrement ...
Modifié par pp51 (22 Mar 2007 - 16:32)
Je vais te faire passer une soirée plus agréable, je viens de trouver... coup de bol sans doute, mais ça marche
C'était bête comme choux
Bon si je continue dans ma quête de champs vérifiés, il me reste la date de naissance: je voudrai le format jj/mm/aaaa
Pour le code postal, étant donné que je reçois aussi des demandes de l'étranger, je ne souhaite pas avoir un contrôle sur 5 chiffres.
Tu vois autre chose à contrôler ?
PS: j'ai trouvé le code suivant pour le contrôle de la date
Qu'en penses-tu ? Ca a pas l'air de filtrer si tu mets 32/13/1800
Modifié par pp51 (23 Mar 2007 - 15:48)

C'était bête comme choux

<label for="email">Votre e-mail *</label>
<input class="textfield" type="text" name="email" id="email"<?php
if(isset($affich['email']))
echo ' value="', $affich['email'], '"';
?> title="Veuillez entrer votre e-mail" />
<?php
if(isset($Eemail))
echo $Eemail;
[b]echo $Eemailfaux;[/b]
?>
Bon si je continue dans ma quête de champs vérifiés, il me reste la date de naissance: je voudrai le format jj/mm/aaaa
Pour le code postal, étant donné que je reçois aussi des demandes de l'étranger, je ne souhaite pas avoir un contrôle sur 5 chiffres.
Tu vois autre chose à contrôler ?
PS: j'ai trouvé le code suivant pour le contrôle de la date
//fonction de vérification date de naissance sous format 07/01/1977
function verifdate($date)
{
$date=trim($date);
$date=strtolower($date);
if(eregi("^([0-9]{2})/([0-9]{2})/([0-9]{4})$",$date))
{
return true;
}
else
{
return false;
}
}
Qu'en penses-tu ? Ca a pas l'air de filtrer si tu mets 32/13/1800
Modifié par pp51 (23 Mar 2007 - 15:48)
Salut
Bon j'essaye maintenant d'enregistrer les données dans ma BDD en localhost.
Quand je charge le formulaire, j'ai un enregistrement vide d'office de tous les champs...
Ensuite quand je rentre des données, ça n'enregistre que 2 champs sur 9: prénom et email...
Je remets l'ensemble du code du formulaire, avec en gras en bas le code ajouté pour enregistrer les résultats dans ma BDD
Quelqu'un comprend pourquoi je ne récupère que 2 données ???
Je remets par hasard aussi le php
Modifié par pp51 (23 Mar 2007 - 22:56)

Bon j'essaye maintenant d'enregistrer les données dans ma BDD en localhost.
Quand je charge le formulaire, j'ai un enregistrement vide d'office de tous les champs...
Ensuite quand je rentre des données, ça n'enregistre que 2 champs sur 9: prénom et email...
Je remets l'ensemble du code du formulaire, avec en gras en bas le code ajouté pour enregistrer les résultats dans ma BDD
<div id="formulaire">
<form method="post" action="<?php htmlspecialchars($PHP_SELF); ?>">
<fieldset>
<legend>Vos coordonnées</legend>
<div>
<label for="nom">Votre nom *</label>
<input class="textfield" type="text" name="nom" id="nom"<?php
// Si un nom a été envoyé et qu'on réaffiche le formulaire
// on ajoute la valeur en enlevant les caractères d'échappement
if(isset($affich['nom']))
echo ' value="', $affich['nom'], '"';
?> title="Veuillez entrer votre nom" />
<?php
// Si une erreur existe
// on l'affiche
if(isset($Enom))
echo $Enom;
?>
</div>
<div>
<label for="prenom">Votre prénom *</label>
<input class="textfield" type="text" name="prenom" id="prenom"<?php
if(isset($affich['prenom']))
echo ' value="', $affich['prenom'], '"';
?> title="Veuillez entrer votre prénom" />
<?php
if(isset($Eprenom))
echo $Eprenom;
?>
</div>
<div>
<label for="email">Votre e-mail *</label>
<input class="textfield" type="text" name="email" id="email"<?php
if(isset($affich['email']))
echo ' value="', $affich['email'], '"';
?> title="Veuillez entrer votre e-mail" />
<?php
if(isset($Eemail))
echo $Eemail;
echo $Eemailfaux;
?>
</div>
<div>
<label for="ville">Votre ville *</label>
<input class="textfield" type="text" name="ville" id="ville"<?php
if(isset($affich['ville']))
echo ' value="' . $affich['ville'] . '"';
?> title="Veuillez entrer votre ville" />
<?php
if(isset($Eville))
echo $Eville;
?>
</div>
<div>
<label for="cp">Votre code postal *</label>
<input class="textfield" type="text" name="cp" id="cp"<?php
if(isset($affich['cp']))
echo ' value="' . $affich['cp'] .'"';
?> title="Veuillez entrer votre code postal" />
<?php
if(isset($Ecp))
echo $Ecp;
?>
</div>
<div>
<label for="date_mariage">Date de votre mariage</label>
<input class="textfield" type="text" name="date_mariage" id="date_mariage"<?php
if(isset($affich['date_mariage']))
echo ' value="' . $affich['date_mariage'] . '"';
?> title="Veuillez entrer la date de votre mariage" />
</div>
</fieldset>
<fieldset>
<legend>Votre message</legend>
<div>
<label for="contenu">A vous la parole</label>
<textarea name="contenu" cols="41" rows="4" id="contenu" title="Veuillez entrez ici votre message"><?php
echo $affich['contenu'];
?></textarea>
</div>
<fieldset>
<div id="news">
<p id="newsletter">Je souhaite recevoir la newsletter Princesse d'un Jour pour être informé(e) en exclusivité des nouveaux modèles</p>
<input type="radio" name="newsletter" value="oui"<?php
if(isset($newsletter) && $newsletter === 'oui')
echo ' checked="checked"';
?> /> oui
<input type="radio" name="newsletter" value="non"<?php
if(isset($newsletter) && $newsletter === 'non')
echo ' checked="checked"';
?> /> non
<?php
if(isset($Enewsletter))
echo $Enewsletter;
?>
</div>
</fieldset>
<div id="envoyer">
<input type="image" alt="Envoyer" src="images/submit.gif" />
<input type="hidden" name="action" value="envoyer" />
<input type="hidden" name="token" value="<?php
$token = md5(uniqid(rand(), true)); // On crée un identifiant aléatoire
$_SESSION['token'] = $token; // On l'affecte à la session
echo $token; // et on l'affiche dans le formulaire
?>" />
[b]<?php
$liendb = mysql_connect("localhost", "root", "");
mysql_select_db ("test");
$sql = "INSERT INTO pdv (nom, prenom, email, ville, cp, mariage, contenu, newsletter)
VALUES ('".$REQUEST['nom']."', '".$_REQUEST ['prenom']."', '".$_REQUEST ['email']."', '".$REQUEST ['ville']."', '".$REQUEST ['cp']."', '".$REQUEST ['mariage']."', '".$REQUEST ['contenu']."', '".$REQUEST ['newsletter']."')";
if (mysql_query($sql)!=false) {
$idpdv= mysql_insert_id();
print("pdv [$idpdv] < ".$_REQUEST['nom']." > enregistré.");
}
else
print("Echec lors de la création du pdv.");
mysql_close($liendb);
?>
[/b]
Quelqu'un comprend pourquoi je ne récupère que 2 données ???

Je remets par hasard aussi le php
<?php
header('Content-type: text/html; charset=iso-8859-1'); // on indique l'encodage de la page
session_start(); // On démarre la session
// S'il y a des données envoyées par le formulaire affiché
// dans la session courante et que son identifiant correspond
// à celui de la session
if(isset($_POST['token']) && $_POST['token'] === $_SESSION['token'])
{
$affich = array(); // On crée un tableau pour recevoir les données à afficher
isset($_POST['nom']) && trim($_POST['nom']) != '' ? // Si un nom existe et s'il n'est pas nulle
$affich['nom'] = htmlspecialchars($_POST['nom']) : // On supprime les caractères html
$Enom = '<p class="error">Veuillez indiquer votre nom</p>'; // sinon on crée une erreur
isset($_POST['prenom']) && trim($_POST['prenom']) != '' ?
$affich['prenom'] = htmlspecialchars($_POST['prenom']) :
$Eprenom = '<p class="error">Veuillez indiquer votre prénom</p>';
if(($_POST['email']) && trim($_POST['email']) != '') //Si le champ est rempli
{
if(preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`', $_POST['email']))
{
$affich['email'] = htmlspecialchars($_POST['email']); // on enregistre la donnée
}
else
{
$Eemailfaux = '<p class="error">Veuillez indiquer un email valide</p>'; //on prépare un message comme quoi l'email est incorrect
}
}
else
{
$Eemail = '<p class="error">Veuillez indiquer votre email</p>'; // on prépare un message comme quoi le champ est vide
}
isset($_POST['ville']) && trim($_POST['ville']) != '' ?
$affich['ville'] = htmlspecialchars($_POST['ville']) :
$Eville = '<p class="error">Veuillez indiquer votre ville</p>';
isset($_POST['cp']) && trim($_POST['cp']) != '' ?
$affich['cp'] = htmlspecialchars($_POST['cp']) :
$Ecp = '<p class="error">Veuillez indiquer votre code postal</p>';
if(isset($_POST['date_mariage']) && trim($_POST['date_mariage']) != '')
$affich['date_mariage'] = htmlspecialchars($_POST['date_mariage']);
if(isset($_POST['contenu']) && trim($_POST['contenu']) != '')
$affich['contenu'] = htmlspecialchars($_POST['contenu']);
isset($_POST['newsletter']) && // Si la valeur 'newsletter' existe et
($_POST['newsletter'] === 'oui' || $_POST['newsletter'] === 'non') ? // Si la valeur est 'oui' ou 'non'
$affich['newsletter'] = htmlspecialchars($_POST['newsletter']) :
$Enewsletter = '<p class="error1">Veuillez indiquer si vous souhaitez recevoir notre newsletter</p>';
if(get_magic_quotes_gpc) // Si les magic_quotes sont activées
foreach($affich as $key => $value) // Pour chaque élément du tableau $affich
$affich[$key] = stripslashes($value); // On supprime les caractères d'échappement
if(!empty($affich['nom']) && !empty($affich['prenom']) && !empty($affich['email']) &&
!empty($affich['ville']) && !empty($affich['cp']) && !empty($affich['newsletter']))
{
$destinataire = 'aa@bb.fr';
$titre = 'Demande de points de vente';
$headers = 'From: ' . $affich['email'] . ' <' . $affich['email'] .'>'."\r\n";
$message = '';
$message .= 'nom: ' . $affich['nom'] . "\n";
$message .= 'prenom: ' . $affich['prenom'] . "\n";
$message .= 'email: ' . $affich['email'] . "\n";
$message .= 'ville: ' . $affich['ville'] . "\n";
$message .= 'cp: ' . $affich['cp'] . "\n";
$message .= 'mariage: ' . $affich['date_mariage'] . "\n";
$message .= 'contenu: ' . $affich['contenu'] . "\n";
$message .= 'newsletter: ' . $affich['newsletter'] . "\n";
if(mail($destinataire, $titre, $message, $headers))
header('Location: confirmation.php');
}
}
?>
Modifié par pp51 (23 Mar 2007 - 22:56)


J'ai essayé avec ça
<input type="hidden" name="date" value="<?php $date = date("d-m-Y");?>" />
en l'incluant aussi ici
$sql = "INSERT INTO pdv (date, nom, prenom, email, ville, cp, mariage, contenu, newsletter)
VALUES ('".$_REQUEST ['date']."', '".$_REQUEST ['nom']."', '".$_REQUEST ['prenom']."', '".$_REQUEST ['email']."', '".$_REQUEST ['ville']."', '".$_REQUEST ['cp']."', '".$_REQUEST ['date_mariage']."', '".$_REQUEST ['contenu']."', '".$_REQUEST ['newsletter']."')";
Mais la date stockée dans la BDD reste 0000-00-00
Je croyais que le code
<?php $date = date("d-m-Y");?>
permettait justement de définir la date du jour non ?
Dis seulement une parole et je serai



erf... C'est que PHP, c'est pas vraiment ma spécialité, hein...
Pour :

Pour :
$date = date("d-m-Y");
oui, c'est ok mais là tu me dis que ta date est figée sur 0000-00-00 alors que normalement, le format que tu définis est du type xx-xx-xxxx... donc c'est que tu ne reçois rien ou que ton champ ne doit pas être du bon type... enfin, je pense... je ne sais pas trop en fait... 
oui ben quand j'aurai ton niveau en php, je serai content
Alors j'explique:
j'ai crée un champ date dans ma BDD. Type date, NOT NULL , et je n'ai pas donné un format type.
Quand j'ai crée ce champ, mes enregistrements précédents se sont vus attribués 0000-00-00, normal puisqu'il n'y avait rien.
Dans mon nouvel enregistrement, ça reste 0000-00-00.
D'après moi, je ne récupère pas la date, et cela fait que le champ date est considéré comme nul, donc 0000-00-00
Enfin je dis ça, mais php n'est pas ma spécialité

Alors j'explique:
j'ai crée un champ date dans ma BDD. Type date, NOT NULL , et je n'ai pas donné un format type.
Quand j'ai crée ce champ, mes enregistrements précédents se sont vus attribués 0000-00-00, normal puisqu'il n'y avait rien.
Dans mon nouvel enregistrement, ça reste 0000-00-00.
D'après moi, je ne récupère pas la date, et cela fait que le champ date est considéré comme nul, donc 0000-00-00
Enfin je dis ça, mais php n'est pas ma spécialité
