Problème de slash dans BDD MySQL
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai une partie news dans ma base de données qui me permet de gérer mes news qui s'affichent sur l'accueil de mon site. Malheureusement, quand je veux modifier un de ces news, des slashes s'ajoutent devant mes caractères spéciaux et quand j'enregistre le tout, ces slashes s'affichent sur ma page... et quand j'y retourne, je n'ai plus un slash mais trois slashes devant chaque caractère spéciaux et ainsi de suite... j'espère être assez clair... voici les codes correspondant à cette partie...
formulaire.php:
modifier.php
affichage.php:
J'ai une partie news dans ma base de données qui me permet de gérer mes news qui s'affichent sur l'accueil de mon site. Malheureusement, quand je veux modifier un de ces news, des slashes s'ajoutent devant mes caractères spéciaux et quand j'enregistre le tout, ces slashes s'affichent sur ma page... et quand j'y retourne, je n'ai plus un slash mais trois slashes devant chaque caractère spéciaux et ainsi de suite... j'espère être assez clair... voici les codes correspondant à cette partie...
formulaire.php:
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news { // On récupère les infos de la correspondante $retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']); $donnees = mysql_fetch_array($retour); // On place le titre et le contenu dans des variables simples $titre = stripslashes($donnees['titre']); $contenu = $donnees['contenu']; $auteur = $donnees['auteur']; $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification } else // C'est qu'on rédige une nouvelle news { // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news $titre = ''; $contenu = ''; $auteur = ''; $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification } ?> <form method="post" action="modifier_news.php"> <h2> Ajouter nouvelle</h2> <p> Titre : <input type="text" name="titre" size="30" value="<?php echo $titre; ?>"></p> <p> Contenu : <p> <textarea name="contenu" cols="80" rows="10" align="center"> <?php echo $contenu; ?> </textarea> </p></p> <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" /> <input type="hidden" name="auteur" value="<?php echo $_SESSION['prenom']." ".$_SESSION['nom'] ?>" /> <input type="submit" value="Envoyer" />
modifier.php
<?php //----------------------------------------------------- // Vérification 1 : est-ce qu'on veut poster une news ? //----------------------------------------------------- if (isset($_POST['titre']) AND isset($_POST['contenu'])) { $titre = addslashes($_POST['titre']); $contenu = addslashes($_POST['contenu']); $auteur = addslashes($_POST['auteur']); // On vérifie si c'est une modification de news ou pas if ($_POST['id_news'] == 0) { // Ce n'est pas une modification, on crée une nouvelle entrée dans la table mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "', '".$auteur."')"); } else { // C'est une modification, on met juste à jour le titre et le contenu mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id=" . $_POST['id_news']); } } //-------------------------------------------------------- // Vérification 2 : est-ce qu'on veut supprimer une news ? //-------------------------------------------------------- if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news { // Alors on supprime la news correspondante mysql_query('DELETE FROM news WHERE id=' . $_GET['supprimer_news']); } ?> <table><tr> <td>Modifier</td> <td>Supprimer</td> <td>Titre</td> <td>Date</td> <td>Auteur</td> </tr> <?php $retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or die(mysql_error()); while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news { ?> <tr> <td><?php echo '<a href="formulaire_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td> <td><?php echo '<a href="modifier_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td> <td><?php echo stripslashes($donnees['titre']); ?></td> <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td> <td><?php echo stripslashes($donnees['auteur']); ?></td> </tr>
affichage.php:
$requete = "select titre, contenu, timestamp, auteur from news order by id desc limit 0,1"; afficherNews($requete); function afficherNews($requete) { $resultat = mysql_query($requete); while ($ligne = mysql_fetch_assoc($resultat)) { echo "<h2>".nl2br(stripslashes($ligne['titre']))." écrit le ".date('d/m/Y à H\hi', $ligne['timestamp'])."</h2>"; $contenu = nl2br(stripslashes($ligne['contenu'])); echo "<p>".$contenu."<br/>"; echo "<h4>Posté par ".nl2br(stripslashes($ligne['auteur']))."</h4></p>"; } }
A voir également:
- Problème de slash dans BDD MySQL
- 3d slash - Télécharger - 3D
- Slash droit ✓ - Forum Autres distributions Linux
- Le signe " | " dans excel - Forum Excel
- Barre verticale droite sur clavier mac - Forum MacOS
- Anti slash ✓ - Forum Réseau