8768 sujets

Développement web côté serveur, CMS

a écrit :
image qui ne s'affiche pas en site dynamique

Bonjour,

j'ai dans mon url racine du site un dossier 'admin' 'image' 'fichiers' 'images' ou se trouve logo etc...et mes fichiers php

avec affichage_annonce.php


j'ajoute annonce via mon fichier 'ajout_annonce.php' qui est dans mon répertoire 'admin', parce que je souhaite que ce soit moi qui ajoute les annonces


http://jeromei.phpnet.org/Copie%20de%20travail/admin

a écrit :
les annonces s'affichent sauf l'image (via affichage_annonce)


http://jeromei.phpnet.org/Copie%20de%20travail/affichage_annonce.php

a écrit :
et imossible de faire afficher l'image. je n'y arrive pas. pourriez vous m'aider svp?

ce serait super, hyper sympa. merci d'avance

je joins le fichier de ajout_annonce.php dans le dossier'admin' avec le code source et affichage_annonce.php ainsi que ma bdd.


a écrit :
fichier ajout_annonce




<?php 

include_once('inc/tete.inc.php'); // connexion base 
?> 


<?php 

if(isset($_POST["titre"])) { 
// récupération des variables 
$titre = addslashes($_POST["titre"]); 
$description = addslashes($_POST["description"]); 
$prix = addslashes($_POST["prix"]); 
$type = $_POST["type"]; 
$rub = $_POST["cat"]; 
$date = date("Y-m-d"); 

} 
// tests de validité 
if(empty($titre)){ 

$erreur="Veuillez saisir le titre de l'annonce"; 

} else { 

if(!empty($_FILES["fichiers"]["name"])){ // si il y a une affiche 

switch($_FILES["fichiers"]["error"]){ 
case 0: $erreur="Pas d'erreur"; break; 
case 1: $erreur="Le fichier dépasse la taille max. définie sur le serveur (php.ini)"; break; 
// directive upload_max_filesize 
case 2: $erreur="Le fichier dépasse la taille max. définie dans le formulaire"; break; 
case 3: $erreur="Le fichier n'a été que partiellement chargé"; break; 
case 4: $erreur="Le fichier n'a pas pu être téléchargé"; break; 
case 5: $erreur="Il n'existe pas de dossier temporaire, tel que défini par le serveur (php.ini)"; break; 
// directive upload_tmp_dir 
case 6: $erreur="Impossible d'écrire dans le dossier : vérifiez les droits"; break; 
default: $erreur="Erreur inconnue"; break; 
} 
if($_FILES["fichiers"]["error"]==0){ 
$depart=$_FILES["fichiers"]["tmp_name"]; 
$arrivee="../image/".$_FILES["fichiers"]["name"]; 



$arrivee=str_replace('../image/', 'image', $arrivee); 
echo $arrivee; 



?> 


<?php 

// vérification qu'un fichier portant ce nom n'existe pas déjà 
if(file_exists($arrivee)){ 
$erreur="Une affiche portant ce nom existe déjà"; 
} else { 
move_uploaded_file($depart, $arrivee); 
$sql = mysql_query("INSERT INTO pa (libelle, descriptif, id_rub, date, type, photo, prix) VALUES ($titre, $description, $rub, $date, $type, $arrivee $prix)"); 
$erreur = "Insertion effectuée avec succèe"; 
//header("Location:affichage_films.php"); 
} 
} 

} else { // si il n'y a pas d'affiche 

// insertion dans la base de données 
$sql = mysql_query("INSERT INTO pa (libelle, descriptif, id_rub, date, type, prix) VALUES ($titre, $description, $rub, $date, $type, $prix)"); 
$erreur = "Insertion effectuée avec succèe"; 
//header("Location:affichage_films.php"); 
} 
} 
require_once('inc/tete.inc.php'); 
?> 



a écrit :
<p>Pour ajouter une annonce, veuillez fournir les informations suivantes :</p>



<?php 

if(isset($erreur)) {echo "<p>$erreur</p>";} ?> 


[b]<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data"> 

<p>Titre de l'annonce<br /> 
<input type="text" name="titre" value="<?php echo stripslashes($titre); ?>" size="53" /><br /> 

<p>Type de l'annonce<br /> 
<input type="radio" name="type" value="achat" />Achat<br /> 
<input type="radio" name="type" value="vente" />Vente<br /> 

Emplacement de votre annonce :<br /> 
<select id="cat" name="cat"> [/b]



<?php 
// création et exécution d'une requête de sélection de toutes les catégories 
$sql_rub="SELECT * FROM rubrique WHERE ss_rub = '0'"; 
$rubsult=mysql_query($sql_rub); 

while($rub=mysql_fetch_assoc($rubsult)){ 

echo "nttttt<optgroup label="".$rub['libelle']."">"; 

$idrub = $rub['id_rub']; 

$sql_ss_rub="SELECT * FROM rubrique WHERE ss_rub = $idrub"; 
$ss_rubsult=mysql_query($sql_ss_rub); 
while($ss_rub=mysql_fetch_assoc($ss_rubsult)){ 
echo "nttttt<option value="".$ss_rub['id_rub']."">".$ss_rub['libelle']."</
option>"; 
} 

echo "</optgroup>"; 
} 
?> 


[b]</select><br /> 


Texte de l'annonce<br /> 
<textarea name="description" cols="40" rows="8"><?php echo stripslashes($description); ?></textarea><br /> 


Prix<br /> 
<input type="text" name="prix" value="<?php echo stripslashes($prix); ?>" size="10" /> 

<input type="hidden" name="MAX_FILE_SIZE" value="153600" /> 
<input type="file" name="fichiers" /> 
<input type="submit" value="Ajouter" /></p> 
</form> [/b]



<?php 
include_once('inc/pied.inc.php'); // affichage du pied de page 
?> 






a écrit :
fichier affichage_annonce.php



<?php 

//code affiche_annonce.php 

if(isset($_GET["indice"])){ 
$indice=$_GET["indice"]; 
} else { 
$indice=0; 
} 


$sql="SELECT * FROM pa ORDER BY id_pa ASC LIMIT $indice, 3"; 
$res=mysql_query($sql); 
while($pa=mysql_fetch_assoc($res)){ 

echo '<p>'.$pa.' id='.$pa["id"].'"</p>'; 

} 
// affichage de la navigation 
echo '<p>'; 
if(($indice-3)>=0){ 
echo '<a href="affichage_annonce.php?indice='.($indice-3).'">pr&eacute;c&eacut
e;dent</a>'; 
} 
if(($indice+3)<$max){ 
if(($indice-3)>=0){ 
echo ' | '; 
} 
echo '<a href="affichage_annonce.php?indice='.($indice+3).'">suivant</a></p&g
t;'; 
} 
?> 



<?php 
//code fiche.php dans le meme fichier que affichage_annonce


$sql="SELECT * FROM pa "; 
$result=mysql_query($sql); 
while ($pa=mysql_fetch_assoc($result)){ 

echo "nt<img src="image".$pa['photo']."" />"; 
echo "nt<h2>".$pa['libelle']."</h2><br />"; 
echo "nt<h2>".$pa['arrivee']."</h2><br />"; 
echo "nt<p>".stripslashes($pa['descriptif'])."</p><br />"; 
echo "nt<h3>Prix : ".$pa['prix']." &euro;<br /><br /></h3>"; 
echo "nt<hr><hr/>"; 
echo "nt<h4>annonce depos&eacute;e le : ".$pa['date']."</h4>"; 
echo "nt<hr /><hr /><br /><br />"; 

echo "<p><a href="mail.php?id=".$pa['id_pa']."">Contact</a></p>&quo
t;; 
} 

