Page 1 sur 1

Lien blank avec PHP

Posté : 27 mars 2012, 21:07
par ezacal
Bonjour,
je souhaite faire apparaitre un lien vers un fichier si celui ci existe mais dans un nouvel onglet.
je pensais faire

<?php if (file_exists($dest_dossier.$dest_fichier5jpg)){ echo '<a class="style14" href="'. $dest_dossier.$dest_fichier5jpg . '" target="_blank" >5ème JPG Voir</a>';}?>


mais le target="_blank"ne fonctionne pas, le fichier s'ouvre dans le même onglet
Si vous avez une idée, merci par avance

Re: Lien blank avec PHP

Posté : 27 mars 2012, 21:23
par xTG
Cet attribut n'est plus supporté par la norme W3C si je ne dis pas de bêtise.
Donc c'est pas étonnant qu'un navigateur à jour ne l'interprète plus.

Re: Lien blank avec PHP

Posté : 27 mars 2012, 22:08
par sirakawa
Râlons d'abord:
Si le titre avait été clair, j'aurais laissé tomber: en effet, je m'attendais à une question concernant les rapports incestueux entre Html et Php, du genre:
"quand l'utilisateur clique sur un lien, PHP ne comprend pas ce lien."
Question posée dans un forum inapproprié, car il suffisait de tester le code Hache Tes Melons Longitudinalement pour constater que l'erreur ne venait pas de php mais du code HTML.

Il y a de plus un siècle et trois générations que
cet attribut n'est plus supporté par la norme W3C
et xTG ne dit pas de bêtise en affirmant que
Donc c'est pas étonnant qu'un navigateur à jour ne l'interprète plus.
toutes choses qu'une lecture superficielle de
http://www.alsacreations.com/search/ (searh _blank)
aurait élucidées instantanément.

Maintenant, à coup de javascript, il y a peut-être moyen d'obtenir le même résultat, mais je flirte le moins possible aec javascript.
une solution simple serait de mettre dans la clause title du lien un message rappelant qu'un clic droit ouvre un menu donnant le choix de la fénêtre ou de l'onglet.

Que l'on me comprenne : aider oui, mais seulement aider des gens qui ont cherché et n'ont pas trouvé...
google : _blank en dit 1000 fois plus que nécessaire

Re: Lien blank avec PHP

Posté : 27 mars 2012, 22:22
par Mazarini
windows.open(url)
Mais je ne sais pas si ca ouvre un onglet ou une fenetre.

Re: Lien blank avec PHP

Posté : 28 mars 2012, 07:16
par xTG
windows.open(url)
Mais je ne sais pas si ca ouvre un onglet ou une fenetre.
Cela dépend de la configuration du navigateur. :)
Par exemple sur le mien si width et height ne sont pas renseigné ce sera un onglet, sinon une popup.

Re: Lien blank avec PHP

Posté : 28 mars 2012, 16:39
par AB
Tu peux faire simplement :

Code : Tout sélectionner

<a href="http://forum.phpfrance.com" onclick="this.target='_blank'">forum php france</a>

Sinon pour le target="_blank" en html c'est "le grand retour" et de nouveau supporté en html 5 http://www.w3schools.com/html5/att_a_target.asp

Re: Lien blank avec PHP

Posté : 28 mars 2012, 19:15
par ezacal
merci à tous pour ces réponses!!!
pour répondre à sirakawa, évidement, j'ai cherché avant de mettre un post. :shock:
Mais difficile de chercher lorsque l'on a du mal à "tourner" au mieux sa requête sur google( la preuve étant le titre que j'ai mis et qui ne t'a pas convenu)
Je te remercie malgré tout pour ton lien. :)
merci surtout à AB : réponse simple et claire =D> =D> =D>
je vais essayer sur le champ

cool!

Re: Lien blank avec PHP

Posté : 28 mars 2012, 20:25
par ezacal
pas bon.
erreur
parse error, expecting `','' or `';''

si je fais

Code : Tout sélectionner

<?php if (file_exists($dest_dossier.$dest_fichier5jpg)){ echo '<a class="style14" href="'. $dest_dossier.$dest_fichier5jpg . '" onclick="this.target='_blank'">5ème JPG Voir</a>';}?>
plus d"erreur si j'enleve les '

Code : Tout sélectionner

<?php if (file_exists($dest_dossier.$dest_fichier5jpg)){ echo '<a class="style14" href="'. $dest_dossier.$dest_fichier5jpg . '" onclick="this.target=_blank">5ème JPG Voir</a>';}?>
mais ouvre toujours dans la même fenetre.

merci de votre aide

Re: Lien blank avec PHP

Posté : 28 mars 2012, 20:42
par AB
pas bon parce que ta chaine n'est pas correcte.

prends modèle là dessus :
$lien = 'http://forum.phpfrance.com';
echo '<a class="style14"  href="'.$lien.'" onclick="this.target=\'_blank\'">5ème JPG Voir</a>';

Re: Lien blank avec PHP

Posté : 29 mars 2012, 21:43
par ezacal
c'était bien ça!
j'ai du mal avec les /

encore merci pour votre aide

Re: Lien blank avec PHP

Posté : 29 mars 2012, 22:23
par AB
Oui et pour la petite histoire cela fonctionnerait également en faisant :
echo '<a class="style14"  href="'.$lien.'" target=\'_blank\'>5ème JPG Voir</a>';
Le "onclick" dans mon exemple précédent était uniquement pour passer par javascript et rendre le code valide XHTML strict. Cela dit, même si le code était non valide XHTMLstrict, tous les navigateurs interprétaient correctement la commande en html simple. Cette façon de faire était donc plus une coquetterie pour faire plaisir au validateur plutôt qu'une nécessité fonctionnelle.

Enfin bon on ne parlera bientôt plus de cette vieille histoire qui a fait couler beaucoup d'encre à l'époque où il avait été décidé de décourager l'emploi de cette méthode en la rendant non valide strict - mais elle continuait néanmoins d'être supportée par tous les navigateurs car très utilisée par les webmestres... HTML5 sans doute par réalisme est devenu beaucoup tolérant et (re)valide l'emploi de cet attribut.