Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 15/03/2011, 10h21   #1
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 4
Points : 4
Par défaut Placement des guillemets dans un echo

Bonjour,
Je suis désolé de poster sur le forum juste pour un simple problème comme celui-ci mais la je séche complétement ... (et pourtant je ne débute pas)

Voila mon problème est le suivant:
Je recupére des variables dans ma bdd dont une qui est lien. Cependant je souhaite qu'il soit un lien et non pas un simple texte qui s'affiche.
Code :
1
2
 
echo  '<a href="'. $resultats['lien'] .'">' . $resultats['titre'] . '</a>' '<br /><br />';
Mais voila les guillemets interfèrent entre elles et j'ai beau avoir essayé les " avec ' et même les \ mais le problème est le même
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';'
Pouvez-vous m'indiquer comment faire ?

Merci d'avance.
MrTitomy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h33   #2
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
C'est pas normal le ' ' entre la fin de la balise <a> et le <br/> non ?

Soit tu ôtes les apostrophes soit tu places un . entre les 2
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h37   #3
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 709
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 709
Points : 3 279
Points : 3 279
Salut

A priori, les 2 quotes sont de trop au niveau des <br /> :
Code :
1
2
 
echo  '<a href="'.$resultats['lien'].'">'.$resultats['titre'].'</a><br /><br />';
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h55   #4
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 4
Points : 4
Mon problème reste le même ... sans les " ou avec. (j'ai testé)
Mais remercie quand même.

J'ai essayé une methome avec des \
Code :
echo  '<a href="\'.$resultats['lien'].\'">'.$resultats['titre'].'</a><br /><br />';
Mais rien à faire tjs le même message ...
MrTitomy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h05   #5
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Code :
echo  '<a href="'.$resultats['lien'].'">'.$resultats['titre'].'</a><br /><br />';
est parfaitement valide.

Peut-on avoir les lignes précédentes et suivantes ?
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h18   #6
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 4
Points : 4
Mon erreur etait bidon ... (comme je le pensais)
une ' dans une ligne précedente qui me bloquait ... j'en revient pas.
désolé du derangement et merci de vos reponses du rapidité tj aussi apréciable

Merci encore
MrTitomy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h24   #7
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Hello

Lire la référence ne peut pas faire de mal: http://www.php.net/manual/en/language.types.string.php
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h33   #8
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 4
Points : 4
T'inquiete pas je suis pas du genre à programmer sans savoir comment faire avant, je m'informe et j'aprrend avant de commencer.

Mais c'est vrai que la ... j'ai assez honte je l'avoue
Allez merci et bonne prog à vous.
MrTitomy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h37   #9
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 709
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 709
Points : 3 279
Points : 3 279
Citation:
J'ai essayé une methome avec des \
Tu cherche les complications là où il n'y en a pas.

Pour les échappement, la règle est simple.
On doit échapper un caractère (en Php on va dire) quand celui entre en conflit avec celui du langage est celui qu'on veut exploiter/afficher.

Dans ton dernier cas, il n'y a pas de conflit, donc il n'y a pas à échapper quoi que ce soit.

Si par exemple dans le texte du lien il fallait mettre une ' (une quote), là il y a conflit.
Exemple :
Code :
1
2
 
echo '<a ... etc ...>Faire l\'impossible</a>';
Echapper la quote (ou apostrophe) -> l\' de "impossible" devient obligatoire.

En faite, il faut que tu perçoive ces quotes comme des délimiteurs pour le langage.
La 1ère indique où ça commence, il faut donc une 2ème pour dire où ça fini.
Si entre les 2 (début et fin) il y a le même caractère, il y aura conflit, donc il faut échapper.

Même chose si on utilise des double quotes :
Code :
1
2
 
echo "Attention : aux \"doubles quotes\", mais pas aux 'simples quote' ...";
Ici, ce n'est plus les apostrophes qui causent problèmes, mais les guillemets.
Normal car cette fois ci j'ai utilisé comme délimiteurs des double quotes, donc c'est eux qui causent problèmes, et doivent être échappés s'il y en a entre le début et fin.

C'est simple, non ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 12h01   #10
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 4
Points : 4
Cool merci pour l'info. ça fait plaisir.

Mais j'avais déjà bien compris le fonctionnement.
je pensais que les apostrophes .$resultats['lien']. entre lien allaient interférer
avec les autres, mais après reflexion c'est pas possible .

N'empeche se forum est bien sympa ! merci encore
MrTitomy 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 21h16.


 
 
 
 
Partenaires

Hébergement Web