Affichage caracteres spéciaux

Eléphanteau du PHP | 23 Messages

21 nov. 2005, 17:07

Bonjour,

J'ai un petit probleme qui m'a incité à m'inscrire sur votre forum ! J'espere que vous pourrez m'aider ! Alors voila, j'ai crée une petite console d'administration pour modifier les news de mon site sans passer à chaque fois depuis phpmyadmin. Seul probleme, les accents n'apparaissent pas correctement...

Alors voila les codes, vous me trouverez peut etre le pb !

Pour la page modif.html (la ou il y a le champ de texte à remplir pour changer les news) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="modif.php">
<p>Texte des news à modifier</p>
<p>
<textarea name="champ1" cols="100" rows="10" id="champ1"></textarea>
</p>
<p> </p>
<p>
<="submit" name="Submit" value="Envoyer">
</p>
</form>
</body>
</html>

Et voila la page php qui traite les données :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

$champ1=$_POST['champ1'];
$db=mysql_connect('localhost','login','motdepasse') or die ("erre cnx");
mysql_select_db('xxx',$db) or die(mysql_error());
$sql = "Insert into news_fr(txt) Values ('$champ1')";
$rep=mysql_query($sql);
mysql_close($db);
?>
</body>
</html>

Est ce que quelqu'un peut m'aider ? Merci d'avance !

Eléphant du PHP | 153 Messages

21 nov. 2005, 17:12

Il me semble que pour passer une textarea il vaut mieux utiliser la méthode get mais ca je n'en suis pas sur ensuite pour inserer tes champs tu peux utiliser
$champ1=$_GET['champ1'];
$news=addslashes($champ1);
//insertion
Cela ajoute des /devant les caracteres spéciaux puis pour l'affichage
//requete
$news=stripslashes($champ);

echo $news;

Eléphanteau du PHP | 23 Messages

21 nov. 2005, 17:42

J'ai modifié ma page qui envoi les données, ca donne maintenant :
<?php

$champ1=$_GET['champ1'];
$news=addslashes($champ1);
$db=mysql_connect('localhost','xxx','xxx') or die ("erre cnx");
mysql_select_db('xxx',$db) or die(mysql_error());
$sql = "Insert into news_fr(txt) Values ('$champ1')";
$rep=mysql_query($sql);
	mysql_close($db);
?>
Pour la page d'affichage je ne comprend pas...

J'ai :
<?php

$db=mysql_connect('localhost','xxx','xxx') or die ("erre cnx");
mysql_select_db('xxx',$db) or die(mysql_error());
$sql = "SELECT * FROM news_fr Order by num desc Limit 1";
$req=mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($req) == 0) die ("table empty");

while ($ligne=mysql_fetch_array($req))
{
echo "{$ligne["txt"]}";
}

mysql_close($db);
?>
Comment mettre ce : //requete
$news=stripslashes($champ);

echo $news;

Merci !

Eléphant du PHP | 153 Messages

21 nov. 2005, 18:00


<?php 

$db=mysql_connect('localhost','xxx','xxx') or die ("erre cnx"); 
mysql_select_db('xxx',$db) or die(mysql_error()); 
$sql = "SELECT * FROM news_fr Order by num desc Limit 1"; 
$req=mysql_query($sql) or die(mysql_error()); 
if (mysql_num_rows($req) == 0) die ("table empty"); 

while ($ligne=mysql_fetch_array($req)) 
{ 
$news=$ligne['txt'];
$champ=stripslashes($news);
echo $champ;
} 

mysql_close($db); 
?> 

Invité
Invité n'ayant pas de compte PHPfrance

22 nov. 2005, 13:13

Ca ne marche pas :(

Mais c'est bizarre, mes caracteres speciaux ressemblent à ca : é è ù Ã

Ca vous dis quelque chose ?

Eléphanteau du PHP | 23 Messages

22 nov. 2005, 13:16

oups j'ai oublié de me connecté.

Sinon j'ai un autre probleme dans le style sur un autre site. C'est dans une animation flash cette fois ou des chaines de caractères de 2 ou 3 lettres sont remplacées par des carrés (comme quand on ouvre une mauvaise application avec le bloc note). Vous avez deja vu ca aussi ? Merci !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

22 nov. 2005, 20:41

caracteres speciaux
c'est quoi ces caractères spéciaux ?
regarde un peu le charset que tu as définis et si ces caractères y sont compris (google t'aidera dans les recherches :wink: )

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute