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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Forum] Problème avec ma bdd


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut [Forum] Problème avec ma bdd
    Bonjour je me presente titi je suis nouvelle arrivant sur le forum qui a l'air tres complet mis du coup j'ai du mal a trouver mon info. Je m'explique je debute enfin j'ai fait plusieurs site mais pas trop complique non plus lol ... Sur celui que je prepare je creais une partie admin pour que la personne puisse rentrer ses elements par la suite .. j'avais deja utilise ce code qui marchait mais voila que je rencontre un pb. En fait je fais un formulaire pour que la personne puisse envoyer ses fichiers image et que les liens de ceux ci soit enregistres dans bdd ... hors les fichiers sont bien envoyes mais la bdd n'est pas complete. Je n'arrive pas à trouver mon erreur est ce que qq un pour me donner un coup de pouce. Je ne demande evidemment pas que l'on fasse le choses a ma place mais à force de chercher je pense que je passe à cote de mes erreurs. voici mes deux fichiers le premier est le fichier ficheproduit.php qui correspond au formulaire et le deuxieme est reception.php qui traite les post du premier.

    Merci d'avance si qq un peut m'eclairer sur mon pb / je repete bien que j'ai chercher su forum mais pas trouver la reponse / peut être mal chercher.

    Code : 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
     
    <body>
     
     
    <div id="wrapper"> <!-- Creation du cadre contenant les informations -->
    <div id="header"> <center><img src="css/banniere.gif"/> </center></div> <!--  Affichage du bandeau  -->
     
    <div id="content-wrapper"> <!-- Affichage de la partie centrale  -->
     
    	<?php include("menuprincipal.php")?>
             <!--  Affichage du corps du site  -->
     
     
     
     
    	<div id="main">
     
     
     
    	<h1>Ajout Produit:</h1><br/>
    		<br/>
    		<br/>
     
    <form method="post" action="reception.php" enctype="multipart/form-data">
     
     
    		Type: 
     
    <select name="choix">
    	<option value=null></option>
    	<option value="kitfoot">kitfoot</option>
     
    </select>
     
     
    	<label  for="titre"> Nom : </label>
    	<input type="text" name="titre" id="titre"/><br/><br/>
     
     
     
         <label for="monfichier">Photo miniature (Format* | max. 1Mo):</label>
         <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
         <input type="file" name="monfichier" id="monfichier" /><br /><br/>
     
    	 <label for="detail1">Photo description (Format** | max. 1Mo):</label>
         <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
         <input type="file" name="detail1" id="detail1" /><br /><br/>
     
         <label for="couleur">Photo couleur (Format** | max. 1Mo):</label>
         <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
         <input type="file" name="couleur" id="couleur" /><br /><br/>
     
    	<label for="taille">Description: </label>
    	<input type="text" name="taille" id="taille"/><br/><br/>
     
    	 <label for="prix"> Prix: </label>
    	<input type="text" name="prix" id="prix"><br/><br/>
     
     
     
     
     
         <input type="submit" name="submit" value="Envoyer" />
    	 <br/>
    	 <br/>
     
     
     
     
    </form>
     
     
     
     
     
    </div>
     
        </div>
     
     
     
    </div>
    </body>

    Code : 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
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    <body>
     
     
     
    <div id="wrapper"> <!-- Creation du cadre contenant les informations -->
    <div id="header"> <center><img src="css/banniere.gif"/> </center></div> <!--  Affichage du bandeau  -->
    <?php include("menuprincipal.php")?>
    <div id="content-wrapper"> <!-- Affichage de la partie centrale  -->
     
     
             <!--  Affichage du corps du site  -->
     
     
     
     
    	<div id="main">
    	<br/>
    	<br/>
     
     
     
    <?php
    			// Connexion à la base de données
    		try
    		{
    			$bdd = new PDO('mysql:host=localhost;dbname=zeus', 'root', '');
    		}
    			catch(Exception $e)
    		{
    			die('Erreur : '.$e->getMessage());
    		}
     
     
    // test envoie
    if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
    {
            // test file size
            if ($_FILES['monfichier']['size'] <= 1000000)
            {
                    // test extension
                    $infosfichier = pathinfo($_FILES['monfichier']['name']);
                    $extension_upload = $infosfichier['extension'];
                    $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                    if (in_array($extension_upload, $extensions_autorisees))
                    {
                            // move fichier
                            move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
     
                    }
            }
     
     
    }
     
    		if (isset($_FILES['detail1']) AND $_FILES['detail1']['error'] == 0)
    			{
    			// test file size
    			if ($_FILES['detail1']['size'] <= 1000000)
    				{
    					// test extension
    					$infosfichier = pathinfo($_FILES['detail1']['name']);
    					$extension_upload = $infosfichier['extension'];
    					$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
    					if (in_array($extension_upload, $extensions_autorisees))
    					{
    							// move fichier
    							move_uploaded_file($_FILES['detail1']['tmp_name'], 'uploads/' . basename($_FILES['detail1']['name']));
    							echo "L'envoi a bien été effectué !";
    					}
    				}
     
     
    			}
     
    		if (isset($_FILES['couleur']) AND $_FILES['couleur']['error'] == 0)
    			{
    			// test file size
    			if ($_FILES['couleur']['size'] <= 1000000)
    				{
    					// test extension
    					$infosfichier = pathinfo($_FILES['couleur']['name']);
    					$extension_upload = $infosfichier['extension'];
    					$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
    					if (in_array($extension_upload, $extensions_autorisees))
    					{
    							// move fichier
    							move_uploaded_file($_FILES['couleur']['tmp_name'], 'uploads/' . basename($_FILES['couleur']['name']));
    							echo "L'envoi a bien été effectué !";
    					}
    				}
     
     
    			}
     
     
    // Choix du type de creation 
    // si kitfoot place dans bdd kitfoot
     
    			if (isset($_POST['choix']) AND $_POST['choix']== 'kitfoot') 
    			{
    							// test envoie
     
     
    			if (isset($_POST['titre']) AND isset($_FILES['monfichier']['name']) AND isset($_FILES['detail1']['name']) AND isset($_POST['couleur']['name']) AND isset($_POST['prix']) AND isset($_POST['taille']))
    			{
    			$titre = htmlspecialchars($_POST['titre']);
    			$description= 'uploads/' . basename($_FILES['monfichier']['name']);
    			$detail1= 'uploads/' . basename($_FILES['detail1']['name']);
    			$couleur= 'uploads/' . basename($_FILES['couleur']['name']);
    			$prix= htmlspecialchars($_POST['prix']);
    			$dispo= htmlspecialchars($_POST['taille']);
     
     
    			$req = $bdd->prepare('INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES(?,?,?,?,?,?,?)'); 
     
    			$sql = "INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES('', '".$titre."', '".$description."', '".$detail1."', '".$couleur."', '".$taille."', '".$prix."')";
    			$bdd->exec($sql);
    			}
    			}
     
     
     
    ?>
     
     
    </div>
     
        </div>
     
     
     
    </div>
    </body>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mélangé requête normale et requête préparée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = $bdd->prepare('INSERT INTO kitfoot (titre, mini, description, couleur, taille, prix) VALUES(:titre, :mini, :description, :couleur, :taille, ;prix)');
    $req->execute(array(':titre'=>$titre, ':mini'=>$detail1, ':description'=>$description, ':couleur'=>$couleur, ':taille'=>$taille, ':prix'=>$prix))
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    merci pour ta reponse aussi rapide je me sens un peu moins seul ...

    donc si je comprends bien ce que tu me dis je melange les requetes normale et prepare .. oui e pense que c'est que j'ai des lacunes a ce niveau la effectivement ... j'essaye de comprendre j'ai du mal ... je suis en train d'etudier les deux lignes de code parce que je veux surtout comprendre

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonjour,

    tu utilise les deux manières de communiquer avec un SGBDR dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req = $bdd->prepare('INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES(?,?,?,?,?,?,?)');
    $sql = "INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES('', '".$titre."', '".$description."', '".$detail1."', '".$couleur."', '".$taille."', '".$prix."')";
    $bdd->exec($sql);
    tu utilise à la ligne 1 la méthode prepare() de ta variable PDO $bdd,

    elle enregistre donc ta requête SQL en lui spécifiant des paramètres
    ( tes ? dans ta première requête ou alors tu peut les remplacer par :mot ou pour chaque paramètre tu remplace mot par une chaine de caractère qui te servira pour remplacer cette "étiquette" par la valeur voulu, un exemple suivra après ^^)

    ensuite à la ligne 2 tu enregistre dans la variable $sql une chaine de caractère qui représente ta requête SQL qui va te servir à insérer dans ta BDD, tu concatène les différentes valeurs que tu souhaite voir apparaitre dans ta BDD.

    puis à la ligne 3 tu utilise la méthode exec() de ta variable PDO $bdd, elle est utilisée pour exécuter une requête directement et retourne le nombre de ligne qu'elle à modifier en BDD.

    Donc ici tu utilise deux façon complètements différentes pour pouvoir communiquer avec ton SGBDR, la méthode prepare() et exec(), selon ton besoin tu peut utiliser soit la méthode prepare() :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $req = $bdd->prepare('INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES(0,:titre,:descirption,:detail,:couleur,:taille,:prix)');
    $req->execute( array('titre'=>$titre, 
                         'descirption'=>$descirption,
                         'detail'=>$detail,
                         'couleur'=>$couleur,
                         'taille'=>$taille,
                         'prix'=>$prix) );
    pour pouvoir exécuter ta requête tu doit envoyer ta requête au SGBDR, puis si tu à spécifié des paramètres à ta requête, la méthode execute() ( qui est différente de exec() ) attend un tableau avec comme index le nom de tes paramètres et en valeur leurs valeurs.

    Sinon tu peut utiliser la méthode exec() pour exécuter ta requête,
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES('', '".$titre."', '".$description."', '".$detail1."', '".$couleur."', '".$taille."', '".$prix."')";
    $bdd->exec($sql);
    Attention avec cette méthode car tu doit vérifier ce que l'utilisateur envoi pour éviter les injections SQL.

    Personnellement je préfère utiliser la méthode prepare() qui à deux point fort :
    • Elle échappe ce que tu lui donne en paramètre sans avoir besoin d'utiliser de fonction php
    • Elle augmente la vitesse d'exécution si tu doit utiliser la même requête mais avec des paramètres différents


    Je te renvoi vers la doc de chaque méthode présentée dans les différents exemple pour t'aider.
    une réponse vous a permis d'avancer ?

  5. #5
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    merci bcp pour tes explicatons qui sont tres claires j'ai donc ete lire le cours correspondant "acces aux donnees " dans cours de php 5 , je pense avoir compris le fonctionnement (le cours est tres bien fait ) il est donc preferable comme tu me disais de prndre la methode avec requete preparee /

    j'ai donc privilégie ces requetes. Je regarde bien mon code , j'ai donc ceci: (sans surprise ca ne s'insere toujours pas dans ma bdd mais j'y crois toujours je continue a fouiller pou comprendre lol )

    Code : 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
     
     
    <?php
    			// Connexion à la base de données
    		try
    		{
    			$bdd = new PDO('mysql:host=localhost;dbname=zeus', 'root', '');
    		}
    			catch(Exception $e)
    		{
    			die('Erreur : '.$e->getMessage());
    		}
     
     
    if (isset($_POST['choix']) AND $_POST['choix']== 'kitfoot') 
    			{
    							// test envoie
     
     
    			if (isset($_POST['titre']) AND isset($_FILES['monfichier']['name']) AND isset($_FILES['detail1']['name']) AND isset($_POST['couleur']['name']) AND isset($_POST['prix']) AND isset($_POST['taille']))
    			{
    			$titre = htmlspecialchars($_POST['titre']);
    			$description= 'uploads/' . basename($_FILES['monfichier']['name']);
    			$detail1= 'uploads/' . basename($_FILES['detail1']['name']);
    			$couleur= 'uploads/' . basename($_FILES['couleur']['name']);
    			$prix= htmlspecialchars($_POST['prix']);
    			$taille= htmlspecialchars($_POST['taille']);
     
     
    			$req = $bdd->prepare('INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES(?,?,?,?,?,?,?)');
    			$req->execute( array('titre'=>$titre, 'description'=>$description, 'detail1'=>$detail1, 'couleur'=>$couleur, 'taille'=>$taille,'prix'=>$prix) );
    			}
    			}
    ?>
    Donc pour voir si tout est ok lol , je me connecte a ma bdd;
    je decrits mes variables dans un premier temps Ensuite, je prepare donc ma requete au depart donc d'apres le cours une fois que c fait pour la suite c ok une bonne fois pour toute J ai prefere utilise les ? car vu que j'ai un Id je prefere faire ainsi je trouve ca plus simple peut etre que je me trompe. Et enfin j'execute.

    Mais du coup mon id n'apparait pas dans execute() ?

    (merci en tout cas pour les conseils ,ca m'a permis de mieux chercher dans cours et de voir pour d'autres pb )

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    remplace les ? que tu utilise ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     VALUES(?,?,?,?,?,?,?)');
    par les mots clés que tu utilise ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute( array('titre'=>$titre, 'description'=>$description, 'detail1'=>$detail1, 'couleur'=>$couleur, 'taille'=>$taille,'prix'=>$prix) );
    ce qui donnera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    début de la requête ... VALUES(0, :titre, :description, :detail1, :couleur, :taille, :prix)
    ce bout de code correspond juste à la partie VALUES() de ta requête d'insertion oublie pas ce qu'il y'a avant ^^.
    une réponse vous a permis d'avancer ?

  7. #7
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    J'ai suivi ton conseil et mis les valeurs a la place des ? ... mais toujours pareil , je comprends pas j'ai beau le retourner dans tous les sens je ne vois pas ou ca bug .... je desespere ...

    j'ai essaye les deux facons ... le cote positif c 'est qu el'envoie de fichier mache nickel !

    Code : 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
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
     
    <body>
     
     
     
    <div id="wrapper"> <!-- Creation du cadre contenant les informations -->
    <div id="header"> <center><img src="css/banniere.gif"/> </center></div> <!--  Affichage du bandeau  -->
    <?php include("menuprincipal.php")?>
    <div id="content-wrapper"> <!-- Affichage de la partie centrale  -->
     
     
             <!--  Affichage du corps du site  -->
     
     
     
     
    	<div id="main">
    	<br/>
    	<br/>
     
     
     
    <?php
    			// Connexion à la base de données
    		try
    		{
    			$bdd = new PDO('mysql:host=localhost;dbname=zeus', 'root', '');
    		}
    			catch(Exception $e)
    		{
    			die('Erreur : '.$e->getMessage());
    		}
     
     
     
     
     
    // test envoie
    if (isset($_FILES['mini']) AND $_FILES['mini']['error'] == 0)
    {
            // test file size
            if ($_FILES['mini']['size'] <= 1000000)
            {
                    // test extension
                    $infosfichier = pathinfo($_FILES['mini']['name']);
                    $extension_upload = $infosfichier['extension'];
                    $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                    if (in_array($extension_upload, $extensions_autorisees))
                    {
                            // move fichier
                            move_uploaded_file($_FILES['mini']['tmp_name'], 'uploads/' . basename($_FILES['mini']['name']));
     
                    }
            }
     
     
    }
     
    		if (isset($_FILES['description']) AND $_FILES['description']['error'] == 0)
    			{
    			// test file size
    			if ($_FILES['description']['size'] <= 1000000)
    				{
    					// test extension
    					$infosfichier = pathinfo($_FILES['description']['name']);
    					$extension_upload = $infosfichier['extension'];
    					$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
    					if (in_array($extension_upload, $extensions_autorisees))
    					{
    							// move fichier
    							move_uploaded_file($_FILES['description']['tmp_name'], 'uploads/' . basename($_FILES['description']['name']));
    							echo "L'envoi a bien été effectué !";
    					}
    				}
     
     
    			}
     
    		if (isset($_FILES['couleur']) AND $_FILES['couleur']['error'] == 0)
    			{
    			// test file size
    			if ($_FILES['couleur']['size'] <= 1000000)
    				{
    					// test extension
    					$infosfichier = pathinfo($_FILES['couleur']['name']);
    					$extension_upload = $infosfichier['extension'];
    					$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
    					if (in_array($extension_upload, $extensions_autorisees))
    					{
    							// move fichier
    							move_uploaded_file($_FILES['couleur']['tmp_name'], 'uploads/' . basename($_FILES['couleur']['name']));
    							echo "L'envoi a bien été effectué !";
    					}
    				}
     
     
    			}
     
     
    // Choix du type de creation 
    // si kitfoot place dans bdd kitfoot
     
    			if (isset($_POST['choix']) AND $_POST['choix']== 'kitfoot') 
    			{
    							// test envoie
     
     
    			if (isset($_POST['titre']) AND isset($_FILES['mini']['name']) AND isset($_FILES['description']['name']) AND isset($_POST['couleur']['name']) AND isset($_POST['texte']) AND isset($_POST['prix']) )
    			{
    			$titre = htmlspecialchars($_POST['titre']);
    			$mini= 'uploads/' . basename($_FILES['mini']['name']);
    			$description= 'uploads/' . basename($_FILES['description']['name']);
    			$couleur= 'uploads/' . basename($_FILES['couleur']['name']);
    			$texte= htmlspecialchars($_POST['texte']);
    			$prix= htmlspecialchars($_POST['prix']);
     
     
     
    			$req = $bdd->prepare('INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES(0, :titre, :mini, :description, :couleur, :taille, :prix)');
    			$req->execute( array('titre'=>$titre, 'mini'=>$mini, 'description'=>$description, 'couleur'=>$couleur, 'texte'=>$texte,'prix'=>$prix) );
    			}
    			}
     
     
     
    ?>
     
     
    </div>
     
        </div>
     
     
     
    </div>
    </body>

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Y'a t'il un message d'erreur ?

    Le nom des colonnes dans ta requête sont t'ils tous bon ?
    ( je vois que tu à une variable $_POST['text'] mais que dans ta requête c'est la colonne taille ).

    Arrive tu bien au moment d'insérer les données dans ta BDD ?
    ( fait un echo 'Toto'; juste au dessus pour en être sur )
    une réponse vous a permis d'avancer ?

  9. #9
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    Non pas de message d 'erreur , je prefererais ... J'ai verifie les noms de colonnes .. et j'ai tout remis bien c pour ca qu'ils ont change d'ailleurs . J' ai modifie "texte " c t un petit bug pendant changement justement . Ca ne change rien .

    Et j'ai suivi ton conseil et fais un echo 'toto', qd je le mets juste apres mon listing des variables rien . Par contre qd je le mets apres ma ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset($_POST['choix']) AND $_POST['choix']== 'kitfoot') 
    			{
    ca apparait .. j'ai donc un pb au niveau de la declaration de mes variables si je comprends bien ....

    (merci encor epour ton aide)

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['titre']) AND isset($_FILES['mini']['name']) AND isset($_FILES['description']['name']) AND isset($_POST['couleur']['name']) AND isset($_POST['texte']) AND isset($_POST['prix']) )
    $_POST['couleur']['name'] ne devrait t'il pas être $_FILES['couleur']['name'] ?
    une réponse vous a permis d'avancer ?

  11. #11
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    alors que je le mets apres ma requete 'toto' apparait bien ..... mais toujorus rien dans bdd...'st à n'y rien comprendre

  12. #12
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Citation Envoyé par Exia93 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['titre']) AND isset($_FILES['mini']['name']) AND isset($_FILES['description']['name']) AND isset($_POST['couleur']['name']) AND isset($_POST['texte']) AND isset($_POST['prix']) )
    $_POST['couleur']['name'] ne devrait t'il pas être $_FILES['couleur']['name'] ?
    a tu vérifié ?
    une réponse vous a permis d'avancer ?

  13. #13
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    yessss ! merci !!!!

    ca fonctionne ca s'insert dans ma base de donnee ! merci bcp !!!!!!

    pffffff.....

    bon maintenant je rencontre un autre pb car ca ne m'a inséré que l'emplacement de l'image du coup qd je fais echo des donnees ca ne me met que le lien de l'image mais je vais cherche je l'avais deja fait auparavant donc faut que je retrouve comment !

    Merci encore bcp !!!

  14. #14
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Petit indice :

    l'attribut src"" d'une certaine balise HTML
    une réponse vous a permis d'avancer ?

  15. #15
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    oui non mais la c'est cool j'ai trouve rapidement et toute seule :p , c'est que j'ai rentre 90 % des produits du site en manuel sur base de donne et dans bdd je mettais le lien <img ...../> au lieu de mettre juste emplacement et de mettre un echo img ... du coup je suis en train de corriger toute ma bdd mais ca sera plus simple :p

    je suis contente y'a plus qu'a appliquer tout ca et il porra tout rentrer tout seule .... et par la site je lui ferai une gestion complete avec possibilite d'effacer des elements si besoin mais je vais y aller doucement lol

    on veut toujours aller trop vite ... pour info le site que je fais c 'est celui ci www.agence72.com y a pleins de bug que je corrige en local ... mais bon j'espere que ca ressemblera vite a qq chose ... ne pas trop tenir compte de la mise en page (surtout banniere qui est affreuse !! ) j'y travaillera qd le cote fonctionnel sera ok

    merci encore

  16. #16
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut retour de la galere
    bonjour ! ou plutot bonsoir !

    je reviens une nouvelle fois vers vous ... j'ai un petit pb ... lol

    alors tout mon code fonctionne correctement maintenant ca upload et ca se met correctement dans base de donnees. Mais ... j'ai une modification a faire dans la structure d emon site du coup j'ai deplace mon fichier upload donc normal il a fallu que je change chemin pour uploads mais mon changement ne veut pas marcher. En effet mon fichier uploads de depart avait pour chemin : www/zeus2/admin/uploads, et mon formulaire de traitement etait dans le meme dossier maintenant mon fichier upload se trouve www/zeus2/uploads. Dans mon code j'ai remplace uploads par ../upload mais ca ne fonctionne pas / ca l'enregistre bien dans bdd mais l'image ne se s'upload pas . Honnetement je ne comprends pas pourquoi .... mais bon je ne suis pas une reference... voici une partie de mon code. une petite idee?

    Code : 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
     
     
    if (isset($_FILES['couleur']) AND $_FILES['couleur']['error'] == 0)
    			{
    			// test file size
    			if ($_FILES['couleur']['size'] <= 1000000)
    				{
    					// test extension
    					$infosfichier = pathinfo($_FILES['couleur']['name']);
    					$extension_upload = $infosfichier['extension'];
    					$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
    					if (in_array($extension_upload, $extensions_autorisees))
    					{
    							// move fichier
    							move_uploaded_file($_FILES['couleur']['tmp_name'], 'uploads/' . basename($_FILES['couleur']['name']));
    							echo "L'envoi a bien été effectué !";
    					}
    				}
     
     
    			}
     
     
    // Choix du type de creation 
    // si kitfoot place dans bdd kitfoot
     
    			if (isset($_POST['choix']) AND $_POST['choix']== 'kitfoot') 
    			{
    							// test envoie
     
     
    			if (isset($_POST['titre']) AND isset($_FILES['mini']['name']) AND isset($_FILES['description']['name']) AND isset($_FILES['couleur']['name']) AND isset($_POST['texte']) AND isset($_POST['prix']) )
    			{
    			$titre = htmlspecialchars($_POST['titre']);
    			$mini= '../uploads/' . basename($_FILES['mini']['name']);
    			$description= '../uploads/' . basename($_FILES['description']['name']);
    			$couleur= '../uploads/' . basename($_FILES['couleur']['name']);
    			$texte= htmlspecialchars($_POST['texte']);
    			$prix= htmlspecialchars($_POST['prix']); 
     
     
     
    			$req = $bdd->prepare('INSERT INTO kitfoot (id, titre, mini, description, couleur, taille, prix) VALUES(0, :titre, :mini, :description, :couleur, :texte, :prix)');
    			$req->execute( array('titre'=>$titre, 'mini'=>$mini, 'description'=>$description, 'couleur'=>$couleur, 'texte'=>$texte,'prix'=>$prix) );
    			}
    			}

  17. #17
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonsoir,

    je pense que c'est un problème de lien vers le dossier uploads qu'il y'a un problème, ou as tu mis le ../uploads ?
    une réponse vous a permis d'avancer ?

  18. #18
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    Normalement tes images sont sauvegarder dans le dossier zeus2 si tu

    veux qu'elle soit sauver dans le dossier uploads alors remplace ../uploads par upload/
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

  19. #19
    Candidat au Club
    Femme Profil pro
    cc
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : cc
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    oui c'etait bien un pb de lien... je m'en suis rendu compte hier soir

    merci

  20. #20
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    Bonjour,

    Oui, l'erreur étais humaine
    tu peux mettre ton sujet en résolu si c'est le cas.
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

Discussions similaires

  1. [Débutant] Problème avec les BDD et VB
    Par Franck.H dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/05/2013, 15h03
  2. [MySQL] Gros problème avec ma BDD
    Par Kynareth dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 18/06/2012, 20h02
  3. Problème avec une bdd contenant beaucoup de tables
    Par M.Max dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/01/2010, 22h44
  4. [Forum] Problème avec l'affichage des messages
    Par mic79 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 12/08/2008, 12h45

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