?>








a écrit :
fichier bdd




a écrit :
Base de données jeromei2


a écrit :
Structure de la table abonnes


a écrit :
Champ Type Null Défaut

id_abonne bigint(20) Non
courriel varchar(50) Non
mdp varchar(10) Non
civilite varchar(50) Non
nom varchar(50) Non
prenom varchar(50) Non
rue varchar(100) Non
cp varchar(20) Non
ville varchar(50) Non
dept char(3) Non
tel varchar(20) Non
date date Non 0000-00-00



a écrit :
Contenu de la table abonnes


a écrit :
Structure de la table abonnes_tmp


a écrit :
Champ Type Null Défaut
id_abonne bigint(20) Non 0
courriel varchar(50) Oui NULL
mdp varchar(10) Non
civilite varchar(50) Non
nom varchar(50) Non
prenom varchar(50) Non
rue varchar(100) Non
cp varchar(20) Non
ville varchar(50) Non
dept char(3) Non
tel varchar(20) Non
date date Non 0000-00-00



a écrit :
Contenu de la table abonnes_tmp


a écrit :
Structure de la table pa


a écrit :
Champ Type Null Défaut
id_pa mediumint(10) Non
id_rub mediumint(10) Non 0
dept mediumint(10) Non 0
type varchar(10) Non
libelle varchar(50) Non
descriptif text Non
date date Non 0000-00-00
photo varchar(50) Non image/nondispo.gif
prix smallint(6) Non 0




a écrit :
Contenu de la table pa


a écrit :
1 3 0 vente maison sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssssss 2008-06-09 image/nondispo.gif 32767
2 3 0 maison ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssss 2008-06-09 image/nondispo.gif 32767
3 3 0 maison ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssss 2008-06-09 image/nondispo.gif 32767
4 5 0 vente terrain 500m2 tres beau terrain avec ruisseau <br /> a negocier 2008-06-09 image/nondispo.gif 32767
5 0 0 vente maisonrouges sss 2008-06-09 ../image/P0300119.JPG 32767
6 3 0 achat terrain terrain bleu avec colline 2008-06-09 imageP0300133.JPG 1530
7 5 0 vente pierre ponce hhhhhhhhhhhhhh <br /> ssssssssssssss 2008-06-09 ../imageP0300155.JPG 10000
8 3 0 vente eopnge ss 2008-06-09 ../image/P0300130.JPG 10
9 3 0 vente essainouveau nouvel essai avec bon chemin 2008-06-09 ../image/P0300132.JPG 2000
10 3 0 achat aaa aa 2008-06-09 ../image/nondispo.gif 0
11 3 0 vente aaa aa 2008-06-09 ../image/nondispo.gif 1000
12 3 0 vente bernard ss 2008-06-09 ../image/nondispo.gif 0
13 3 0 vente bernard ss 2008-06-09 image/nondispo.gif 0
14 3 0 achat bianca ddd 2008-06-09 ../image/star.gif 10
15 3 0 achat tintin ddd 2008-06-09 ../image/Logo-ELIGO.gif 5
16 3 0 vente sss 2008-06-09 ../image/bouton-jaune-1.jpg 0
17 3 0 achat dd ddd 2008-06-09 admin/image/logopurple (1).jpg 0
18 3 0 achat aurelie dddd 2008-06-09 image/nondispo.gifstar.gif 0
19 5 0 vente aurelien fff 2008-06-09 imageetoile.jpg 0
20 3 0 vente ggggg ggg 2008-06-09 image/nondispo.gif 0
21 3 0 ggggg ggg 2008-06-09 imageboutons-vert-1.jpg 0
22 3 0 vente ggggg ggg 2008-06-09 imageboutons-vert-2.jpg 0
23 3 0 eligomarreeee eeee 2008-06-10 image/star.gif 0
24 3 0 eligomarreeee eeee 2008-06-10 ../image/star.gif 0
25 3 0 ssss eeee 2008-06-10 ../image/Logo-ELIGO.gif 0
26 3 0 achat ee ee 2008-06-10 ../image/pucebleuclaire.gif 20
27 3 0 vente ilo yhi 2008-06-11 ../image/Logo-ELIGO.jpg 0
28 3 0 edr rrrr 2008-06-11 ../image/plan.jpg 0
29 3 0 vente bg ggggg 2008-06-11 ../image/bouton-jaune-2.jpg 0
30 3 0 achat kevin ffff 2008-06-11 ../image/actualites.jpg 0
31 3 0 vente eligo sss 2008-06-11 ../image/fotolia_6894489.jpg 0
32 3 0 vente azer rrrrr 2008-06-11 ../image/fotolia_5571389.jpg 0
33 3 0 vente ddd ddd 2008-06-11 ../image/dv824003.jpg 0
34 3 0 vfr iii 2008-06-11 imagelogo-pole.jpg 0
35 3 0 vente pierre eeee 2008-06-12 0
36 3 0 vente lmlkm klkmù 2008-06-12 0
37 3 0 vente z zz 2008-06-12 ../image/Logo-ELIGO.jpg 0
38 5 0 achat test test 2008-06-13 image/nondispo.gif 1
39 3 0 test test 2008-06-13 image/nondispo.gif 1


