[Trouvé]Eviter les \ qui s'intercallent !

Statut
N'est pas ouverte pour d'autres réponses.

SkYlEsS

Elite
Dans mon forum, lorsque l'on edit un message des \ s'entercallent bizarrement ! Ce qui n'est pas le cas lors du postage d'un topic ou d'une réponse !

Voici le code, en espérant que quelqu'un sache ce qu'il faut modifier pour éviter ces fichus \ ... :D

Code:
echo '<div class="titre">Editer un message du forum</div><br>';

if(!isset($_COOKIE['id_joueur']))
{
	echo '<div class="texte">Connectez-vous pour éditer un message</div>';
}
else
{
	if(!isset($_POST['post_body']))
	{
		$requete = mysql_query("SELECT topic_author FROM ad_forum WHERE topic_id = '".$_GET['id']."' limit 1");
		$result = mysql_fetch_array($requete);
		$auteur = $result[0];

		$requete2 = mysql_query("SELECT nom_joueur FROM ad_joueurs WHERE id_joueur = '".$id_joueur."' limit 1");
		$result2 = mysql_fetch_array($requete2);
		$nom_joueur = $result2[0];	

		$req = mysql_query("SELECT topic_body FROM ad_forum WHERE topic_id = '".$_GET['id']."' limit 1");
		$res = mysql_fetch_array($req);

		if($auteur == $nom_joueur)
		{
			echo '<form action="forum_edit.php" method="post">';
			echo '<textarea style="width:100%" name="post_body" rows="10">'.$res[0].'</textarea>';
			echo '<input type="hidden" name="id" value="'.$_GET['id'].'">';
			echo '<input type="hidden" name="tid" value="'.$_GET['tid'].'">';
			echo '<div align="center"><br><input type="submit" value="Mettre à jour"></div>';
			echo '</form>';
		}
		elseif(isset($_COOKIE['id_joueur']) && in_array($_COOKIE['id_joueur'],$forum_admins))
		{
			echo '<form action="forum_edit.php" method="post">';
			echo '<textarea style="width:100%" name="post_body" rows="10">'.$res[0].'</textarea>';
			echo '<input type="hidden" name="id" value="'.$_GET['id'].'">';
			echo '<input type="hidden" name="tid" value="'.$_GET['tid'].'">';
			echo '<div align="center"><br><input type="submit" value="Mettre à jour"></div>';
			echo '</form>';
		}
		else
		{
			echo '<div class="texte">Vous ne pouvez pas éditer le message d\'un autre joueur</div>';
		}
	}
	else
	{
		$requete = mysql_query("SELECT topic_author FROM ad_forum WHERE topic_id = '".$_POST['id']."' limit 1");
		$result = mysql_fetch_array($requete);
		$auteur = $result[0];

		$requete2 = mysql_query("SELECT nom_joueur FROM ad_joueurs WHERE id_joueur = '".$id_joueur."' limit 1");
		$result2 = mysql_fetch_array($requete2);
		$nom_joueur = $result2[0];	

		if($auteur == $nom_joueur)
		{
			$id = $_POST['id'];
			$tid = $_POST['tid'];
			$post_body = addslashes($_POST['post_body']);
			mysql_query("UPDATE ad_forum SET topic_body = '$post_body' WHERE topic_id = '$id' ");
			echo '<script language="javascript">';
			echo 'window.location.href=\'forum_read-'.$tid.'.htm\';';
			echo '</script>';
		}
		elseif(isset($_COOKIE['id_joueur']) && in_array($_COOKIE['id_joueur'],$forum_admins))
		{
			$id = $_POST['id'];
			$tid = $_POST['tid'];
			$post_body = addslashes($_POST['post_body']);
			mysql_query("UPDATE ad_forum SET topic_body = '$post_body' WHERE topic_id = '$id' ");
			echo '<script language="javascript">';
			echo 'window.location.href=\'forum_read-'.$tid.'.htm\';';
			echo '</script>';
		}
		else
		{
			echo '<div class="texte">Vous ne pouvez pas éditer le message d\'un autre joueur</div>';
		}
	}
}
 

MbK_

Etudjant
pour ajouter les "/" tu fais

Code:
$tontexte = addslashes($tontexte);

Pour les enlever tu fais

Code:
$tontexte = stripslashes($tontexte);
EDIT :

Essaye avec ca :

Code:
<?
echo '<div class="titre">Editer un message du forum</div><br>'; 

