caractère spécial

x@v
Mammouth du PHP | 570 Messages

01 avr. 2007, 04:35

Bonjour,
j'ai un script qui fonctionne pas sur les index de ma table, je n'est pas pu faire autrement.
A chaque fois que j'essaie d'afficher le contenu de ma page en cliquant sur mon lien, sa ne fonctionne pas à cause de l'apostrophe et de l' é
Donc je me demande si il n'y a pas de fonction javascript, sa m'arrangerai bien, en php j'ai essayer une addslashes et stripslashes sans résultat.
http://88.167.164.83/jean-paul/index.php
function detailvu($conte) {
  $reponse = new xajaxResponse();
  $req = "SELECT * FROM pages where rubrique='$conte'";
  $query = mysql_query($req);
  $txt ='<p id="titre_menu">' . $conte . '</p>';
  $txt .= '<ul id="menu_colonne">';
  while($donnees = mysql_fetch_assoc($query)) {
  $txt .= '<li>';
  $txt .= '<a OnClick="xajax_article(\'' . $donnees['page'] . '\');" href="javascript:void(0);">' . $donnees['page'] . '</a>';
  $txt .= '</li>';
  }
    $txt .= '</ul>';
  $reponse->addAssign("menu", "innerHTML", $txt);
  return $reponse->getXML();
}


function article($page) {
  $reponse = new xajaxResponse();
  $req = "select * from article where page='$page'";
  $query = mysql_query($req);
  $txt='';
while($test= mysql_fetch_assoc($query)) {
  $txt.= '<div id="contenu">';
  $txt.= '<span id="mis_en_ligne">Mise en ligne&nbsp;le ';
  $affiche=date('d-m-Y', $test['creer']);
  $jourfr=explode('-', $affiche);
  $txt.= $jourfr[0].' '; // 00 jour
  $txt.= date_month($jourfr[1]).' '; // 00 mois
  $txt.= $jourfr[2].'</span><br />'; // 0000 année	
  $txt.= ''.stripslashes(ucfirst($test['article_text'])).'';
  $txt.= '<span id="modifier">Modifier le '; 
  $jour=date('d-m-Y', $test['modifier']);
  $jourfr=explode('-', $jour);
  $txt.= $jourfr[0].' '; // 00 jour
  $mois=date_month($jourfr[1]);
  $txt.= $mois.' '; // 00 mois
  $txt.= $jourfr[2].'<br />'; // 0000 année	
  $txt.= '</span></div>';
	}
  $reponse->addAssign("conte", "innerHTML", $txt);
  return $reponse->getXML();
}
Merci d'avance.
Modifié en dernier par x@v le 02 avr. 2007, 12:56, modifié 1 fois.

Mammouth du PHP | 1885 Messages

01 avr. 2007, 05:20

Rien compris.

Tu peux concerner plus concrètement le problème en quelques lignes?
Qu'est-ce qui ne fonctionne pas et comment on fait pour reproduire le problème? Et éventuellement, les résultats attendus.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Invité
Invité n'ayant pas de compte PHPfrance

02 avr. 2007, 11:54

oui c'est ici
http://88.167.164.83/jean-paul/
il faut cliquer sur une carte puis le menu qui se charge cliquez dessus, je suis obligé d'enlever les caractères spéciaux ou sinon le menu n'affiche pas le contenu.
Sa vient d'une base de donnée mysql.
En faite les liens on une table et le contenu une autre, pour la création d'article sa va, mais pour les afficher les index ne correspondent pas, donc j'utilise des champs textes pour l'affichage.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 avr. 2007, 12:40

C'est pas plus clair en ce qui me concerne.... qu'est ce qui ne fonctionne pas ? qu'est ce que ça devrait faire ? qu'est ce que ça fait et que ca ne devrait pas ? quels sont les messages d'erreur js ? quelle partie du code est lié à tes histoire d'apostrophes et d'entités html ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

x@v
Mammouth du PHP | 570 Messages

02 avr. 2007, 12:54

en faite j'ai plus de problème, j'ai intégré une fonction pour remplacer les caractères latin, mais je me rend compte que je suis limité et ne me convient plus.
quand je clique sur un lien si il y a un caractère spécial, la page ne s'affiche pas.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 avr. 2007, 14:18

Mais où dont qu'ils sont tes caractères spéciaux crénondijdjiou ?! :)
Si c'est dans l'url c'est normal, les accents et autres ne sont pas gérés par les dns (sauf au niveau du domaine). Il faut donc les convertir au format de l'url (avé les %20 pour les espace, etc.)

En php tu as urlencode(), en javascript la fonction escape(), avec plusieurs variantes selon ce que tu veux convertir :)

Vala, en supposant qu'il s'agisse juste d'un problème d'url...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

x@v
Mammouth du PHP | 570 Messages

02 avr. 2007, 15:38

J'y comprend rien à ces encodages, c'est pa grave je vais rester comme ça et au pire faire un deuxième formulaire d'insertion avec les id identiques comme sa le problème ne se posera plus.
Merci à toi Ryle.