pbrobleme entre php et une base mysql free

pbrobleme entre php et une base mysql free - PHP - Programmation

Marsh Posté le 05-06-2009 à 15:13:37    

bonjour,
je suis nouvelle sur ce forum. je viens solliciter votre aide, car la je ne trouve pas de solution.
je suis en train de créer mon site web pour ma petite entreprise, et j'ai besoins d'utiliser une  
base de données pour mes produits et mes clients.
les bases de mon site sont faites, je me suis donc attaquée à la programmation php.
 
en premier lieu j'ai fait une connexion à ma base. cette connexion semble marcher
car je n'ai pas mon message d'erreur qui s'affiche.
j'ai crée mon formulaire pour pouvoir remplir ma base de données via mon site, et c'est la
que sa commence à se compliquer.
 
Fonction pour me connecter a ma base
 
function connexion()
{
    $host="XXXXXXXXXXXXX";
    $user="XXXXXXXXXXXXX";
    $pass="XXXXXXX";
    $database="XXXXXXXX";
 
    $link=mysql_connect($host,$user,$pass);
    if (!$link)
    {
        die ('connexion impossible :' .mysql_error());
    }
    //else echo("connection reussite" );
    //$db=mysql_select_db($database);
}
 
Fonction pour l'envoi des données
 
function envoisdonnees()
{
    $nom=FALSE;
    $image=FALSE;
    $description=FALSE;
    $prix=FALSE;
    $quantite=FALSE;
    $erreur=FALSE;
 
    if(isset($_POST['ajouter']))
    {
        $nom=htmlentities($_POST['nom']);
        $image=htmlentities($_POST['image']);
        $description=htmlentities($_POST['description']);
        $prix=htmlentities($_POST['prix']);
        $quantite=htmlentities($_POST['quantite']);
    }
    if($_POST['nom']==NULL)
    {
        $erreur=true;
    }
    if($_POST['image']==NULL)
    {
        $erreur=true;
    }
    if($_POST['description']==NULL)
    {
        $erreur=true;
    }
    if($_POST['prix']==NULL)
    {
        $erreur=true;
    }
    if($_POST['quantite']==NULL)
    {
        $erreur=true;
    }
 
}
 
Fonction pour l'ecriture des données dans la base
 
function ecrituredonnees()
{
    $res=' ';
    if(isset($_POST['ajouter']))
                {
                    if($erreur==FALSE)
                    {
                       $res=("INSERT INTO articles VALUES('$nom','$image','$description','$prix','$quantite')" );
                       mysql_query($res);
                       die(mysql_query($res)) ;
                    }
                }
}
 
ma base de données contient pour le moment deux tables une articles et une clients
 
mon problème c'est que sa n'écrit rien dans ma base.
 
 
code de ma page php (une partie du code)
 
<div id="form">
                        <form enctype="multipart/form-data" method="post" action="traitementformulaire.php">
                            <FIELDSET>
                                <BLOCKQUOTE >
                                    <?php
                                    echo envoisdonnees();
                                    ?>
                                    Nom du Produit : <input name="nom"  type="text" style="width:250px;"  /> <img src="imagecentre/interrogation_rose_01.png" title="Nom du produit" >
                                    <br><br><br>
                                    Chemin de l'image : <input name="image" type="text" style="width:250px;" /> <img src="imagecentre/interrogation_rose_01.png" title="Spécifier le chemin d'acces à l'image du produit" >
                                    <br><br><br>
                                    Description du produit : <input name="description" type="text" style="width:400px;height:200px;"/> <img src="imagecentre/interrogation_rose_01.png" title="Description complète du produit" >
                                    <br><br><br>
                                    Prix : <input name="prix" type="text" style="width:80px;"/> <img src="imagecentre/interrogation_rose_01.png" title="Prix TTC du produit" >
                                    <br><br><br>
                                     Quantité : <input name="quantite" type="text" style="width:80px;"/> <img src="imagecentre/interrogation_rose_01.png" title="Quantité en stock" >
                                    <br><br><br>
                                    <BLOCKQUOTE >
                                        <input  name="ajouter" type="submit" value="Ajouter"/>
                                         <?php
                                         echo connexion();
                                         echo ecrituredonnees();
                                         ?>
                                        <input  name="modifier" type="submit" value="Modifier"/>
                                         <input name="supprimer" type="submit" value="Supprimer"/>
                                    </BLOCKQUOTE>
                                    <br>
                 
                                </BLOCKQUOTE>
                            </FIELDSET>
                        </form>
                    </div>
 
vous en pensez quoi?
 
bisous


Message édité par choupie07 le 05-06-2009 à 16:04:37
Reply

Marsh Posté le 05-06-2009 à 15:13:37   

Reply

Marsh Posté le 05-06-2009 à 15:28:11    

Définir des fonctions qui semblent ne reposer que sur des effets de bord n'est clairement pas une bonne idée... :-/

Reply

Marsh Posté le 05-06-2009 à 15:29:43    

tu veux dire quoi part la?
je débute et si je fais des erreurs, je suis prête à les corriger.

Reply

Marsh Posté le 06-06-2009 à 09:12:17    

Une fonction, c'est comme au sens mathématique : ça prend des arguments, et ça retourne une valeur. Et ça ne touche pas au reste !
 
Dans ton cas, tes fonctions ne prennent pas d'argument, ne retournent pas de valeur, et modifient tout le reste (requête SQL, un die, connexion à une base SQL sans retourner la connexion, check de variables dans un tableau superglobal, etc...)
 
Faire echo connexion() et echo ecrituredonnees() n'apporte rien, car cela n'affiche rien, et cela ne sert à rien.  
 
On n'apprend pas une langue en se contentant de regarder les mots qui sont exprimés dedans, on essaye d'en comprendre la grammaire... :-/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed