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

PHP & Base de données Discussion :

Insérer un texte et une image sur BDD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Points : 57
    Points
    57
    Par défaut Insérer un texte et une image sur BDD
    Bonjour à tous,

    J'ai un souci sur l'ajout d'info sur ma base de donnée.
    En gros, je veux mettre en place un sytème d'info ou un texte et une image sont insérer dans ma base de données.

    Mon souci vient du fait que lors de la validation de la news, mon image que je suis allé chercher sur mon pc s'est bien uploadée sur le FTP, par contre je n'ai rien dans ma BDD...

    J'ai beau regardé dans tous les sens mon code, je n'arrive pas à comprendre pourquoi rien ne s'ajoute...

    Voici mon code php:

    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
    if(isset($_POST['galerie_titre']) && !empty($_POST['galerie_titre'])) {
     
    	$url_image ='';
     
      	if(!empty($_FILES['image']['name'])) {
     
    	 /* Upload de la nouvelle Image */
    	 $image = new Upload();
    	 $image->doUpload("image","../images/photos/icones/","",110,"thumb");
     
    	 // On change la variable avec le nouveau nom 
    	 $url_image = $image->getName();
    	}
     
    	/* UPDATE Sql */
    	$sql->DatabaseConnexion();
     
    	$ajout = $sql->query("INSERT INTO "._TGALERIE_." VALUES(
    						'',
    						'".$url_image."',
    						'".$_POST["galerie_titre"]."',
    						'".$_POST["galerie_date"]."',
    						)");
     
    	$sql->DatabaseClose();
    }
    Mon formulaire:

    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
    <form action="" method="post" enctype="multipart/form-data" name="add_galerie" id="form_add_galerie">
                      <table width="588" border="0" cellspacing="0">
                        <tr>
                          <td class="texte-gras">Image:</td>
                          <td class="texte"><input type="file" name="image" /></td>
                        </tr>
    					<tr>
                          <td width="50" class="texte-gras">Titre:</td>
                          <td class="texte"><input name="galerie_titre" type="text" size="30" /></td>
                        </tr>
                        <tr>
                          <td class="texte-gras">Date:</td>
                          <td class="texte"><input name="galerie_date" type="text" value="AAAA-MM-JJ" size="30" /></td>
                        </tr>
                        <tr>
                          <td class="texte-gras">&nbsp;</td>
                          <td class="texte">&nbsp;</td>
                        </tr>
                      </table>
                      <p><br />
                          <br />
                          <input type="submit" name="submit" value="{GEN_ADD}" />
                        &nbsp;
                        <input type="reset" name="reset" value="{GEN_DEL}" />
                        <br />
                      </p>
                    </form>
    Je vous remercie d'avance pour votre aide!

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    peut être dus à une virgule en trop à la fin de ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $ajout = $sql->query("INSERT INTO "._TGALERIE_." VALUES(
    						'',
    						'".$url_image."',
    						'".$_POST["galerie_titre"]."',
    						'".$_POST["galerie_date"]."'
    						)");

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par numew Voir le message
    peut être dus à une virgule en trop à la fin de ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $ajout = $sql->query("INSERT INTO "._TGALERIE_." VALUES(
    						'',
    						'".$url_image."',
    						'".$_POST["galerie_titre"]."',
    						'".$_POST["galerie_date"]."'
    						)");


    Ca marche, tu avais raison...

    Juste à cause de cette virgule... alors qu'on m'avait expliqué que si elle était présente en fin de ligne comme cela, ce n'était pas grave... truc de fou!

    Ben merci à toi en tout cas!!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Points : 57
    Points
    57
    Par défaut
    J'ai parlé trop vite...

    En faite ça marche mais pas partout, je m'explique...

    J'ai fais mes test sur un site hébergé chez free, et ce dernier à donc marché.

    J'ai donc essayé de mettre ça en place sur un site hébergé chez ovh et là... patatra, j'ai un bug quand je veux allé sur ma page.

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /.../class.upload.inc.php on line 16
    Hors mon fichier uplaod n'a pas été touché, étant le même sur chacun de mes sites.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Upload {
    	// Définition des variables relatives à la classe
        private $uploadedFileName;
        private $uploadedFile;
        private $uploadedFileSize;
        private $uploadedFileType;
        private $randName;
     
    ...
    La ligne 16 correspond au $uploadedFileName.

    Comment ça se fait que sur free, je n'ai pas de bug et que sur un autre, je ne puisse accéder à ma page?
    Edit: J'ai trouvé, je n'étais pas en php5 sur l'autre site!

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

Discussions similaires

  1. Insérer un text dans une image JPEG(#C++)
    Par SoulWeb dans le forum C++
    Réponses: 4
    Dernier message: 26/06/2012, 16h55
  2. insérer une image sur JBUILDER
    Par dimitris dans le forum Débuter
    Réponses: 4
    Dernier message: 23/11/2008, 16h02
  3. [MySQL] insérer du texte dans une bdd
    Par esther60 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/06/2008, 17h05
  4. Insérer une image sur une autre
    Par Tsukaasa dans le forum Delphi
    Réponses: 7
    Dernier message: 04/11/2006, 10h23
  5. insérer une image sur une page html sans joindre son fichier
    Par fidji dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 03/02/2006, 10h15

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