Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2010, 10h36   #1
Invité régulier
 
shaolin zeu
Inscription : novembre 2009
Messages : 31
Détails du profil
Informations personnelles :
Nom : shaolin zeu

Informations forums :
Inscription : novembre 2009
Messages : 31
Points : 5
Points : 5
Par défaut Un espace non désiré

Bonjour,

Après l'upload d'une photo et l'enregistrement de son nom unique dans une bdd, je voudrais simplement l'afficher. Elle est mise en variable "photo" par la commande:
Code :
$row = mysql_fetch_array($result))
Et pour l'afficher ...
Code :
echo '<img src="Photos/'.$photo.'" />
Ca fonctionne en globalité puisque le code html renvoyé est:
Photos/ nomdelaphoto
au lieu de Photos/nomdelaphoto sans l'espace après le slash. Mais du fait qu'il y ait cet espace, le lien est brisé et ne fonctionne pas.

Un super merci à qui me trouve la solution à cette micro erreur qui me pose un méga problème!!
zeushaolin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 10h38   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 815
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 815
Points : 3 440
Points : 3 440
Tu peux faire un ltrim( ) sur $photo.
Mais si le pb est général alors il vaudrait mieux voir ce qu'il se passe au moment de l'insertion en bdd.
Une fois le bug corrigé tu pourras soumettre un UPDATE pour corriger les données.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 10h48   #3
Invité régulier
 
shaolin zeu
Inscription : novembre 2009
Messages : 31
Détails du profil
Informations personnelles :
Nom : shaolin zeu

Informations forums :
Inscription : novembre 2009
Messages : 31
Points : 5
Points : 5
Salut, et merci de ton coup de main, dans la base de données, le nom est bien enregistré sans espace ... je connais pas cette fonction ltrim, j'vais m'renseigner ... tu as une petite idée d'où peut venir cet espace?
zeushaolin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 10h48   #4
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Comme dit Séb, fais un trim au moment de l'insertion en base puis corrige tes champs de ta table :

Code sql :
1
2
 
UPDATE taTable SET photo=TRIM(photo)
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 10h49   #5
Membre régulier
 
Inscription : octobre 2010
Messages : 101
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : octobre 2010
Messages : 101
Points : 71
Points : 71
si ltrim() ne fonctionne pas tu peux essayer cela :

Code :
$photo = preg_replace("#\s#","",$photo);
cela va t'enlever tous les 'blancs' dans ta chaîne de caractère.
proxichou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 10h55   #6
Invité régulier
 
shaolin zeu
Inscription : novembre 2009
Messages : 31
Détails du profil
Informations personnelles :
Nom : shaolin zeu

Informations forums :
Inscription : novembre 2009
Messages : 31
Points : 5
Points : 5
Merci Proxichou ça marche nickel !!!

Je sais pas d'où vous sortez ces commandes là ... hum ... j'en avais même jamais entendu parler ... ...

Pour la commande ltrim, en effet, je pense que ca aurait fonctionné au moment de la lecture de la variable, car l'écriture en bdd se faisait sans faute.

PROBLEME RESOLU, merci mille fois à tous !!!
zeushaolin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 10h58   #7
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Je persiste à dire que c'est pas la bonne solution de traiter le problème en aval et pas en amont
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h02   #8
Membre régulier
 
Inscription : octobre 2010
Messages : 101
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : octobre 2010
Messages : 101
Points : 71
Points : 71
oui Madfrix je suis du même avis ^^

si le nom de ta photo est bien enregistré dans ta BDD et qu'il ressort avec un 'blanc' ce n'est pas tout à fait 'normal' ...

pour le moment tu as une solution pour le virer mais si tu en as le courage tu devrais regarder en amont ce qui peut bien se passer.
proxichou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h05   #9
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Citation:
Envoyé par Madfrix Voir le message
Je persiste à dire que c'est pas la bonne solution de traiter le problème en aval et pas en amont
Je suis totalement d'accord, ça n'est alors que de la bidouille d'un process mal programmé et qu'on ne maitrise pas dans son intégralité.
Et ça renforce l'idée de "PHP est un langage de débutants" comme la plupart des nonPHPistes le pensent sur cette discussion :
http://www.developpez.net/forums/d99...e-va-plus-php/
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h07   #10
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Sinon fais ceci dans ta table :

Code sql :
1
2
 
UPDATE taTable SET photo=REPLACE(photo, ' ', '')

puis insère dans ta table ensuite des entrées en utilisant la méthode de proxichou
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h45   #11
Invité régulier
 
shaolin zeu
Inscription : novembre 2009
Messages : 31
Détails du profil
Informations personnelles :
Nom : shaolin zeu

Informations forums :
Inscription : novembre 2009
Messages : 31
Points : 5
Points : 5
Bon je me suis pris un peu la tête sur ce que vous m'avez conseillé étant donné que je ne connaissais pas ... et vous avez raison de conseiller de maitriser un script de fond en comble ... j'ai d'ailleurs retrouvé l'erreur, et c'était de ma faute comme bien souvent un espace que j'ai mis dans une réception de variable _get bien en amont de l'affichage. Néanmoins merci du tuyau pour la commande ltrim. L'espace avant le nom de la photo n'apparaissait pas dans la bdd ... c'est pour ça que j'étais un peu perdu ... et pensais traiter le problème après l'enregistrement puisqu'il était invisible avant ... bref'

L'apprenti en php vous remercie tous de vos précieux conseils.
zeushaolin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h36.


 
 
 
 
Partenaires

Hébergement Web