Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je suis débutante. J'aimerais savoir comment vérifier que l'une de mes cases est cochée. Voici ce que j'ai déjà fait (ci-dessous). Je coince un peu, merci de me proposer une solution de déblocage. J'ai le même souci ensuite car j'aurai des cases multiples à cocher.
if (isset($_POST['valider'])){
$etat = "erreur";
if (isset($_POST["num_quest_donnees"])) {
$_POST["num_quest_donnees"]=trim(stripslashes($_POST["num_quest_donnees"]));
}
if (isset($_POST["nation_autre"])) {
$_POST["nation_autre"]=trim(stripslashes($_POST["nation_autre"]));
}
if (empty($_POST["num_quest_donnees"])) {
$erreur="[Veuillez saisir le numéro du questionnaire attribué]";
}
elseif (strspn(strtolower($_POST["num_quest_donnees"]),"0123456789abcdefghijklmnopqrstuvwxyz") < strlen($_POST["num_quest_donnees"])){
$erreur="[Numéro du questionnaire attribué invalide (ex : AA057)]";
}
elseif (strspn($_POST["num_quest_donnees"],"0123456789") < 5){
$erreur="[Numéro du questionnaire attribué invalide (5 caractères)]";
}
elseif (empty($_POST["etud_annee"])) {
$erreur="[Veuillez saisir l'année de l'étude]";
}
else {
$etat="ok";
$org_code = ($_SESSION['username']);
$org_mdp = ($_SESSION['password']);
$num_quest_donnees = htmlspecialchars($_POST['num_quest_donnees'],ENT_QUOTES);
$etud_annee = $_POST['etud_annee'];
$sexe = $_POST['sexe'];
$db_user = ' ';
$db_pass = ' ';
}
}
else {
$etat="attente";
}
?>
<html>
<head>
</head>
<body>
<?php
if ($etat!="ok"){
if ($etat=="erreur"){
echo "<p class=\"titreturquoise\">".$erreur."</p>\n";
}
?>
<form name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p class="titrenoir">Données générales</p>
<p class="texte">[les champs précédés du signe <span class="soustitrerouge">¤</span> sont obligatoires]</p>
<p> </p>
<p class="soustitrenoir">NUMERO : <span class="soustitrerouge">¤</span></p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#CCCCCC">
<tr>
<td><input name="num_quest_donnees" type="text" id="num_quest_donnees" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="<?php
if (!empty($_POST["num_quest_donnees"])) {
echo htmlspecialchars($_POST["num_quest_donnees"],ENT_QUOTES);
}
?>" size="5"></td>
</tr>
</table>
<p> </p>
<p class="soustitrenoir">1 - Année de naissance : <span class="soustitrerouge">¤</span></p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#CCCCCC">
<tr>
<td><input name="etud_annee" type="text" id="etud_annee" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="<?php
if (!empty($_POST["etud_annee"])) {
echo htmlspecialchars($_POST["etud_annee"],ENT_QUOTES);
}
?>"></td>
</tr>
</table>
<p> </p>
<p class="soustitrenoir">2 - Sexe :<span class="soustitrerouge">¤</span></p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#CCCCCC">
<tr>
<td class="texte">Masculin</td>
<td><input name="sexe" type="radio" value="masculin" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;font-family: Verdana; font-size:10px"<?php
if (!empty($_POST["sexe"])) {
$sexe = $_POST["sexe"];
if ($sexe =="Masculin") { echo " checked"; }
}
else {
$sexe = "";
}
?></td>
<td class="texte">Féminin</td>
<td><input name="sexe" type="radio" value="feminin" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px"<?php
if (!empty($_POST["sexe"])) {
$sexe = $_POST["sexe"];
if ($sexe =="Féminin") { echo " checked"; }
}
else {
if ($sexe !="Masculin" && $sexe!="Féminin")
{
echo "Le sexe DOIT être rempli :";
echo "</font>";
echo "<BR>";
}}
?></td>
</tr>
</table>
<!--**********FIN QUESTIONNAIRE-->
<p> </p>
<p> </p>
<p align="center" class="soustitrenoir"><span class="soustitrerouge">Attention</span>,</p>
<p align="center" class="soustitrenoir">Merci de bien vouloir vérifier l'exactitude de vos réponses avant de soumettre le formulaire.
Si lors de la validation, vous vous retrouvez au début du questionnaire, cela signifie qu'il manque certaines réponses (ceci sera mentionné en bas du titre)</p>
<div align="center">
<input type="submit" name="valider" id="valider" value="Valider " style="background-color:#FF3838; color:#FFFFFF; border:1px #92A6B4 solid ; font-family: Verdana; font-size:10px">
</div>
<p> </p>
</form>
<?
}
else {
$connection = mysql_connect('localhost', $db_user, $db_pass) or die(mysql_error());
mysql_select_db('creai_db', $connection) or die(mysql_error());
$query = "INSERT INTO sdat (org_code,org_mdp,num_quest_donnees,etud_annee,sexe,matrimo,nationalite,nation_autre) VALUES('$org_code','$org_mdp','$num_quest_donnees','$etud_annee','$sexe','$matrimo','$nationalite','$nation_autre')";
$execution = mysql_db_query("creai_db", $query);
}
?>
</body>
</html>
Hors ligne
Saluton,
Si tu pouvais cibler plus précisément ta problématique au lieu de nous balancer 83 lignes de code, on pourrait peut-être progresser vers sa résolution.
Au passage, la norme pour les attributs c'est checked="checked" et non un laxiste checked.
Je te recommande aussi de ne pas embrouiller ton code avec des attributs de style dans les balises.
D'autant que tu sembles, par ailleurs, utiliser une feuille de style avec des classes.
Mais, paradoxalement on voir encore dans ton patchwork de code traîner des <p align="center" et des <font
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Dans mes coches radios ici masculin féminin, je voudrais vérifier que l'une de mes coches est bien coché aussi non j'affiche un message d'erreur sans vider le reste du formulaire. J'ai également une question avec des réponses multiples et je voudrais vérifier que l'utilisateur a au moins coché une coche avant de valider mon formaulaire;
C'est vrai j'ai repris ce code déjà fait par un ancien collègue mais je dois dans ce code faire des tests de chaque réponses avant validation.
Si je fait une fontion javascript avec une alerte, mon formulaire ce vide.
Hors ligne
Salut,
Deux articles qui t'aideront bien :
http://www.openweb.eu.org/articles/form … accessible
http://www.openweb.eu.org/articles/vali … formulaire
Alain
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Merci pour ces liens, mais dans mon code
Comment remplacer le echo $_server... afin que l'neregistrement de mon formulaire ce trouve dans ma base de données.
Merci beaucoup.
Hors ligne
salut,
cette variable indique que l'action du formulaire (le traitement) se fera sur la page où tu te trouve.
tu dois voir le traitement en haut de la page je pense.
l'enregistrement en base se fait dans le bout de code qui se trouve (je pense) en haut de ta page php.
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Saluton,
Ce genre de pseudo impasse conceptuelle, notamment chez le débutant, m'incite à préconiser de s'appuyer, dès que possible, sur un motif de conception (design pattern) comme MVC (Modèle Vues Contrôleur).
On peut en voir une courte et rapide présentation ici : http://julien-pauli.developpez.com/tuto … ontroleur/
Si l'on couple cela avec l'utilisation d'une abstraction d'accès aux données comme PDO, je crois que l'on doit approcher le bonheur.:rolleyes:
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1