image n'apparait pas

Eléphant du PHP | 131 Messages

05 sept. 2005, 12:53

Mon problème affichage d'image n'est pas résolu.Dans le champ de ma table j'ai toto.jpg et l'image à le même nom dans le répertoire.
Si quelqu'un peut m'aider ce sera génial.
J'aimerai que dans la section membre de mon site quand l'utilisateur tape le pseudo d'un membre sa fiche puisse s'afficher. Ce que j'arrive à faire mais la photo n'apparait pas.
Voici le bout de code que j'ai mis dans mon script qui affiche toutes les données du membre.

echo '<td><img src="http://localhost/www/site/affiche.php?p ... o."/"></td>';

affichage.php

<?php
header('content-type: image/jpeg');
readfile('http://localhost/site/dossier');
?>
Modifié en dernier par 001cod10 le 06 sept. 2005, 22:56, modifié 1 fois.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 sept. 2005, 13:28

<td><img src="http://127.0.0.1/www/site/affiche.php?pseudo=<?php echo $pseudo; ?>"></td>
Donnes nous un code un peu plus complet.

Eléphanteau du PHP | 12 Messages

05 sept. 2005, 13:28

<?php
header('content-type: image/jpeg');
readfile('http://127.0.0.1/site/dossier');
?>
Tu ne mets pas de variable dans readfile ?

Code : Tout sélectionner

<?php header('content-type: image/jpeg'); readfile('http://127.0.0.1/site/dossier/' . $_GET['pseudo']); ?>

Eléphant du PHP | 131 Messages

05 sept. 2005, 13:45

Fiche.htm

Code : Tout sélectionner

<html> <body> <form action="fiche.php" method="post"> <table> <tr> <td>Pseudo:</td> <td><input type="text" name="pseudo" maxlength="6"/><br /></td> </tr> <tr> <td></td> <td><input type="submit" value="Rechercher"/></td> </tr> </table> </form> </body> </html>
Fiche.php

Code : Tout sélectionner

<? $pseudo = isset($_POST["pseudo"]) ? $_POST["pseudo"] : ""; // information pour la connection à le DB $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'nombase'; // connection à la DB $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); mysql_select_db($db) or die ('Erreur :'.mysql_error()); // requête SQL qui compte le nombre total d'enregistrement dans la table et qui //récupère tous les enregistrements $select = "SELECT * FROM Table WHERE pseudo='$pseudo'"; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result); // si on a récupéré un résultat on l'affiche. if($total) { // debut du tableau echo '<table border="0" bgcolor="">'."\n"; echo '<tr>'; echo '<td><img src="http://localhost/www/site/affiche.php?pseudo=<?php echo $pseudo; ?>"></td>'; echo'</tr>'; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while ($row = mysql_fetch_array($result)) { $age = date("Y-m-d") - $row["datenaissance"]; echo '<tr>'; echo '<td><font color="#023161"><b>'.$row["pseudo"].'</font></b> '; echo '<td>souhaite rencontrer</td>'; echo'<td>'.$row["jerecherche"].'</td>'; echo '</tr>'; echo '<tr>'; echo '<td></td>'; echo '<td><font color="#023161"><b>VILLE</font></b></td>'; echo '<td>'.$row["ville"].'</td>'; echo'</tr>'; echo '<tr>'; echo '<td></td>'; echo '<td><font color="#023161"><b>PAYS</font></b></td>'; echo '<td>'.$row["pays"].'</td>'; echo '</tr>'."\n"; echo '</table>'."\n"; // fin du tableau. }} else { echo 'Pas d\'enregistrements dans cette table...'; } // on libère le résultat mysql_free_result($result); mysql_close(); ?>
Modifié en dernier par 001cod10 le 07 sept. 2005, 12:41, modifié 1 fois.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 sept. 2005, 13:49

et le code de ton affiche.php ? C'est sans doute de là que provient le problème.

Eléphant du PHP | 131 Messages

05 sept. 2005, 13:52

affichage.php

Code : Tout sélectionner

<?php header('content-type: image/jpeg'); readfile('http://localhost/site/dossier/' . $_GET['pseudo']); ?>
Modifié en dernier par 001cod10 le 07 sept. 2005, 12:41, modifié 1 fois.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 sept. 2005, 13:56

même en rajoutant le $_GET['pseudo'] dans ton readfile comme le dit Toitoine ça ne fonctionne pas ?

chrileb
Invité n'ayant pas de compte PHPfrance

05 sept. 2005, 13:57

petits conseils:
faire attention a la casse entre le nom de ton image dans la bdd et le nom de ton fichier.
ex si dans bdd le nom est toto.jpg et que ton image s'appelle Toto.jpg l'image ne va pas s'afficher.
faire attention également au " ' "

Eléphant du PHP | 131 Messages

05 sept. 2005, 13:57

oui cela ne fonctionne pas

Eléphanteau du PHP | 12 Messages

05 sept. 2005, 14:06

Essaye un var_dump($_GET['pseudo']) pour tester ta variable.

Eléphant du PHP | 131 Messages

05 sept. 2005, 14:36

je n'ai aucune idée sur comment je vais testre la variable.

HD
Mammouth du PHP | 1181 Messages

05 sept. 2005, 15:06

"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphant du PHP | 131 Messages

05 sept. 2005, 16:12

J'ai été sur le lien mais je n'arrive pas me concentrer à tel point que je ne comprend pas ce qu'il faut faire.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 sept. 2005, 17:04

slt, tu va t'amuser (une fois le site en ligne)si tu met ts les liens comme ca, http://127.0.0.1/.....:

de plus pourquoi tu n'affiche pas ton image de tel manière:
<img src="site/<?echo $pseudo.'.jpg';?>">

sinon j'ai pas trop compri (ni cherché a comprendre :wink:) ce que fait header combiné au readfile, mais essai tjs comme ca (une précission de plus)
<?php 
header('content-type: image/jpeg'); 
readfile('http://127.0.0.1/site/dossier/' . $_GET['pseudo'].'.jpg'); 
?>

Eléphant du PHP | 131 Messages

05 sept. 2005, 17:19

Je t'explique mon probleme: Dans le champ photo de ma table j'ai 14.jpg comme étant le nom de la photo envoyée par l'utilisateur. La photo porte bien ce nom dans mon répertoire. Mon gros problème c'est l'affichage de l'image dans la fiche du membre. Ce que je constate le lien entre photo ne s'est pas fait entre le répertoire et ma table.