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

foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
26 mars 2007 à 11:24
Salut,

Alors, dans l'ordre :

1) Tu as plusieures possibilités, soit tu utilises le javascript pour vérifier que tes variables sont saisies, du genre ça :
//CODE JAVASCRIPT à mettre dans un fichier à part script.js
function verification()
{
if (document.formulaire.nom.value == "")
 { 
   alert("Entrez votre nom !");  
   return false;   
 }
}

Puis dans ton code php :

<script LANGUAGE="JavaScript" src="../script.js"></script> 
<form method="post" name="formuliare" action="ajout_nord.php" onsubmit="return verification()" >

Là, c'est au format HTML, tu peux donc soit fermer les balises php avant et les ouvrir ensuite ou tout mettre en php avec des echo.

La seconde méthode consiste à utiliser le php.
Quand tu valides ton formulaire, si une variable est nulle, tu renvoies un message d'erreur

2) Je doute fortement que l'on puisse voir la chaine de connexion et regardant la source du fichier...
Cela étant, je te conseille de faire des inclusions de fichiers afin que tu n'ais pas à retaper cette chaine dans tous les fichiers :

#dans tous tes fichiers php, tu mets ça au début :
<?php
	include ("../config.php");
?>	

Puis, tu crées un nouveau fichier que tu nommes config.php dans lequel tu mets ta chaine de connexion :
<?php
mysql_connect("sql.free.fr","nom base","mot passe");
mysql_selectdb("legarrit"); 
?>

Je te conseille aussi de vérifier tes données avant de faire une requête SQL.
Vérifie qu'elles ne sont pas nulles, vérifies qu'elles correspondent au format attendu, genre, ne pas entrer des lettres alors qu'on attend des chiffres.

3)Oui c'est possible en mettant en place un système comme on en voit des dizaines de nos jours, c'est à dire un système d'image contenant des chiffres et des lettres que l'on doit saisir pour pouvoir continuer.
Cela étant, je n'ai jamais mis ce genre de solution en place pour le moment.


En éspèrant t'avoir aidé un minimum.

Bonne journée.
4
nassdak Messages postés 61 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 8 juin 2007 23
26 mars 2007 à 11:33
Désolé foobar47,

J'écrivais mon message quand t'as répondu ;)
J'ai juste à rajouter que si tu désactives le javascript de ton navigateur, ta fonction ne marche plus...
la vérification côté serveur devient donc obligatoire ;)
0
foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532 > nassdak Messages postés 61 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 8 juin 2007
26 mars 2007 à 11:43
Tout à fait d'accord avec toi ;-)
C'est pour ça que j'ai proposé les 2 solutions.

Au pire, rien n'empêche de faire 2 fois la vérification.

A++
0