Bonjour,

Voilà j'ai créer un système de news en php, et un livre d'or mais le problème est que quand je veux ajouter un message avec des accents ou caractères spéciaux le message ne s'affiche pas ! (Il s'affiche bien dans le phpmyadmin)

Donc est-ce que vous avez des idées pour que je règle tout ça?

Et j'ai mit le addslashes mais normal cela met un antislash automatiquement, comment on fais pour qu'il s'enlève automatiquement?

Je vous remercie d'avance.
J'arrive à faire plein de chose mais on tombe toujours sur des "conneries". Puis à mon avis je ne suis pas le seul avec ces accents..

7 réponses


Shryler
Auteur
Réponse acceptée

Bon j'ai trouvé merci, J'ai tout mit en UTF-8 comme ça je suis tranquil.

Avec un peu de code ça serait mieux ? :D

Shryler
Auteur

xD oui désolé j'était a moitié endormi ^^ livredor.php [code]<?php include "includes/head.php"; ?>

<?php include "includes/navigateur.php"; ?>

<?php foreach($_POST as $k=>$v) { $_POST[$k] = addslashes($v); } ?><?php if(isset($_GET['p']) && $_GET['p']==1){
echo '<div class="success">Votre commentaire à bien été posté.

'; } if(isset($_GET['p']) && $_GET['p']==2){ echo '
Vous n\'avez pas rempli tous les champs !

'; } ?><?php function convert_bbcode($texte)
{
$texte = htmlentities($texte, ENTNOQUOTES, 'UTF-8');
$conv = array(
'[u](.?)[\/u]' => '<u>$1</u>', '[img](.*?)[\/img]' => ' ', '[i](.\?)[\/i]' => '
$1_' ); foreach ($conv as $k => $v); { $texte = preg_replace('/'. $k .'/',$v,$texte); } $texte = nl2br($texte); return $texte; } if (!empty($_POST['contenu'])) { echo convert_bbcode($_POST['contenu']); } require "config.php"; mysql_connect(DB_HOST,DB_LOGIN,DB_PASS); mysql_select_db("db368918771"); $sql="SELECT * FROM livredor WHERE id"; $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); while($data=mysql_fetch_assoc($req)){ echo "

Posté le ".date("d/m/Y à H:i",strtotime($data["date"]))." par {$data["pseudo"]}

"; echo "

" . convert_bbcode($data["contenu"]) . "

"; } ?>
<form action="includes/livredor.php" method="post">
<input type="hidden" name="news_id" value="<?php echo $_GET['id'] ?>">
<strong>Pseudo :</strong> <input type="text" style="background-color:#dcdcdc;" name="pseudo"><br><br>
<strong>Adresse E-mail :</strong> <input type="text" name="mail" style="background-color:#dcdcdc;"><br><br>
<strong>Contenu :</strong> <br><br>
<textarea name="contenu" cols="40" rows="6" style="width:500px; height:100px; background-color:#dcdcdc;"></textarea><br><br>
<input type="submit" class="submit" value="Envoyez"><br>
<p><a href="index.php" class="fontsmall">Retour</a></p>
</form>

<?php include "includes/footer.php"; ?>
[/code] includes/livredor.php [code]<?php foreach($_POST as $k=>$v) { $_POST[$k] = addslashes($v); } ?> <?php require "../config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db("db368918771");
if(isset($_POST) && isset($_POST['pseudo']) && isset($_POST['mail']) && isset($_POST['contenu'])){
extract($_POST);
if(!empty($pseudo) && !empty($mail) && !empty($contenu)){
$sql="INSERT INTO livredor (pseudo,mail,contenu) VALUES ('$pseudo','$mail','$contenu')";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'
'.mysql_error()); print("<script type='\"text/javascript\"'>setTimeout('location=(\"../livredor.php?id=$id&p=1\")' ,10);</script>"); } else{ print("<script type='\"text/javascript\"'>setTimeout('location=(\"../livredor.php?id=$id&p=2\")' ,10);</script>"); } } ?>[/code]

Pourquoi :

$sql="SELECT * FROM livredor WHERE id";

Il faut que tu précises, "WHERE id= à quelque chose". Sinon ça sert à rien (enfin je crois x)).

Shryler
Auteur

Oui il ne sert à rien le WHERE id ^^

Shryler
Auteur

Up ? s'il vous plait !

Salut je travaille sur un petit logiciel .php qui nous permettra de traduire l’accent français en code universel.....
espérons que ça va nous aider tous!!!!