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

Discussion dans 'Web, design' créé par SkYlEsS, 15 Janvier 2006.

Statut de la discussion:
Fermée.
  1. Offline
    SkYlEsS Kawai
    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>';
    		}
    	}
    }
    SkYlEsS, 15 Janvier 2006
    #1
  2. Offline
    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>'; 
          } 
       } 
    }
    ?>
    MbK_, 15 Janvier 2006
    #2
  3. Offline
    SkYlEsS Kawai
    Comme d'ab, je venais de me rendre compte ... si je supprime simplement les addslashes, c'est bon !

    çà fait quoi les stripslashes ?
    SkYlEsS, 15 Janvier 2006
    #3
  4. Offline
    MbK_ Etudjant
    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_, 15 Janvier 2006
    #4
  5. Offline
    n3tfusiOn Elite
    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";
    ;)
    n3tfusiOn, 15 Janvier 2006
    #5
  6. Offline
    SkYlEsS Kawai
    Oui mais comme le truc basard bidule est activé il est inutile de le préciser :wink:
    SkYlEsS, 15 Janvier 2006
    #6
  7. Offline
    MbK_ Etudjant
    ho dsl j'ai inversé les 2 fonctions (salop*** de c/c :$ )
    MbK_, 16 Janvier 2006
    #7
  8. Offline
    mOrbide Elite
    Le truc basard bidule = magique quotes ? :D
    mOrbide, 17 Janvier 2006
    #8
Statut de la discussion:
Fermée.