IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

comment enlever les notices


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Par défaut comment enlever les notices
    Bonjour,

    voila j'ai des erreurs de notices e rapport a des variables non défini,

    je sais pourquoi elle ne sont pas défini car je ne les utilise pas,

    j'explique:j'utilise la mêmes pages de traitement pour les modification et l'insertion,donc quand j'insert une données j'ai un indéfini index pour la variable id

    j'ai bien utilisé le isset ou le empty mais j'ai toujours le mêmes problèmes,je peux aussi utilisé la commande pour cacher les notices mais sa je ne veux pas


    merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 373
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 373
    Billets dans le blog
    17
    Par défaut
    je sais pourquoi elle ne sont pas défini car je ne les utilise pas,
    Le problème est que tes variables ne sont pas définies et que malgré tout tu les utilises.

    j'explique:j'utilise la mêmes pages de traitement pour les modification et l'insertion,donc quand j'insert une données j'ai un indéfini index pour la variable id
    Bizarre, à l'insertion tu fais un INSERT, donc pas besoin de donner le ID qui est généralement auto-généré, l'embranchement de ton script devant éviter naturellement de la mentionner.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Par défaut
    je me suis mal expliquer,disons que j'insert jeu,stock,image,lien et prix mais dans la modif je ne change que le prix,le stock et le nom donc l'indefini index est le lien,pour l'id c'est pareil,je ne l'utilise pas pour l'insert mais pour la modif oui

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 373
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 373
    Billets dans le blog
    17
    Par défaut
    Je ne vois pas le problème. Faut juste organiser correctement ton script.
    Eventuellement montre-le pour qu'on puisse te conseiller.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Par défaut
    je vous met une partie du code mais je sens les critiques sur l'indentation,je les faites avec netbeans


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
     
    if(empty($_POST['jeu_occasion'])&&empty($_POST['lien_jeu_occasion'])&&empty($_POST['prix_jeu_occasion'])
    &&empty($_POST['stock_jeu_occasion'])&&empty($_GET['id']))
     
     
     
    $jeu_occasion = htmlspecialchars(addslashes($_POST['jeu_occasion']));
    $lien_jeu_occasion = htmlspecialchars(addslashes($_POST['lien_jeu_occasion']));
    $prix_jeu_occasion = htmlspecialchars(addslashes($_POST['prix_jeu_occasion']));
    $stock_jeu_occasion = htmlspecialchars(addslashes($_POST['stock_jeu_occasion']));
     
     
    if (!empty($_FILES['jeu_occasion']['size'])) {
    	//On définit les variables :
    	$maxsize = 35000; //Poid de l'image
    	$maxwidth = 300; //Largeur de l'image
    	$maxheight = 300; //Longueur de l'image
    	$extensions_valides = array('jpg', 'jpeg', 'gif', 'png', 'bmp'); //Liste des extensions valides
     
    	if ($_FILES['jeu_occasion']['error'] > 0) {
    		$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
    	}
    	if ($_FILES['jeu_occasion']['size'] > $maxsize) {
    		$i++;
    		$image_erreur1 = "Le fichier est trop gros : (<strong>" . $_FILES['jeu_occasion']['size'] . " Octets</strong>    contre <strong>" . $maxsize . " Octets</strong>)";
    	}
     
    	$image_sizes = getimagesize($_FILES['jeu_occasion']['tmp_name']);
    	if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) {
    		$i++;
    		$image_erreur2 = "Image trop large ou trop longue :
    						(<strong>" . $image_sizes[0] . "x" . $image_sizes[1] . "</strong> contre <strong>" . $maxwidth . "x" . $maxheight . "</strong>)";
    	}
     
    	$extension_upload = strtolower(substr(strrchr($_FILES['jeu_occasion']['name'], '.'), 1));
    	if (!in_array($extension_upload, $extensions_valides)) {
    		$i++;
    		$image_erreur3 = "Extension de l'avatar incorrecte";
    	}
    }
     
     
     
    $nomimage = (!empty($_FILES['jeu_occasion']['size'])) ? move_image($_FILES['jeu_occasion']) : '';
     
     print_r($_FILES);
     
     
    $query = $db->prepare("SELECT COUNT(*) AS nombre_entree FROM jeu WHERE id = :id");
    $query->bindValue(':id', $_POST['id'], PDO::PARAM_INT);
    $query->execute();
    $donnees = $query->fetch();
     
     
     
     
     
     
    if ( $donnees['nombre_entree'] == 0) 
        {
     
     $query = $db->prepare('INSERT INTO jeu_occasion   (jeu_occasion,image,
     
    									lien_jeu_occasion,
    								        prix_jeu_occasion,
    									stock_jeu_occasion)
     
    							VALUES     (:jeu_occasion,:nomimage,
    								    :lien_jeu_occasion,
    								    :prix_jeu_occasion,
    								     :stock_jeu_occasion
    								)');
     
     
     
     
    	$query->bindvalue(':jeu_occasion', $jeu_occasion, pdo::PARAM_STR);
    	$query->bindvalue(':lien_jeu_occasion', $lien_jeu_occasion, pdo::PARAM_STR);
    	$query->bindvalue(':prix_jeu_occasion', $prix_jeu_occasion, pdo::PARAM_INT);
    	$query->bindvalue(':stock_jeu_occasion', $stock_jeu_occasion, pdo::PARAM_INT);
    	$query->bindvalue(':nomimage', $nomimage, pdo::PARAM_STR);
    	$query->execute() or die(print_r($db->errorinfo()));
     
     
    	}else{ 
     
     
    	$query = $db->prepare("UPDATE jeu_occasion
     
    		                      SET  jeu_occasion = :jeu_occasion,
    			                   prix_jeu_occasion = :prix_jeu_occasion,
    					   stock_jeu_occasion = :stock_jeu_occasion
    				    WHERE  id= :id
    					");
            $query->bindvalue(':id', $_GET['id'], pdo::PARAM_INT);
    	$query->bindvalue(':jeu_occasion', $jeu_occasion, pdo::PARAM_STR);
    	$query->bindvalue(':lien_jeu_occasion', $lien_jeu_occasion, pdo::PARAM_STR);
    	$query->bindvalue(':prix_jeu_occasion', $prix_jeu_occasion, pdo::PARAM_INT);
    	$query->bindvalue(':stock_jeu_occasion', $stock_jeu_occasion, pdo::PARAM_INT);
    	$query->execute() or die(print_r($db->errorinfo()));
     
    	}
    if ($i==0){		
    	echo'<p>les données du jeu d\'occasion a bien été rentrée !<br /> Cliquez <a href="../tests/magasin.php">ici</a> 
                pour revenir Ã* l\'accueil</p>';
     
    }else{ //on affiche les erreurs//
            echo'<h1>Inscription interrompue</h1>';
            echo'<p>Une ou plusieurs erreurs se sont produites pendant la rentré des données</p>';
            echo'<p>'.$i.' erreur(s)</p>';
            echo'<p>'.$image_erreur.'</p>';
            echo'<p>'.$image_erreur1.'</p>';
    		echo'<p>'.$image_erreur2.'</p>';
            echo'<p>'.$image_erreur3.'</p>';
     
     
    		echo'<p>cliquez <a href = "../tests/site.php">ici</a> </p>';
    	$query->CloseCursor();
     
    }

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 373
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 373
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(empty($_POST['jeu_occasion'])&&empty($_POST['lien_jeu_occasion'])&&empty($_POST['prix_jeu_occasion'])
    &&empty($_POST['stock_jeu_occasion'])&&empty($_GET['id']))
     
    $jeu_occasion = htmlspecialchars(addslashes($_POST['jeu_occasion']));
    $lien_jeu_occasion = htmlspecialchars(addslashes($_POST['lien_jeu_occasion']));
    $prix_jeu_occasion = htmlspecialchars(addslashes($_POST['prix_jeu_occasion']));
    $stock_jeu_occasion = htmlspecialchars(addslashes($_POST['stock_jeu_occasion']));
    1. Pour déterminer si une variable existe il faut utiliser isset( ) et pas empty( )
    2. Manque une { après le if( ), sinon seule la 1re instruction suivante est considérée
    3. Pour échapper les données SQL il ne faut pas utiliser addslashes( ), et puis je crois que PDO peut s'en charger, à voir dans la doc
    4. Il ne faut pas enregistrer du HTML dans ta BdD, il faut laisser les données le plus neutre possible, donc exit le htmlspecialchars( )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = $db->prepare("SELECT COUNT(*) AS nombre_entree FROM jeu WHERE id = :id");
    $query->bindValue(':id', $_POST['id'], PDO::PARAM_INT);
    Donc là je suppose que tu as une notification lors d'un INSERT.

    Il suffirait de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( isset($_POST['id']) ) {
        // UPDATE
    } else {
        // INSERT
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment enlever les zeros inutiles d'un float
    Par Skorpyon69 dans le forum C
    Réponses: 18
    Dernier message: 04/12/2006, 21h08
  2. [XML Serializer] Comment enlever les propriétés vides ?
    Par BillGates12345 dans le forum EDI/Outils
    Réponses: 5
    Dernier message: 02/08/2006, 10h49
  3. [Tableaux] Comment enlever les elements vide d'un array
    Par BernardT dans le forum Langage
    Réponses: 9
    Dernier message: 07/07/2006, 12h12
  4. comment enlever les chemin dans l url
    Par chouchou93 dans le forum Struts 1
    Réponses: 5
    Dernier message: 13/06/2006, 15h52
  5. [DBGRID] Comment enlever les ascenseurs H et V
    Par kase74 dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/09/2004, 18h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo