Partage

gestion erreur type

Sujet résolu
13 juin 2018 à 10:06:14

<form method="get">
        <INPUT type="hidden" name="id_parametre" value="<?php echo $row->id_parametre; ?>" />
        <INPUT type="hidden" name="page" value="pages/gestion_parametres.php" />
            <tr>
                <td><INPUT type="decimal" name="valeur" value="<?php echo $row->valeur_parametre; ?>"/></td>
                <td><INPUT type="text" name="nom" value="<?php echo $row->nom_parametre; ?>"/></td>
                <td class="text-center" ><BUTTON type"submit" name="modifier" onclick="submit()"> <i class="fas fa-edit "></i></td>
                <td class="text-center"><a href='index.php?page=pages/gestion_parametres.php&phase=<?php echo $phaseactuelle ?>&modifier=<?php echo $row->id_parametre; ?>'></td>
            </tr>
    </form>


Bonjour je voudrais afficher un message d'erreur quand il n'y a pas le bon type..

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
Staff 13 juin 2018 à 10:53:46

Bonjour,

Pourrais-tu détailler un peu ta question ?

De quel type parles-tu ?

Seul on va plus vite ... Ensemble on va plus loin ! A maîtriser : Conception BDDMySQL, HTML/CSS, PHP/MySQL
13 juin 2018 à 11:16:52

<td><INPUT type="decimal" name="valeur" value="<?php echo $row->valeur_parametre; ?>"/></td>
<td><INPUT type="text" name="nom" value="<?php echo $row->nom_parametre; ?>"/></td>


Pour la valeur je voudrais qu'on puisse rentrer un nombre et pas de texte et pour le texte je voudrais qu'on puisse rentrer du texte et pas que des nombres.

les types de ces 2 INPUT.

Staff 13 juin 2018 à 11:39:32

Bonjour,

Le sujet est déplacé dans le forum approprié : HTML / CSS

Ensuite, les navigateurs web récents assurent ce contrôle justement à l'aide de l'attribut type.

https://developer.mozilla.org/fr/docs/Web/HTML/Element/Input

Tu remarqueras qu'il n'existe pas de type "decimal", mais que c'est "number" ;)

Seul on va plus vite ... Ensemble on va plus loin ! A maîtriser : Conception BDDMySQL, HTML/CSS, PHP/MySQL
13 juin 2018 à 13:33:30

Benzouye a écrit:

Tu remarqueras qu'il n'existe pas de type "decimal", mais que c'est "number" ;)


J'ai changer le type et ces la même chose mais je voudrais mettre un message d'erreur quand on met du texte alors que cest un nombre qu'il faut..?

Staff 13 juin 2018 à 13:42:35

Imaginons ce code HTML :

<html>
	<head>
		<title>Exemple formulaire</title>
		<meta charset="utf-8" />
	</head>
	<body>
		<form>
			<p>Nombre : <input type="number" name="nombre"></p>
			<p>Texte : <input type="text" name="text"></p>
			<p><button type="submit" name="save">Enregistrer</button>
		</form>
	</body>
</html>

Lors de la validation du formulaire, les navigateurs récents vont faire le contrôle de saisie.

Exemple avec Chrome :

Avec Chrome

Exemple avec FireFox :

Avec FireFox

Cela ne te satisfait pas ?

-
Edité par Benzouye 13 juin 2018 à 13:43:02

Seul on va plus vite ... Ensemble on va plus loin ! A maîtriser : Conception BDDMySQL, HTML/CSS, PHP/MySQL
13 juin 2018 à 14:03:57

Beh j'aimerai avoir cela mais ca me fait pas ça ^^
13 juin 2018 à 14:08:38

Bonjour, peux-tu nous fournir ton code ?
Comar
13 juin 2018 à 14:11:30

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Gestion des paramètres</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
<?php require_once 'include/entete.php';?>
</br>
<form method="get">
<div class="phase">
<?php
$parametremodifier = 0;
if(isset($_GET['phase'])){
    $phaseactuelle= $_GET['phase'];
}
if(isset($_GET['modif'])){
    $parametremodifier = $_GET['modif'];
}
?>
Nom des phases:
<SELECT name='phase' onchange="form.submit()">
<?php
include "include/fonctions.php";
$connexion=connexion_bd();
$req='SELECT * FROM phase ORDER BY id_phase';
$res=$connexion->query($req);
while($row=$res->fetch(PDO::FETCH_OBJ)){
        if($phaseactuelle == $row->id_phase){
            echo "<option value='".$row->id_phase."' selected >".$row->nom_phase." </option>";
        }else{
            echo "<option value='".$row->id_phase."'>".$row->nom_phase."</option>";
        }
}
?>
</SELECT>
<INPUT type=hidden name="page" value="pages/gestion_parametres.php">
</br> 
</br>
<?php
if(isset($_GET['phase'])){

    if(isset($_GET["ajouter"])){
        $req2="INSERT INTO parametre VALUES (NULL,?,?,?)";
        $prep = $connexion->prepare($req2);
        $prep->BindValue(1,$_GET["valeur"]);
        $prep->BindValue(2,$_GET["nom"]);
        $prep->BindValue(3,$_GET["phase"]);
        $prep->execute();  
    }
    if(isset($_GET["modifier"])){
        $req4="UPDATE parametre set valeur_parametre=?,nom_parametre=?,id_phase=? where id_parametre = ?" ;
        $prep = $connexion->prepare($req4);
        $prep->BindValue(1,$_GET["valeur"]);
        $prep->BindValue(2,$_GET["nom"]);
        $prep->BindValue(3,$_GET["phase"]);
        $prep->BindValue(4,$_GET['id_parametre']);
        $prep->execute();
    }
    if(isset($_GET["supprimer"])){
        $req5="DELETE FROM parametre where id_parametre = ?" ;
        $prep= $connexion->prepare($req5);
        $prep->BindValue(1,$_GET["supprimer"]);
        $prep->execute();     
    }
?>
<table>
        <thead>
        <tr>
            <td><b>Valeur du paramètre</b></td>
            <td><b>Nom du paramètre</b></td>
            <td><b>Modifier</b></td>
            <td><b>Supprimer</b></td>
        </tr>
        </thead>
<?php
if(isset($_GET["ajout"])){
    ?>
    <form method="get">
    <INPUT type="hidden" name="page" value="pages/gestion_parametres.php" />
        <tr>
                <td><input type="number" name="valeur" step="any"/></td>
            <td><INPUT type="text" name="nom" /></td>
            <td class="text-center"><BUTTON type="submit" name="ajouter" onclick="submit()"> <i class="fas fa-plus "></i></td>
            <td class="text-center"><a href='index.php?page=pages/gestion_parametres.php&phase=<?php echo $phaseactuelle ?>&ajouter=<?php echo $row->id_parametre; ?>'></td>
        </tr>
    </form>
    <?php
}
$req1='SELECT * FROM parametre WHERE id_phase=?';
$prep=$connexion->prepare($req1);
$prep->execute(array($_GET['phase']));
while ($row = $prep -> fetch (PDO::FETCH_OBJ)){

    if($row->id_parametre == $parametremodifier ){
    ?>
    
    <form method="get">
        <INPUT type="hidden" name="id_parametre" value="<?php echo $row->id_parametre; ?>" />
        <INPUT type="hidden" name="page" value="pages/gestion_parametres.php" />
            <tr>
                <td><INPUT type="number" name="valeur" step="any" value="<?php echo $row->valeur_parametre; ?>"/></td>
                <td><INPUT type="text" name="nom" value="<?php echo $row->nom_parametre; ?>"/></td>
                <td class="text-center" ><BUTTON type"submit" name="modifier" onclick="submit()"> <i class="fas fa-edit "></i></td>
                <td class="text-center"><a href='index.php?page=pages/gestion_parametres.php&phase=<?php echo $phaseactuelle ?>&modifier=<?php echo $row->id_parametre; ?>'></td>
            </tr>
    </form>
<?php }else{
?>
<tr>
<td><?php echo $row->valeur_parametre;?></td>
<td><?php echo $row->nom_parametre;?></td>
<td class="text-center"><a href="index.php?page=pages/gestion_parametres.php&modif=<?php echo $row->id_parametre; ?>&phase=<?php echo $phaseactuelle?>"><i class="fas fa-edit "></i></td>
<td class="text-center"><a href="index.php?page=pages/gestion_parametres.php&supprimer=<?php echo $row->id_parametre; ?>&phase=<?php echo $phaseactuelle; ?>"><i class="fas fa-times"></i></td>
</tr>
<?php
    }
     }
    ?>
    <tr>
    <td colspan="2" class="text-center">
    <a href="index.php?page=pages/gestion_parametres.php&ajout&phase=<?php echo $phaseactuelle?>"><i class="fas fa-plus "></i> Ajouter un paramètre </a> 
    </tr>
<?php
}
?>
</table>
</div>
</form>
</body>
</html>
Je sélectionne la phase dans la liste déroulante qui m'affiche la tableau avec les parametres de la phase et après je peux ajouter, modfier, supprimer...
13 juin 2018 à 14:22:26

Je voulais dire le code HTML. Quand tu es sur la page ou il y a ton input, faire 'clic' droit afficher la source le copier et nous le fournir ?
Comar
13 juin 2018 à 14:30:38

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Accueil</title>
    <!-- Bootstrap core CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- Material Design Bootstrap -->
    <link href="css/mdb.min.css" rel="stylesheet">
    <!-- FONT AWESOME -->
    <script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
    <!-- JQuery -->
    <script src="js/jquery-3.2.1.min.js"></script>

    <!-- Css Commun -->
    <link rel="stylesheet" href="css/myCss/commonCss.css"> 
    <!-- Css Perso -->
   <link rel="stylesheet" href="css/myCss/<br />
<b>Notice</b>:  Undefined variable: css in <b>C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\Recette\index.php</b> on line <b>20</b><br />
.css">
</head>
<body>
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Gestion des paramètres</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Gestions paramètres</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
<nav class="navbar navbar-expand-lg">
  <a class="navbar-brand"><b>Menu</b></a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
    <div class="navbar-nav">
      <a class="nav-item nav-link active" href="index.php">Retour Menu<span class="sr-only">(current)</span></a>
      			
      <a class="nav-item nav-link" href="index.php?page=pages/gestion_parametres.php">Gestion des paramètres</a>
            <a class="nav-item nav-link" href="index.php?page=pages/gestion_recette.php">Gestion des recettes</a>
</div>
<div class="collapse navbar-collapse justify-content-end">
      <a class="nav-item nav-link" href="index.php?page=pages/connexion.php">Connexion</a>
    </div>
  </div>
</nav>
</body>
</html></br>
<form method="get">
<div class="phase">
Nom des phases:
<SELECT name='phase' onchange="form.submit()">
<option value='1'>ATTENTEBMB</option><option value='2'>NADOP</option><option value='3'>NA3SB</option><option value='4' selected >KDOP </option><option value='5'>CYCLAGE</option><option value='6'>CESIATION</option><option value='7'>REFROIDISSEMENT</option></SELECT>
<INPUT type=hidden name="page" value="pages/gestion_parametres.php">
</br> 
</br>
<table>
        <thead>
        <tr>
            <td><b>Valeur du paramètre</b></td>
            <td><b>Nom du paramètre</b></td>
            <td><b>Modifier</b></td>
            <td><b>Supprimer</b></td>
        </tr>
        </thead>
    <form method="get">
        <INPUT type="hidden" name="id_parametre" value="42" />
        <INPUT type="hidden" name="page" value="pages/gestion_parametres.php" />
            <tr>
                <td><INPUT type="number" name="valeur" step="any" value="20.00"/></td>
                <td><INPUT type="text" name="nom" value="Attente entre chaque increment en secondes"/></td>
                <td class="text-center" ><BUTTON type"submit" name="modifier" onclick="submit()"> <i class="fas fa-edit "></i></td>
                <td class="text-center"><a href='index.php?page=pages/gestion_parametres.php&phase=4&modifier=42'></td>
            </tr>
    </form>
<tr>
<td>120.00</td>
<td>Attente avant premiere incrementation Ik</td>
<td class="text-center"><a href="index.php?page=pages/gestion_parametres.php&modif=38&phase=4"><i class="fas fa-edit "></i></td>
<td class="text-center"><a href="index.php?page=pages/gestion_parametres.php&supprimer=38&phase=4"><i class="fas fa-times"></i></td>
</tr>
    <tr>
    <td colspan="2" class="text-center">
    <a href="index.php?page=pages/gestion_parametres.php&ajout&phase=4"><i class="fas fa-plus "></i> Ajouter un paramètre </a> 
    </tr>
</table>
</div>
</form>
</body>
</html></body>
</html>


Comar91 a écrit:

Je voulais dire le code HTML. Quand tu es sur la page ou il y a ton input, faire 'clic' droit afficher la source le copier et nous le fournir ?



13 juin 2018 à 14:42:58

Pour moi sou FF et Opera c'est OK pas sous edge. Si tu passes ton code html sous la validateur tu as des erreurs --> à vérifier
Comar
13 juin 2018 à 14:48:47

Comar91 a écrit:

Pour moi sou FF et Opera c'est OK pas sous edge. Si tu passes ton code html sous la validateur tu as des erreurs --> à vérifier



D'accord, j'essaierais ce soir pour voir, merci quand même!
13 juin 2018 à 14:54:05

Bonjour,

Vous avez volontairement collée 3 fichiers HTML pour les poster d'un coup, car je vois 3 Doctype dans votre code ???

-
Edité par pipelette13 13 juin 2018 à 14:54:29

Stéphanie, blonde mais je me débrouille (....?)
13 juin 2018 à 14:58:53

pipelette13 a écrit:

Bonjour,

Vous avez volontairement collée 3 fichiers HTML pour les poster d'un coup, car je vois 3 Doctype dans votre code ???

-
Edité par pipelette13 il y a 2 minutes

J'ai fait ce que Comar91 ma demander de faire...

13 juin 2018 à 15:00:36

Oui, ton code html résultant de ton code php laisse à désirer ;)
Comar
13 juin 2018 à 16:24:15

Donc tu as mise un doctype + <html> + <head> dans chaque inclusion ^^ 

Si c'est le cas supprime les, tu as déjà ta structure de base...

De plus on dirait un vieux code non ?

</br> n'existe pas, c'est <br> ou <br /> et ça se place dans un paragraphe <p> pour un retour à la ligne (comme \r\n)

Des err comme en ligne 69, type="hidden" , mets des quotes ou doubles quotes (de préférence des doubles)

Mise en page par tableau, juste valable si c'est des données tabulaires.

Tu devrais passer ton code au validateur en ligne ici : https://validator.w3.org/ 

Tu auras toutes tes erreurs et comment le corriger :)

-
Edité par pipelette13 13 juin 2018 à 16:29:43

Stéphanie, blonde mais je me débrouille (....?)

gestion erreur type

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown