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 :

Enregistrer lien image [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut Enregistrer lien image
    Bonjour tout le monde,

    Je réalise un site web en PHP orienté objet. Dans la partie administration, j'ai une page correspondant à la liste des articles.
    Lorsque je souhaite ajouter un article, plusieurs renseignements sont à insérer dont l'ajout du lien de la photo via un bouton "Parcourir". (voir ci-joint l'image de ma fenêtre.)

    Voici le code de cette fenêtre.
    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
    <?php
    	require_once("../../Les_utilitaires/Connexion.php");
    	require_once("../../Les_classes/class_categorie.php");
    	require_once("../../Les_DAO/DAO_categorie.php");
    	require_once("../../Les_classes/class_article.php");
    	require_once("../../Les_DAO/DAO_article.php");
     
    if (($_POST['Code_cat']=="")||($_POST['prix_art']=="")||($_POST['marque_art']=="")||($_POST['modele_art']=="")||($_POST['cylindre_art']=="")||($_POST['design_art']=="")||($_POST['nom']==""))
    {
    	?>
    	<script language="javascript">
    		alert('Veuillez saisir les renseignements concernant larticle');
    		document.location.href='../../index_admin.php?action=insert_article';
    	</script>
    	<?php
    }
    else
    {
    	$article = DAO_Article::NouvelleArt();
     
    	// Instance d'un article
    	$monarticle = new article($_POST['Code_cat'], $article, $_POST['prix_art'], $_POST['marque_art'], $_POST['modele_art'], $_POST['cylindre_art'], $_POST['design_art'], $_FILES['photo_art'], $_POST['nom']);
     
    	if ((isset($_FILES['photo_art'])&&($_FILES['photo_art']['error'] != 4)))
    	{
    		$dest_base = $_FILES['photo_art']['name'];
     
      		$dest_path = 'images_moto/'.$dest_base;
     
      		// Instance d'un article
      		$monarticle = new article($_POST['Code_cat'], $article, $_POST['prix_art'], $_POST['marque_art'], $_POST['modele_art'], $_POST['cylindre_art'], $_POST['design_art'], $dest_path, $_POST['nom']);
     
      		// Appel de la méthode 'SauvegarderArticle' de la classe 'DAO_Article'
      		$MonArt = DAO_Article::SauvegarderArticle($monarticle);
    	}
    	else
    	{
    		$dest_path = 'images_moto/pas_apercu.jpg';
    		$monarticle = new article($_POST['Code_cat'], $article, $_POST['prix_art'], $_POST['marque_art'], $_POST['modele_art'], $_POST['cylindre_art'], $_POST['design_art'], $dest_path, $_POST['nom']);
    		// Appel de la méthode 'SauvegarderArticle' de la classe 'DAO_Article'
    		$MonArt = DAO_Article::SauvegarderArticle($monarticle);
    	}
     
    	$MonArt = DAO_Article::SauvegarderArticle($monarticle);
    	?>
      <!--  <script language="javascript">
    		document.location.href='../../index_admin.php?action=liste_article';
    	</script>-->
    	<?php
    }
    ?>
    Lorsque je vais chercher une image dans le dossier "C://_ _ _ _ _/images_moto/_ _ _ .jpg" l'enregistrement du chemin ne se fais pas c'est à dire que l'on va directement dans le "else du second "if"" et non dans le "if((isset($_FILES['photo_art'])&&($_FILES['photo_art']['error'] != 4)))".
    Je comprend pas pourquoi?? Et comment puis-je faire pour que cela fonctionne??

    Merci d'avance
    Images attachées Images attachées  

  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
    Par défaut
    as-tu controlé ce que contenait $_FILES['photo_art'] ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à sabotage
    Tout d'abord merci pour ta réponse aussi rapide.

    Le problème c'est que si je met un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo($_FILES['photo_art']);
    juste après la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $monarticle = new article($_POST['Code_cat'], $article, $_POST['prix_art'], $_POST['marque_art'], $_POST['modele_art'], $_POST['cylindre_art'], $_POST['design_art'], $_FILES['photo_art'], $_POST['nom']);
    Je n'obtiens aucun résultat.

    Cordialement

  4. #4
    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
    Par défaut
    utilise plutot print_r() ou var_dump() car si ta variable faut FALSE, echo n'affichera rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à sabotage
    utilise plutot print_r() ou var_dump() car si ta variable faut FALSE, echo n'affichera rien.
    Donc lorsque je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$monarticle = new article($_POST['Code_cat'], $article, $_POST['prix_art'], $_POST['marque_art'], $_POST['modele_art'], $_POST['cylindre_art'], $_POST['design_art'], $_FILES['photo_art'], $_POST['nom']);
     
    	var_dump($_FILES['photo_art']);
    il me renvoie NULL.

    Cordialement.

  6. #6
    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
    Par défaut
    tu as bien enctype="multipart/form-data" dans ton <form> ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. enregistrer une image depuis un liens (graph dundas)
    Par manshivas dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/07/2009, 13h54
  2. question sur les liens images
    Par geoffreykill dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/01/2005, 14h37
  3. Lien-image : BUG reconnu de IE 6 ?
    Par protos69 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 20/01/2005, 16h49
  4. [débutante]Probleme de liens image dans JSP/Servlet
    Par celine31 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/11/2004, 15h51
  5. enregistrer une image et un identifiant
    Par dosach dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/03/2004, 17h18

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