if(!isset($_COOKIE['id_joueur'])) 
{ 
   echo '<div class="texte">Connectez-vous pour éditer un message</div>'; 
} 
else 
{ 
   if(!isset($_POST['post_body'])) 
   { 
      $requete = mysql_query("SELECT topic_author FROM ad_forum WHERE topic_id = '".$_GET['id']."' limit 1"); 
      $result = mysql_fetch_array($requete); 
      $auteur = $result[0]; 

      $requete2 = mysql_query("SELECT nom_joueur FROM ad_joueurs WHERE id_joueur = '".$id_joueur."' limit 1"); 
      $result2 = mysql_fetch_array($requete2); 
      $nom_joueur = $result2[0];    

      $req = mysql_query("SELECT topic_body FROM ad_forum WHERE topic_id = '".$_GET['id']."' limit 1"); 
      $res = mysql_fetch_array($req); 

      if($auteur == $nom_joueur) 
      { 
         echo '<form action="forum_edit.php" method="post">'; 
         echo '<textarea style="width:100%" name="post_body" rows="10">'.stripslashes($res[0]).'</textarea>'; 
         echo '<input type="hidden" name="id" value="'.$_GET['id'].'">'; 
         echo '<input type="hidden" name="tid" value="'.$_GET['tid'].'">'; 
         echo '<div align="center"><br><input type="submit" value="Mettre à jour"></div>'; 
         echo '</form>'; 
      } 
      elseif(isset($_COOKIE['id_joueur']) && in_array($_COOKIE['id_joueur'],$forum_admins)) 
      { 
         echo '<form action="forum_edit.php" method="post">'; 
         echo '<textarea style="width:100%" name="post_body" rows="10">'.stripslashes($res[0]).'</textarea>'; 
         echo '<input type="hidden" name="id" value="'.$_GET['id'].'">'; 
         echo '<input type="hidden" name="tid" value="'.$_GET['tid'].'">'; 
         echo '<div align="center"><br><input type="submit" value="Mettre à jour"></div>'; 
         echo '</form>'; 
      } 
      else 
      { 
         echo '<div class="texte">Vous ne pouvez pas éditer le message d\'un autre joueur</div>'; 
      } 
   } 
   else 
   { 
      $requete = mysql_query("SELECT topic_author FROM ad_forum WHERE topic_id = '".$_POST['id']."' limit 1"); 
      $result = mysql_fetch_array($requete); 
      $auteur = $result[0]; 

      $requete2 = mysql_query("SELECT nom_joueur FROM ad_joueurs WHERE id_joueur = '".$id_joueur."' limit 1"); 
      $result2 = mysql_fetch_array($requete2); 
      $nom_joueur = $result2[0];    

      if($auteur == $nom_joueur) 
      { 
         $id = $_POST['id']; 
         $tid = $_POST['tid']; 
         $post_body = addslashes($_POST['post_body']); 
         mysql_query("UPDATE ad_forum SET topic_body = '$post_body' WHERE topic_id = '$id' "); 
         echo '<script language="javascript">'; 
         echo 'window.l0cation.href=\'forum_read-'.$tid.'.htm\';'; 
         echo '</script>'; 
      } 
      elseif(isset($_COOKIE['id_joueur']) && in_array($_COOKIE['id_joueur'],$forum_admins)) 
      { 
         $id = $_POST['id']; 
         $tid = $_POST['tid']; 
         $post_body = addslashes($_POST['post_body']); 
         mysql_query("UPDATE ad_forum SET topic_body = '$post_body' WHERE topic_id = '$id' "); 
         echo '<script language="javascript">'; 
         echo 'window.l0cation.href=\'forum_read-'.$tid.'.htm\';'; 
         echo '</script>'; 
      } 
      else 
      { 
         echo '<div class="texte">Vous ne pouvez pas éditer le message d\'un autre joueur</div>'; 
      } 
   } 
}
?>
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Comme d'ab, je venais de me rendre compte ... si je supprime simplement les addslashes, c'est bon !

çà fait quoi les stripslashes ?
 

MbK_

Etudjant
SkYlEsS a dit:
Comme d'ab, je venais de me rendre compte ... si je supprime simplement les addslashes, c'est bon !

çà fait quoi les stripslashes ?
bah ca supprise les "\" ...

Exemple :

Code:
$texte = "Je n'aime pas les bonbons";

$texte2 = stripslashes($texte);
echo $texte2 ;
// ca renverra "Je n\'aime pas les bonbons";

$texte3 = addslashes($texte);
echo $texte3; 
// ca renverra "Je n'aime pas les bonbons";
 
MbK_ a dit:
SkYlEsS a dit:
Comme d'ab, je venais de me rendre compte ... si je supprime simplement les addslashes, c'est bon !

çà fait quoi les stripslashes ?
bah ca supprise les "\" ...

Exemple :

Code:
$texte = "Je n'aime pas les bonbons";

$texte2 = stripslashes($texte);
echo $texte2 ;
// ca renverra "Je n\'aime pas les bonbons";

$texte3 = addslashes($texte);
echo $texte3; 
// ca renverra "Je n'aime pas les bonbons";
C'est plutot :
Code:
$texte = "Je n'aime pas les bonbons";

$texte3 = addslashes($texte);
echo $texte3;
// ca renverra "Je n\'aime pas les bonbons";


$texte2 = stripslashes($texte);
echo $texte2 ;
// ca renverra "Je n'aime pas les bonbons";
;)
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Oui mais comme le truc basard bidule est activé il est inutile de le préciser :wink:
 

MbK_

Etudjant
ho dsl j'ai inversé les 2 fonctions (salop*** de c/c :$ )
 

mOrbide

Elite
SkYlEsS a dit:
Oui mais comme le truc basard bidule est activé il est inutile de le préciser :wink:
Le truc basard bidule = magique quotes ? :D
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut