IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

apparition d'espace parasite chez un hébergeur


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut apparition d'espace parasite chez un hébergeur
    Bonjour,

    je viens de porter un site qui avant était chez Free, chez un autre hébergeur (Evxonline). Et ce changement d'hébergeur a fait apparaitre des espaces parasites que je n'arrive pas à supprimer (par exemple sous "Dernier résultat" et sous "Prochain RDV"). Je suis dans le forum PHP car à l'origine, il y a du PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ...
    <td><h2><center><b>Prochain RDV</b></center></h2></td></tr><tr><td style="text-align:justify"><center><?php 
     
    $id_conni = connect();
     
      $sql="select date_epreuve from `prochain_match`";
      $result = mysql_query($sql) or die(mysql_error($id_conni));
        while ($ligne = mysql_fetch_array($result, MYSQL_NUM)) {
     
            $date=$ligne[0];
     
    		$date=explode("/",$date);
     
    		}
     
      $date="http://---/Calendrier_Affichage_Auto".$date[0].".jpg";
    ?>
    <img src="<?php echo $date; ?>"/>
    ...
    Chez Free, le html généré est :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    <td><h2><center><b>Prochain RDV</b></center></h2></td></tr>
    <tr><td style="text-align:justify"><center><img src="http://---/Calendrier_Affichage_Auto30.jpg"/>
    ...
    et chez Evxonline :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    <td><h2><center><b>Prochain RDV</b></center></h2></td></tr>
    <tr><td style="text-align:justify"><center><br><br><img src="http://---/Calendrier_Affichage_Auto30.jpg"/>
    <br><br>...
    Les <br> supplémentaires sont évidents mais je n'ai pas réussi à les supprimer...(et si j'enlève le <center>, ça ne change rien)

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne nous montres pas le code qui correspond à la position du <br> ...

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Je ne comprends bien ta remarque, mais une chose est sûre : dans le code d'origine, y a rien qui correspond à ce <br>...

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Je ne comprends bien ta remarque, mais une chose est sûre : dans le code d'origine, y a rien qui correspond à ce <br>...
    Y'a forcément quelque chose qui provoque l'apparition de ces <br>.
    Pour commencer faudrait donner le code avant ET après la position des <br> ;-)

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Bon, j'en donne un peu plus ; d'abord, le code PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <table class="twps_17b737d37b5a43619637b74a97b91493" width="100%"><tr><td><h2><center><b>Prochain RDV</b></center></h2></td></tr>
    <tr><td style="text-align:justify"><center><?php 
    ...
    ?>
    <table><td><img src="<?php echo $date; ?>"/></td></table><br><?php
    ...
     
    echo '<span style="text-align: center"><b>'.$joursem[date("w",$timestamp)]." ".$jour." ".$mois."</b>
    <br>".$nature."
    <br>contre ".$adversaire."
    <br><b>RDV ".$heure." ".$lieu."</b></span>";
     
    $result = mysql_query($sql) or die(mysql_error($id_conni));
    ...
    ?></center><br></td></tr></table>
    puis le code généré chez Free :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table class="twps_17b737d37b5a43619637b74a97b91493" width="100%"><tr><td><h2><center><b>Prochain RDV</b></center></h2></td></tr>
    <tr><td style="text-align:justify"><img src="http://---/Calendrier_Affichage_Auto30.jpg"/>
    <br><span style="text-align: center"><b>Mardi 30 avril</b>
    <br>Match Amical
    <br>contre BG Vauzelles
    <br><b>RDV 19h30 ASAV</b></span><br></td></tr></table></tr></table>
    et le code généré chez Evxonline :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table class="twps_17b737d37b5a43619637b74a97b91493" width="100%"><tr><td><h2><center><b>Prochain RDV</b></center></h2></td></tr>
    <tr><td style="text-align:justify"><br><br><img src="http://---/Calendrier_Affichage_Auto30.jpg"/>
    <br><br><span style="text-align: center"><b>Samedi 30 avril</b>
    <br>Match Amical
    <br>contre BG Vauzelles
    <br><b>RDV 19h30 ASAV</b></span><br></td></tr></table></tr></table>
    (la différence entre mardi et samedi est liée à une bdd pas à jour !)

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu es sur de ce que tu nous montres ?
    Chez les deux hébérgeurs le "<center>" à l'intérieur du <td> a disparait ...

    Tu as essayé avec différents navigateurs ? Je crois que Firefox ré-arrange le code source quand il y a des incohérences HTML.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Tu as raison : ayant fait des essais, le code PHP ne correspondait pas tout-à-fait au code généré, mais là, je viens d'enlever le <center> du PHP et retransféré chez Evxonline (peux pas chez Free, car il faut une IP française et au boulot, elle est aux US), et le problème reste (pour IE8, Firefox et Chrome) :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table class="twps_17b737d37b5a43619637b74a97b91493" width="100%"><tr><td><h2><center><b>Prochain RDV</b></center></h2></td></tr>
    <tr><td style="text-align:justify"><br><br><table><td><img src="http://---/Calendrier_Affichage_Auto".$date[0].".jpg"/></td></table>
    <br><br><br><span style="text-align: center"><b>Samedi 30 avril</b>
    <br>Match Amical
    <br>contre BG Vauzelles
    <br><b>RDV 19h30 ASAV</b></span><br></td></tr></table>
    et
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <table class="twps_17b737d37b5a43619637b74a97b91493" width="100%"><tr><td><h2><center><b>Prochain RDV</b></center></h2></td></tr>
    <tr><td style="text-align:justify"><?php 
     
    $id_conni = connect();
     
      $sql="select date_epreuve from `prochain_match`";
      $result = mysql_query($sql) or die(mysql_error($id_conni));
        while ($ligne = mysql_fetch_array($result, MYSQL_NUM)) {
     
            $date=$ligne[0];
     
    		$date=explode("/",$date);
     
    		}
     
    date="http://---/Calendrier_Affichage_Auto".$date[0].".jpg";?>
    <table><td><img src="<?php echo $date; ?>"/></td></table><br><?php
     
    //date_default_timezone_set('Europe/London');
     
    $id_conni = connect();
    // déclarer la bdd en utf-8
    mysql_query("SET NAMES 'utf8'");
     
    $sql = stripslashes("SELECT * from `prochain_match`");
    $result = mysql_query($sql) or die(mysql_error($id_conni));
    $ligne = mysql_fetch_array($result, MYSQL_NUM);
    $date=$ligne[1];
    $heure=$ligne[2];
    $lieu=$ligne[3];
    $adversaire=$ligne[4];
    $nature=$ligne[5];
     
    $joursem = array ("Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche", "Lundi");
    $vdate=explode('/',$date);
    $mois=$vdate[1];
    $jour=$vdate[0];
    $annee=$vdate[2];
     
     
    switch ($mois) {
     
    case "1" : $mois="janvier"; break;
    case "2" : $mois="février"; break;
    case "3" : $mois="mars"; break;
    case "4" : $mois="avril"; break;
    case "5" : $mois="mai"; break;
    case "6" : $mois="juin"; break;
    case "7" : $mois="juillet"; break;
    case "8" : $mois="août"; break;
    case "9" : $mois="septembre"; break;
    case "10" : $mois="octobre"; break;
    case "11" : $mois="novembre"; break;
    case "12" : $mois="décembre"; break;
    }
    $timestamp = mktime (0,  0, 0, $mois, $jour, $annee);
     
    echo '<span style="text-align: center"><b>'.$joursem[date("w",$timestamp)]." ".$jour." ".$mois."</b>
    <br>".$nature."
    <br>contre ".$adversaire."
    <br><b>RDV ".$heure." ".$lieu."</b></span>";
     
    $result = mysql_query($sql) or die(mysql_error($id_conni));
    ?><br></td></tr></table>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que tu as pu circonscrire le problème ?
    Il peut sembler que les deux retours "br" se mettent quand le code php est ouvert <?php

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Il peut sembler que les deux retours "br" se mettent quand le code php est ouvert <?php
    Qu'est-ce qui te fait penser ça ? Et penses-tu que ça peut se résoudre si l'hébergeur change un truc dans la config du serveur ?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Petit Webmaster Amateur
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Petit Webmaster Amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Je me permets d'intervenir, je suis la personne pour laquelle laurentSc cherche la solution.

    Oui effectivement il se mette au niveau de l'ouverture du code php mais que l'on mette <?php ou <? le résultat est le même.

    Mon hébergeur (EVXOnline) pensait que ça pouvait être lié à l'activation du short_open_tag mais après essai (à leur demande) ce n'est pas lié.

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    J'ai fait un essai (partiel) : comme les <br> semblent apparaître lors des ouvertures/fermetures de PHP (<?php ou ?>), j'ai essayé de mettre une seule ouverture et une seule fermeture, et de mettre le html et le javascript dans des "echo" (et en échappant les nombreux ' ) ; mais les <br> restent :
    Code html Evxonline : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <table class="twps_226388f9aaf75b760bed7e0bda466d44" width="100%"><tr><td><h2><center>Dernier Résultat</center></h2></td></tr>
    <tr><td style="text-align:justify"><center><br><br><table><tr><td colspan=3 align=center><img src="http://---/score_auto4.jpg"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=""/></td></tr>
    <tr><td colspan=3><font size=1>&nbsp;</font></td></tr>
    <tr><td align=right><b>Papy's Foot</b></td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td align=left><b>Olympique Niv.</b></td></tr></table>
    et comme j'ai vu dans ce code qu'il y avait une chaîne de caractères non échappée, comme elle est issue d'une variable PHP, je l'ai passée dans addslashes(), mais c'est pire : le \ est affiché...

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ben oui, addslashes ça fait exactement ce que ça dit : ajouter des slashes. Si tu veux ne pas avoir de ' ou de " dans ton code html, essaye plutôt htmlspecialchars en mode ENT_QUOTES.

    Sinon, est-ce que tu n'aurais pas un appel à nl2br qui traine quelque part ?

    Au passage, quel est l'intérêt d'encadrer tout le contenu de ta balise <td style="text-align:justify"> par une balise <center> ? Tu pourrais faire directement <td style="text-align:center;">.

  13. #13
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Je ne cherche pas à supprimer les apostrophes ; je pensais qu'il fallait les échapper.
    Sinon, pas de nlbr.
    Enfin la raison de <td style="text-align:justify"><center>, c'est que le <center>, c'est mon code, mais pas le <td>, car j'utilise un outil générateur de site.
    Et soit dit en passant, mon problème d'espaces en trop est toujours là...

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    J'ai trouvé une solution, mais non satisfaisante car très lourde et qui serait à faire à chaque modif : tout mettre en PHP, donc s'il y a du html ou du javascript, au lieu de fermer le PHP puis le rouvrir pour la suite du code PHP, faire : echo 'code html ou js';. Mais c'est très lourd, donc je cherche une autre solution et comme il y a des chances que ça vienne de la config du serveur, voici les 2 PHPINFO : phpinfo evxonline et phpinfo Free. Quelqu'un peut-il comprendre ?

  15. #15
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Quelqu'un peut-il comprendre ?
    Peut-être du côté de APC, ou autre système de cache quelconque.
    N'utilises-tu pas les fonctions ob_*( ) ?

    A ta place je réduirais le script au maximum de manière à réduire le champ d'investigation.

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    N'utilises-tu pas les fonctions ob_*( )
    Ca me fait penser à la bufférisation de la sortie ; je vais donc essayer ; mais une question : est-il possible de faire certaines sorties avant de placer le ob_start() ? (C'est obligatoire si j'utilise cette solution).

Discussions similaires

  1. Réponses: 14
    Dernier message: 07/05/2011, 08h08
  2. [Configuration] modifier la config du php.ini chez l'hébergeur
    Par LDDL dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 06/12/2006, 22h05
  3. pannes récurrentes chez mon hébergeur
    Par Gwipi dans le forum Hébergement
    Réponses: 3
    Dernier message: 05/10/2005, 00h38
  4. problème d'accèes à un repertoire via FTP chez mon hébergeur
    Par vbcasimir dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 03/10/2005, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo