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 :

[PHP-JS] Afficher du code PHP


Sujet :

Langage PHP

  1. #1
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut [PHP-JS] Afficher du code PHP
    salut,
    Je travaille sur une page affichant du code php.
    En double cliquant sur le code, j'ai un petit script AJAX qui me permet de l'éditer.
    Mais mon code est coupé !
    Javascript envoie bien la totalité du contenu du champ (donc tout le code),
    Mais la page php ne renvoie qu'une partie.
    J'ai remarqué que ça coupait souvent dans un 'if' vers '&&'.

    voici comment je traite mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php 
    include('connect.php');
    connect();
    if (isset($_POST['id']) && isset($_POST['content'])){
    	$id = $_POST['id'];
    	$content = htmlentities($_POST['content']);
    	$query = 'UPDATE code_code SET content="'.$content.'" WHERE id="'.$id.'"';
     
    	if(@mysql_query($query)) echo $content;
    	else echo '-1';
    }	
    ?>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Ne jamais mettre ça :')

    Ensuite remplace les ' par des \', avec la commande addslashes(), je pense que le problème vient plus de ça que du && (surtout si tu fais un htmlentities).

    Bonne soirée.

  3. #3
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    merci pour ta réponse,
    j'ai bien essayé avec le addslashes mais sans succés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
    include('connect.php');
    connect();
    if (isset($_POST['id']) && isset($_POST['content'])){
    	$id = $_POST['id'];
    	$content = htmlentities($_POST['content']);
    	$content = addslashes($content);
    	$query = 'UPDATE code_code SET content="'.$content.'" WHERE id="'.$id.'"';
     
    	if(@mysql_query($query)) echo $content;
    	else echo '-1';
    }	
    ?>
    si je poste le code ci-dessus par exemple, dans ma base j'aurai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    &lt;?php 
    include('connect.php');
    connect();
    if (isset($_POST['id'])

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Truc tout bête ... ton champ, il est en TEXT et pas en VARCHAR ?

  5. #5
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    il est en TEXT

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    On peut avoir le code source pour afficher ton code php ?

  7. #7
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    je l'affiche via une fonction javascript, un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (result != '') div.innerHTML = result;
    Mais, je ne pense pas que cela vienne de là parce que dejà dans la base de données le code est coupé. J'ai fait un test en enlevant '&&' et là j'ai bien la totalité !! bizarre n'est ce pas !?
    Il semblerait que cela vienne du traitement de la variable $_POST['content']...

  8. #8
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    je viens peut être d'avoir une idée !!
    comme je passe les variables via javascript (AJAX) en fait les & sont confondus avec les séparations de variables...
    faudrait que je traite la chaine en javascript avant de la poster...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Bizarre ... pourtant avec le htmlentities les & devraient êtres remplacés par des &amp;

    De plus j'ai essayé chez moi et ça fonctionne ...
    Essaye ma fonction bbcode (celle des entrées) :
    Code : 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
    function bbcode_entrer($message) {
    	/* BASE */
    	$message = addslashes($message);
    	$message = htmlentities($message);
    	/* MODIFICATION SPECIFIQUE */
    	$message = str_replace('#','[DIESE]',$message);
    	$message = str_replace('{','[ACOLADE]',$message);
    	$message = str_replace('}','[/ACOLADE]',$message);
    	$message = str_replace('@','[AT]',$message);
    	$message = str_replace('%','[MODULO]',$message);
    	/* RETOUR A LA LIGNE */
    	$message = str_replace ('
    ','[BR]',$message) ;
    	/* RETOURNE LA VALEUR */ 
    	return $message;
    }

  10. #10
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    bon effectivement c'était le passage en javascript qui perturbait l'envoi en consiérant tout ce qui suivait le & comme un nouveau paramètres. Donc j'ai fait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newContent = newContent.replace(/(&)/g,"*amp*");
    (grace à l'aide trouvée sur le forum javascript pour l'expression régulière )

    Mais encore une question cependant :
    quel est le principe de fonctionnement des balises [code] utilisées sur ce forum pour que le code apparaissent comme dans un éditeur?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Une fonction de base permet de mettre du code en couleur (ces couleurs sont modifiable via le php.ini) :
    En espérant avoir aidé.

  12. #12
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    c'est exactement la fonction qu'il me fallait !!
    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. évènement onmouseover qui affiche du code php ?
    Par The_Nail dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 10/06/2008, 17h51
  2. [MySQL] Code PhP pour afficher une BDD
    Par FSDonwload dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/04/2008, 00h15
  3. [Wamp] Une partie de mon de code PHP s'affiche à l'écran
    Par zwibir dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 27/03/2008, 19h19
  4. [EasyPHP] Du code PHP s'affiche dans ma page
    Par psgman113 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 20/03/2007, 10h29
  5. Problème le code PHP s'affiche dans le navigateur
    Par Christophe LUCET dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2006, 14h12

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