Champ obligatoire dans formulaire
Résolu
poky
-
nounou85 -
nounou85 -
Bonjour,
Petit problème avec un formulaire sous php. Alors plusieurs questions à vous poser.
1)J'ai remarqué que toutes les données du formulaire doivent être remplies pour qu'il soit validé.
Comment peut-on faire pour rendre certains champs obligatoires ou bien aucun champ onligatoire.
2) Mon fichier traitement.php (voir code plus bas) est celui qui traite les données. J'ai remarqué que quand il est validé, on arrive sur celui-ci et tout le monde peut voir en faisant "affichage" "source" mes codes de connexion à la base de données, ce qui est un peut gênant.
3) Dernière question : Est-ce possible d'éviter d'être envahi de données remplies automatiquement par des robots ou je ne sais quoi.
Voilà merci à tous pour cet excellent forum
Cordlt
CN
<?php
mysql_connect("sql.free.fr","nom base","mot passe");
mysql_selectdb("legarrit");
$requete = "insert into formulaire (civilite,
nom,
prenom,
adresse,
codepostal,
ville,
dep,
pays,
tel,
yes,
com,
email,
site)";
$requete .= " values ('$civilite',
'$nom',
'$prenom',
'$adresse',
$codepostal,
'$ville',
'$dep',
'$pays',
'$tel',
$yes ,
'$com',
'$email',
'$site')";
$resultat = mysql_query( $requete );
if(!$resultat) echo "Erreur lors de l'enregistrement des données!";
else echo "Votre demande a bien été prise en compte.";
?>
<br><p align="center"><b><font face="Verdana">Nous vous répondrons très prochainement.</font></b></p>
<br><p align="center"><b><font face="Verdana">Merci de votre visite et à très bientôt.</font></b></p>
Petit problème avec un formulaire sous php. Alors plusieurs questions à vous poser.
1)J'ai remarqué que toutes les données du formulaire doivent être remplies pour qu'il soit validé.
Comment peut-on faire pour rendre certains champs obligatoires ou bien aucun champ onligatoire.
2) Mon fichier traitement.php (voir code plus bas) est celui qui traite les données. J'ai remarqué que quand il est validé, on arrive sur celui-ci et tout le monde peut voir en faisant "affichage" "source" mes codes de connexion à la base de données, ce qui est un peut gênant.
3) Dernière question : Est-ce possible d'éviter d'être envahi de données remplies automatiquement par des robots ou je ne sais quoi.
Voilà merci à tous pour cet excellent forum
Cordlt
CN
<?php
mysql_connect("sql.free.fr","nom base","mot passe");
mysql_selectdb("legarrit");
$requete = "insert into formulaire (civilite,
nom,
prenom,
adresse,
codepostal,
ville,
dep,
pays,
tel,
yes,
com,
email,
site)";
$requete .= " values ('$civilite',
'$nom',
'$prenom',
'$adresse',
$codepostal,
'$ville',
'$dep',
'$pays',
'$tel',
$yes ,
'$com',
'$email',
'$site')";
$resultat = mysql_query( $requete );
if(!$resultat) echo "Erreur lors de l'enregistrement des données!";
else echo "Votre demande a bien été prise en compte.";
?>
<br><p align="center"><b><font face="Verdana">Nous vous répondrons très prochainement.</font></b></p>
<br><p align="center"><b><font face="Verdana">Merci de votre visite et à très bientôt.</font></b></p>
A voir également:
- Veuillez renseigner ce champ
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Veuillez contacter l'assistance itunes pour finaliser cette transaction - Forum Gestion et lecture audio
- Excel champ calculé avec condition - Forum Excel
- Votre correspondant n'est pas disponible pour le moment veuillez - Forum Mobile
- Votre publication n'a pas pu être partagée. veuillez réessayer ✓ - Forum Instagram
26 réponses
Bonjour,
Mais non, je ne me suis pas endormie sur mon clavier, c'est vous qui êtes mal réveillées !!!!
Regardez le précédent message, je vous mis de quoi travailler pour l'après-midi.
Y'a du nouveau, pour ma part, je suis absente cette AM donc je reprends ce soir en espérant avoir de vos nouvelles.
A plus
CN
Je vous remets le message d'hier soir.
Alors y'a du nouveau, je viens de faire une découverte si on rempli tous les champs du formulaire, ça marche nickel, les données sont enregistrées.
Si on remplit que celles censées être obligatoires car vérifiées, ça ne les enregistre pas, peut-être que ça va vous éclairer.
Mais non, je ne me suis pas endormie sur mon clavier, c'est vous qui êtes mal réveillées !!!!
Regardez le précédent message, je vous mis de quoi travailler pour l'après-midi.
Y'a du nouveau, pour ma part, je suis absente cette AM donc je reprends ce soir en espérant avoir de vos nouvelles.
A plus
CN
Je vous remets le message d'hier soir.
Alors y'a du nouveau, je viens de faire une découverte si on rempli tous les champs du formulaire, ça marche nickel, les données sont enregistrées.
Si on remplit que celles censées être obligatoires car vérifiées, ça ne les enregistre pas, peut-être que ça va vous éclairer.
Concernant ta base de donnée, les champs sont-ils configurés pour accepter des valeurs nulles ?
Tu n'as pas répondu à ma question précédente :
Quel système héberge le serveur web ?
Quelle version de PHP/Mysql ?
A++
Tu n'as pas répondu à ma question précédente :
Quel système héberge le serveur web ?
Quelle version de PHP/Mysql ?
A++
Bonsoir,
Me revoilà, alors le site est hébergé chez Free.
Et d'après ce que je vois dans la base de données.
phpMyAdmin 2.6.3-pl1
MySQL 5.0.27-nightly-20061009 sur le serveur sql.free.fr
Pour ce qui est des champs, c'est peut être ça
Par exemple pour le champ prénom que je ne veux pas rendre obligatoire, j'ai dans la catégorie "null" 2 choix et c'est "not null" qui est mis.
Pour tous les champs idem.
J'espère que ces infos vous seront utiles.
Merci
CN
Me revoilà, alors le site est hébergé chez Free.
Et d'après ce que je vois dans la base de données.
phpMyAdmin 2.6.3-pl1
MySQL 5.0.27-nightly-20061009 sur le serveur sql.free.fr
Pour ce qui est des champs, c'est peut être ça
Par exemple pour le champ prénom que je ne veux pas rendre obligatoire, j'ai dans la catégorie "null" 2 choix et c'est "not null" qui est mis.
Pour tous les champs idem.
J'espère que ces infos vous seront utiles.
Merci
CN
Salut à tous,
Personne n'a répondu aujourd'hui. J'ai vexé quelqu'un ou quoi ???
Allez @+ Bonne nuit alors nul doute que j'aurais une réponse de toute façon, les gars de ce forum sont supers...
Merci à tous.
CN
Personne n'a répondu aujourd'hui. J'ai vexé quelqu'un ou quoi ???
Allez @+ Bonne nuit alors nul doute que j'aurais une réponse de toute façon, les gars de ce forum sont supers...
Merci à tous.
CN
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
J'annonce la GRANDE nouvelle, le problème est résolu, le formulaire fonctione parfaitement.
Un énorme merci à foobar47 et nasdak pour leur gentillesse et leur disponibilité.
Vous allez pouvoir vous reposer les gars. Sauf, si vous avez la solution pour des problèmes d'affichage des champs entre Mozilla et IE, mais j'ai déjà posté un truc là-dessus.
Je mets le code au cas où ça pourrait servir à quelqu'un, chacun son tour...
Merci encore.
CN
<?php
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'XXX'); // serveur mysql
define('DB_SERVER_USERNAME', 'XXX'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', 'XXX'); // mot de passe
define('DB_DATABASE', 'XXX'); // nom de la base
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte. Nous vous répondrons très prochainement, merci de votre visite et à très bientôt.<br/><br/>";
$message = $msg_erreur;
// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre e-mail<br/>";
if (empty($_POST['tel']))
$message .= "Votre N° de téléphone<br/>";
if (empty($_POST['com']))
$message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}
$sql = "INSERT INTO formulaire VALUES ('', '".$civilite."', '".$nom."', '".$prenom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$pays."', '".$tel."', '".$yes."', '".$com."', '".$dep."', '".$email."', '".$site."', now())";
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
}
?>
J'annonce la GRANDE nouvelle, le problème est résolu, le formulaire fonctione parfaitement.
Un énorme merci à foobar47 et nasdak pour leur gentillesse et leur disponibilité.
Vous allez pouvoir vous reposer les gars. Sauf, si vous avez la solution pour des problèmes d'affichage des champs entre Mozilla et IE, mais j'ai déjà posté un truc là-dessus.
Je mets le code au cas où ça pourrait servir à quelqu'un, chacun son tour...
Merci encore.
CN
<?php
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'XXX'); // serveur mysql
define('DB_SERVER_USERNAME', 'XXX'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', 'XXX'); // mot de passe
define('DB_DATABASE', 'XXX'); // nom de la base
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte. Nous vous répondrons très prochainement, merci de votre visite et à très bientôt.<br/><br/>";
$message = $msg_erreur;
// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre e-mail<br/>";
if (empty($_POST['tel']))
$message .= "Votre N° de téléphone<br/>";
if (empty($_POST['com']))
$message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}
$sql = "INSERT INTO formulaire VALUES ('', '".$civilite."', '".$nom."', '".$prenom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$pays."', '".$tel."', '".$yes."', '".$com."', '".$dep."', '".$email."', '".$site."', now())";
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
}
?>