problème de champ obligatoire sur un formulaire

irene
Invité n'ayant pas de compte PHPfrance

01 mars 2005, 14:56

j'ai crée un formulaire avec obligation que tous les champs soit remplis et je voudrais finalement que 2 des 6 champs ne soit obligatoire comment faire

Eléphant du PHP | 200 Messages

01 mars 2005, 15:09

tu utilise un script javascript de verification du style :

Code : Tout sélectionner

script language="javascript"> <!-- function verif() { if (document.nomduformulaire.nomduchamps1.value.length == 0) { alert("Entrez une valeur "); return false; } return true; } //--> </script>
et un form

Code : Tout sélectionner

<form action="mapage.php" method="post" onSubmit="return verif()" name="nomduformulaire"> <input type="texte" name="nomduchamps1"> <input type="texte" name="nomduchamps2"> </form>
:?:
Univers divided by 0 - cucumber error - reboot

irene
Invité n'ayant pas de compte PHPfrance

02 mars 2005, 11:32

merci pour ta réponse mais je ne vois pas donc je mets le script :

$valid=1;

if(strlen($nom) <= 1 || strlen($nom) >100){
$valid=0;
echo "<font color=Red><B>Erreur lors de l'inscription</B>: Le nom doit comporter entre 1 et 100 caractères.</font><BR>";

Eléphant du PHP | 200 Messages

02 mars 2005, 11:43

donc tu verifis en PHP et pas en javascript ...

Code : Tout sélectionner

$valid=1; if((strlen($nom) <= 1 ))||( strlen($nom) >100)) { $valid=0; echo "<font color=Red><B>Erreur lors de l'inscription</B>: Le nom doit comporter entre 1 et 100 caractères.</font><BR>"; }
a lair correcte masi je en vois vraiment pas le rapport avec la premiere question .. tu verifis combien de champs, de quel nature, tu evsu el faire cote serveur ou cote client .... ?
Univers divided by 0 - cucumber error - reboot

irene
Invité n'ayant pas de compte PHPfrance

02 mars 2005, 12:29

if(strlen($societe) <= 1 || strlen($societe) >200){
$valid=0;
echo "<font color=Red><B>Erreur lors de l'inscription</B>: La societe doit comporter entre 1 et 200 caractères.</font><BR>";
}

if($valid == 1){
$sql = "INSERT INTO anciensetudiants (`nom`, `prenoms`, `dateNaissance`, `adresse`, `telephone`,`email`,'anneediplome', `formationsuivie`, `poursuitetudes`, `societe`, `contrat`, `date`) VALUES ('$nom','$prenoms','$year-$month-$day','$adresse',`$telephone`,'$email','$anneediplome','$formationsuivie','$poursuitetudes','$societe','$contrat', now())";
$result = mysql_query($sql);

if($result == 1){
echo "<BR><div align=center><font size=+1 color=Red>Validation du formulaire effectu&eacute;e.</font><BR><b>Merci.</b></div>\n";
}else{
echo "<br><div align=center><font size=+1 color=Red>L'inscription a échouée.</font><BR><b>Merci de réessayer ultérieurement.</b></div>\n";
}
}else{
echo "<BR><BR><div align=center><font size=+1 color=Red>Revenez à la <A href=javascript:history.back()>page précédente</A> pour recommencer l'inscription.</font></div>\n";
}
mysql_close($db);
} else{
// display form

Eléphant du PHP | 200 Messages

02 mars 2005, 13:16

rée un formulaire avec obligation que tous les champs soit remplis et je voudrais finalement que 2 des 6 champs ne soit obligatoire comment faire
tu veus tester tes variables :

'$nom','$prenoms','$year-$month-$day','$adresse',`$telephone`,'$email','$anneediplome','$formationsuivie','$poursuitetudes','$societe','$contrat'

:?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?:
Univers divided by 0 - cucumber error - reboot

Eléphanteau du PHP | 24 Messages

03 mars 2005, 22:39

Ton code, je l'arangerais comme ça :
if(strlen($societe) <= 1 || strlen($societe) >200)
 {
	$valid=0;
	echo "<font color=Red><B>Erreur lors de l'inscription</B>: La societe doit comporter entre 1 et 200 caractères.</font><BR>";
 }
// else $valid=1;   si jamais $valid est pas encore défini 

if($valid)
 {
	$sql = "INSERT INTO anciensetudiants (`nom`, `prenoms`, `dateNaissance`, `adresse`, `telephone`,`email`,'anneediplome', `formationsuivie`, `poursuitetudes`, `societe`, `contrat`, `date`) VALUES ('$nom','$prenoms','$year-$month-$day','$adresse',`$telephone`,'$email','$anneediplome','$formationsuivie','$poursuitetudes','$societe','$contrat', now())";
	$result = mysql_query($sql) or die("<br><div align=center><font size=+1 color=Red>L'inscription a échouée.</font><BR><b>Merci de réessayer ultérieurement.</b></div>\n");
	echo "<BR><div align=center><font size=+1 color=Red>Validation du formulaire effectu&eacute;e.</font><BR><b>Merci.</b></div>\n";
 }
else echo "<BR><BR><div align=center><font size=+1 color=Red>Revenez à la <A href=javascript:history.back()>page précédente</A> pour recommencer l'inscription.</font></div>\n";

mysql_close($db);