Champ obligatoire dans formulaire

Résolu/Fermé
poky - 26 mars 2007 à 11:09
 nounou85 - 11 juin 2011 à 15:54
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>

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.
0
foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
27 mars 2007 à 14:11
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++
0
poky17 Messages postés 53 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 30 mars 2008
27 mars 2007 à 20:29
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
0
poky17 Messages postés 53 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 30 mars 2008
29 mars 2007 à 00:08
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
0
foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
29 mars 2007 à 16:11
Manque de temps !
Désolé ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
poky17 Messages postés 53 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 30 mars 2008
29 mars 2007 à 12:52
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();
}

}
?>
0
foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
29 mars 2007 à 16:13
Ok, nikel !

J'ai pas tout compris mais tant mieux pour toi alors ;-)

Au plaisir !
0