Modification de champ

Résolu/Fermé
AMARI - 21 févr. 2013 à 11:42
 AMARI - 21 févr. 2013 à 15:22
Bonjour,
j'ai un tableau de valeurs à saisir, je vais que le premier champ de tableau soit constante( pour l'utilisateur ) et modifiable que par l'admin , aussi je un problème j'ai codé la page , le serveur il ne m'affiche aucune erreur , par contre quand je clique sur le bouton envoyer le tableau n'envoie pas les donnée à base des données ça reste tjrs la même page quelqu'un peux m'aider merci , bonne journée à vous :
voilà mon code source :
<?php
require_once('header.php');
require_once('dbconnect.php');
require_once('record_stat.php');
?>
<html>
<head>
<title>ESPACE PRIVE </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<p align="center" class="titre"><strong>- : : : Veuillez remplir ce tableau : : : -</strong></p>
<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['cof_eau_du_sol'], $_POST['niv_de_debordement'], $_POST['taux_concentration'], $_POST['pour_etanchite'], $_POST['niv_depart'], $_POST['sal_sol'], $_POST['origine_iragation'], $_POST['sal_eau_entre']))
{
//On echape les variables pour pouvoir les mettre dans une requette SQL
$cof = $_POST['cof_eau_du_sol'];
$niv = $_POST['niv_de_debordement'];
$taux = $_POST['taux_concentration'];
$pour = $_POST['pour_etanchite'];
$depart = $_POST['niv_depart'];
$sal = $_POST['sal_sol'];
$iragation = $_POST['origine_iragation'];
$eau = $_POST['sal_eau_entre'];
$sql='insert into valeurs_a_saisir(cof_eau_du_sol, niv_de_debordement, taux_concentration, pour_etanchite, niv_depart, sal_sol, origine_iragation, sal_eau_entre ) values ("'.$cof.'", "'.$niv.'", "'.$taux.'", "'.$pour.'", "'.$depart.'", "'.$sal.'", "'.$iragation.'", "'.$eau.'")';
$requete = $db->query($sql) ;//or die( mysql_error() );
}
else {}
?>
<form action="valeur.php" method="post" name="formulaire">
<table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
<tr>
<td width="40">Coeficient en eau du sol</td>
<td width="144"><input name="cof_eau_du_sol" type="text" id="cof"></td>
</tr>
<tr>
<td>Niveau de debordement<br><span class="small"></td>
<td><input name="niv_de_debordement" type="text" id="niv"></td>
</tr>
<tr>
<td>Taux concentration precipitation</td>
<td><input name="taux_concentration" type="text" id="taux"></td>
</tr>
<tr>
<td>Pourcentage d'etanchite</td>
<td><input name="pour_etanchite" type="text" id="pour"></td>
</tr>
<tr>
<td>Niveau de départ</td>
<td><input name="niv_depart" type="text" id="depart"></td>
</tr>
<tr>
<td> Sal sol</td>
<td><input name="sal_sol" type="text" id="sal"></td>
</tr>
<td>Origine irigation</td>
<td><select name="origine_iragation" id="iragation">
<option value="choix">Choisir..</option>
<option value="Fleuve">Fleuve</option>
<option value="Canal de navigation">Canal de navigation</option>
</select></td>
</tr>
<td>Sal eau entré</td>
<td>
<select name="sal_eau_entre" id="eau">
<option value="choix">Choisir..</option>
<option value="nul">Nul</option>
<option value="failbe">Faible</option>
<option value="moyen">Moyen</option>
<option value="fort">Fort</option>
</select>
</td>
</tr>
<tr>
<td height="50" colspan="2"><div align="center">
<input type="button" name="envoi" value="Envoyer" >
</div></td>
</tr>
</table>
</form>
</html>

7 réponses

Utilisateur anonyme
21 févr. 2013 à 11:54
Met un
<input type="submit" name="envoi" value="Envoyer" >
à la place de
<input type="button" name="envoi" value="Envoyer" >
0
merci pour ta réponse , ça marche .
je te demande tu as pas une idée concernant la modification de champ , je veux que le premier champ soit constante pour l'utilisateur et modifiable que par l'admin , merci
0
Utilisateur anonyme
21 févr. 2013 à 12:19
Tu veux que le premier input type="text" ne puisse pas être éditable par l'utilisateur mais par l'admin?

Je ne sais pas comment tu récupères les valeurs de l'utilisateur connecté, mais cela suppose que avant tu as une authentification avant d'arriver sur cette page?

Il me semble que pour qu'on ne puisse pas écrire dans un champ texte il faut rajouter l'option disabled :
<input type="text" disabled='disabled' name="blabla" >

Si tu as enregistrer un id ou une valeur de profil tu peux le faire , admettons pour l'exemple id_profil=1 correspond à l'admin , et id_profil=2 à un utilisateur quelconque, lors de l'authentification on garde en mémoire cette valeur (par session ou, dans éventuellement dans un objet sur tu en as fais) et dans ton code tu peux filtrer en mettant :

<input type="text" <?php if(id_profil!=1){?> disabled='disabled'<?php } ?> name="blabla" >

Si l'id_profil n'est pas admin alors on bloque le champ texte qui ne pourra pas être modifié!
0
désolé pour le retard et merci pour ta réponse , oui exactement je veux le premier input type="text" ne puisse pas être éditable par l'utilisateur mais par l'admin je vais essayer de modifier le code pour les valeurs que sont saisie dans le tableau par l'utilisateur ils vont être dans la base des données après je vais le récupérer dans un tableau dans une autre page
0

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

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 21/02/2013 à 15:00
attention un input disabled ne renvoie pas sa valeur lors de la soumission du formulaire !

pour que la valeur soit postée il faut mettre l'input en readonly

si tu as une authentification tu peux faire un affichage conditionnel pour l'input

<?php 
$valeur_champ1="la valeur a afficher par defaut dans le champ"; 
if($aunthentif="admin"){ //la un test si c'est l'administrateur qui est connecté 
 $modifiable="readonly"; 
}else{ 
 $modifiable=""; 
} 
echo '<input type="text" name="champ1" value="'.$valeur_champ1.'" '.$modifiable.' />;
0
Utilisateur anonyme
21 févr. 2013 à 15:10
Ah yeees readonly c'est ça qu'il faut utiliser ;)
0
merci pour vos réponse :)
0