a écrit :
Structure de la table rubrique


a écrit :
Champ Type Null Défaut

id_rub smallint(6) Non
ss_rub smallint(6) Oui 0
libelle varchar(30) Non


Contenu de la table rubrique



1 0 Terrain
2 0 Maison
3 1 Rustique
4 1 Contemporaine
5 1 Avec terrain
6 1 Isolée
7 1 Plus de 100 m2
8 1 Moins de 100 m2
[i]

Structure de la table t_departements

Champ Type Null Défaut



iddep char(2) Non
nom_dep varchar(100) Non

Contenu de la table t_departements

01 Ain
02 Aisne
03 Allier
04 Alpes de Hautes-Provence



Configuration: Windows XP
Firefox 2.0.0.14
[/i]
Modifié par jeromei (23 Jun 2008 - 09:18)
Re',

merci pour la mise en forme (j'ai juste édité ton message car les liens ne fonctionnaient pas).

Concernant ton problème, il y a 2 choses qui "clochent" :

1) la valeur de $arrivee me semble étrange (et d'ailleurs à quoi sert le str_replace Smiley murf ) : est-ce que tu as commencé par vérifier que les images étaient effectivement uploadées dans ton répertoire image ?

Tu pourrais jeter à oeil à la doc sur php.net


2) même si (ou quand) les images sont (seront) bien sur ton serveur, l'exemple de code suivant n'est pas prêt de fonctionner :
<img src="image../image/P0300130.JPG" />
Smiley langue

A+
pour le str_replace m' a été donné par une personne via internet avec cette phrase:

"en fait ce que tu dois faire c'est indiquer un chemin a rentrer dans ta base de donnée, mais donné un autre quand tu transfert le fichier sur le serveur, pour pouvoir le mettre où tu veux .

le str_replace sert à indiquer le bon chemin à la BDD, mais il faut quand même fournir le chemin d'origine (avant le str_replace) pour déplacer le fichier ...En fait il ne te l'affiche pas à cause de tes "../" !!

Il faudrait que dans ton script lorsque tu enregistres le chemin dans ta BDD tu fasses d'abord un str_replace("../i","i",$arrivee) pour avoir le chemin sans les "../"
après le chemin devrait être correct lorsque tu tenteras d'afficher ton image
"

alors j'avais essayé d'adapter.

a écrit :
bon je vais voir doc php net
Bonjour,
merci d'éviter les mises en gras trop fréquentes de long textes et d'ennoncer dorénavant
ton problème clairement dès le premier post Smiley cligne