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 :

Envoi de formulaire dans une BDD


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Envoi de formulaire dans une BDD
    Bonjour,

    Je cherche a récupérer les informations d'un formulaire qui sert a faire une occasion, il y a donc une image qui est upload et des données comme le nom et des commentaires.

    Le script qui reçoit ça doit y envoyé dans la BDD.

    Comme vous vous en doutez, ça ne marche pas, je fait donc appel a vous pour m'aider.

    Voici le code:

    Formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	<p>Ajouter une occasion.</p>
    	<p>Upload l'image sur la bbd.</p>
    	<form method="POST" action="ajout_occaz.php" enctype="multipart/form-data">
    		<input type="hidden" name="MAX_FILE_SIZE" value="100000">
    		Fichier : <input type="file" name="photo_ocaz">
    		<input type="text" name="nom" value="Nom de l'occaz">
    		<textarea name="commentaires" value="Commentaires"></textarea>
    		<input type="submit" name="envoyer" value="Envoyer le fichier">
    	</form>
    Script php:

    - Upload photo:
    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
     
    <?php
    /*
    	Photo occasion
    */
     
    $dossier = 'photos_occasions/';
    $fichier = basename($_FILES['photo_ocaz']['name']);
    $taille_maxi = 100000;
    $taille = filesize($_FILES['photo_ocaz']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['photo_ocaz']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['photo_ocaz']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
    -Envoie sur la BDD:
    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
     
    /*
    	Formulaire
    */
    	$afficher = 1;
    	$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
    	$afficher = mysql_real_escape_string(htmlspecialchars($_POST['afficher']));
    	$commentaires = mysql_real_escape_string(htmlspecialchars($_POST['commentaires']));
    	$url = $_FILES['photo_ocaz']['name'];
     
    	mysql_connect("********", "*******", "***********");
    	mysql_select_db("spyovoblaurel");
    	/*
    	INSERT INTO occasion(ID, Nom, Nom_Image, Afficher, commentaires) VALUES(:nom, :url, :afficher, :commentaires)');
    	$req->execute(array(
    		'nom' => $nom,
    		'url' => $_FILES['photo_ocaz']['name'],
    		'afficher' => $afficher,
    		'commentaires' => $commentaires
    		));
    	*/
    	$nom = $_POST['nom'];
    	$mail = $_POST['email'];
    	$pseudo = $_POST['pseudo'];
    	$requete = "INSERT INTO occasion('Nom','Nom_Image','Afficher','Commentaires') VALUES(\"$nom\",\"$url\",1,\"$commentaires\" )";
    	mysql_query($requete);
     
    	//echo "L\'occasion a bien été ajouté !";
    ?>
    Merci d'avance pour vos réponses, bonne soirée =)

    EDIT: Quand on envoie le formulaire je reçoit:
    Upload effectué avec succès !
    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.51/spyovobl/aurel/ajout_occaz.php on line 46

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /homez.51/spyovobl/aurel/ajout_occaz.php on line 46

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.51/spyovobl/aurel/ajout_occaz.php on line 47

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /homez.51/spyovobl/aurel/ajout_occaz.php on line 47

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.51/spyovobl/aurel/ajout_occaz.php on line 48

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /homez.51/spyovobl/aurel/ajout_occaz.php on line 48
    L'image n'est pas ajouter dans le dossier aussi.

  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
    Il faut faire la connexion avant d'utiliser mysql_real_escape_string().

    Pour le debug, controle ce que contient $_FILES.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai changé le login de place, il n'y a plus les warnings maintenant.

    Pour les photos elles sont bien misent sur le serveur mais avec un temps de décalage c'est bizarre. Par contre la BDD ne prend en compte aucun changement.

Discussions similaires

  1. [MySQL] Insertion des données du formulaire dans une BDD
    Par OG__fenomeno dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/05/2013, 11h52
  2. [PHP 5.0] formulaire oui non pour envoie dans une bdd
    Par micker dans le forum Langage
    Réponses: 5
    Dernier message: 10/03/2011, 15h56
  3. Réponses: 9
    Dernier message: 10/02/2010, 18h30
  4. [MySQL] envoi d'un formulaire dans une BDD
    Par angelusflm dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/02/2009, 10h45
  5. [MySQL] envoi d'image dans une bdd
    Par IRISnse dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/04/2008, 11h40

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