bbcode et php

gto55
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 40
Inscription: 22 Jan 2006

bbcode et php

Message le Mer Juin 14, 2006 0:56

Je développe un blog en 2 langues et j'ai trouvé sur editeurjavascript, http://editeurjavascript.com/scripts/scripts_formulaires_3_318.php , un script pour insérer bbcode, je l'ai ajouté à la page php.
Les boutons apparaissent mais pas les balises bbcode.

Les boutons bbcode sont entre une balise php.

Il y a une boucle sur le textarea pour insérer le contenu en plusieurs langues, c'est ici que le script bloque.

Est-ce que qqn sait ce qu'il faudrait modifier?

Merci :o :oops:

Code: Tout sélectionner
<?php require 'connect.php'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> AJOUTER DES NEWS </title>
<title>Backoffice: login</title>
<link rel="stylesheet" href="../css/css.css" type="text/css" />
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.ico" />


<script language="Javascript">
var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function storeCaret(selec)
{
   if (isMozilla)
   {
   // Si on est sur Mozilla

      oField = document.forms['form'].elements['texteNews[]'];

      objectValue = oField.value;

      deb = oField.selectionStart;
      fin = oField.selectionEnd;

      objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
      objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
      objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

   //   alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
         
      oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
      oField.selectionStart = strlen(objectValueDeb);
      oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
      oField.focus();
      oField.setSelectionRange(
         objectValueDeb.length + selec.length + 2,
         objectValueDeb.length + selec.length + 2);
   }
   else
   {
   // Si on est sur IE
      
      oField = document.forms['form'].elements['texteNews[]'];
      var str = document.selection.createRange().text;

      if (str.length>0)
      {
      // Si on a selectionné du texte
         var sel = document.selection.createRange();
         sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
         sel.collapse();
         sel.select();
      }
      else
      {
         oField.focus(oField.caretPos);
      //   alert(oField.caretPos+"\n"+oField.value.length+"\n")
         oField.focus(oField.value.length);
         oField.caretPos = document.selection.createRange().duplicate();
         
         var bidon = "%~%";
         var orig = oField.value;
         oField.caretPos.text = bidon;
         var i = oField.value.search(bidon);
         oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
         var r = 0;
         for(n = 0; n < i; n++)
         {if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
         pos = i + 2 + selec.length - r;
         //placer(document.forms['news'].elements['newst'], pos);
         var r = oField.createTextRange();
         r.moveStart('character', pos);
         r.collapse();
         r.select();

      }
   }
}

</script>
</head>
<body>
<div id="conteneur">
  <h1 id="header"><a href="admin.php" title="Accueil"><span>Accueil</span></a></h1>
  <div id="contentTop"></div>
  <div id="contenu">
    <div id="titre"> :: DEFINIR LA NEWS OU ACTUALIT&Eacute; :: </div>
    <br />
    <br />
    <form name="form" action="ajouterNews.php" method="post" enctype="multipart/form-data">
      <table>
        <tr>
          <td width="200" valign="top">.Sélectionner l'icône de la news:</td>
          <td><select name="iconeNews" size="1">
              <option value="actu">actu</option>
              <option value="sport">sport</option>
              <option value="musique">musique</option>
              <option value="cinema">cinéma</option>
            </select>
          </td>
        </tr>
        <tr>
          <td width="200" valign="top">.Auteur de la news</td>
          <td  ><input name="auteur" type="text" class="champ" id="auteur" /></td>
        </tr>
        <tr>
          <td width="200" valign="top">.Titre du lien</td>
          <td  ><input name="lien" type="text" class="champ" id="lien" /></td>
        </tr>
        <tr>
          <td width="200" valign="top">.Url du lien</td>
          <td  ><input name="url" type="text" class="champ" id="url" /></td>
        </tr>
        <tr>
          <td width="200" valign="top">.Image preview de la news:</td>
          <td><input name="imagePreview" type="file"  class="champ" id="imagePreview" /></td>
        </tr>
        <tr>
          <td width="200" valign="top">.Image de la news:</td>
          <td><input name="image" type="file"  class="champ" id="image" /></td>
        </tr>
        <tr>
          <td width="200" valign="top">.Flv de la news:</td>
          <td><input name="flv" type="file"  class="champ" id="flv" /></td>
        </tr>
        <?php
$queryLangue = "SELECT * FROM langue";
$resultLangue = mysql_query($queryLangue, $link);

// boucle sur la table langue et afficher ses résultats avec array
while($row = mysql_fetch_array($resultLangue)){
echo '         
        <tr>
          <td width="200" valign="top">.Titre de la news en '.$row["langue"].'</td>
          <td><input name="titreNews[]" type="text" class="champ" id="title'.$row["langue"].'" /></td>
        </tr>
       <tr>
          <td width="270" valign="top">.Texte '.$row["langue"].' de la news:</td>
          <td>
<input type="button" value="b" style="width:50px;font-weight:bold" onclick="storeCaret(\'b\')">
<input type="button" value="i" style="width:50px;font-style:italic" onclick="storeCaret(\'i\')">
<input type="button" value="u" style="width:50px;text-decoration:underline" onclick="storeCaret(\'u\')">
<input type="button" value="quote"style="width:50px" onclick="storeCaret(\'quote\')">
<input type="button" value="code"style="width:50px" onclick="storeCaret(\'code\')">
<input type="button" value="url"style="width:50px" onclick="storeCaret(\'url\')">
<input type="button" value="img"style="width:50px" onclick="storeCaret(\'img\')"><br>
<textarea name="texteNews[]"  cols="30" rows="7" class="champ" id="texteNews'.$row["langue"].'">
            </textarea></td>
        </tr>      
      ';
      }?>
        <!--<input type="hidden" name="MAX_FILE_SIZE" value="20000000" /> -->
        <input type="hidden" name="time" value="<?php echo date("Y-m-d"); ?>" />
        <tr>
          <td width="100" valign="top">&nbsp;</td>
          <td><input type="submit" name="Submit" value="Envoyer" /></td>
        </tr>
      </table>
    </form>
  </div>
  <div id="contentBottom"></div>
  <div id="bottom"></div>
</div>
</body>
</html>


david96
WRInaute passionné
WRInaute passionné
 
Messages: 1430
Inscription: 28 Aoû 2005

Message le Mer Juin 14, 2006 10:53

Je ne suis pas sûr, mais essaie en enlevant les crochets de texteNews[] (dans le code javascript et le name du textaera). :?

gto55
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 40
Inscription: 22 Jan 2006

Message le Mer Juin 14, 2006 14:31

Merci pour cette réponse rapide :o

Le site est en 2 langues, et pour récupérer les valeurs des textearea, leur name est un tableau.


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Mer Juin 14, 2006 14:59

j'avais un problème similaire, et donc ce post devrait t'aider :
http://www.webrankinfo.com/forums/highl ... htm#431941

gto55
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 40
Inscription: 22 Jan 2006

Message le Mer Juin 14, 2006 20:52

Je vais essayer.

Merci :oops: :o

gto55
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 40
Inscription: 22 Jan 2006

Message le Mer Juin 14, 2006 22:48

Ca ne marche pas :cry:

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Jeu Juin 15, 2006 7:37

je n'ai pas compris le pb ?

gto55
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 40
Inscription: 22 Jan 2006

Message le Jeu Juin 15, 2006 12:20

le script fait appel au formulaire et au textearea "texteNews".

Le name du textearea est un tableau, pour récupérer le texte en 2 langues dans la base de données.

Le script ne marche pas qd on appelle un tableau.

J'ai essayé de mettre un id, il refuse de marcher.

:cry:

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Jeu Juin 15, 2006 12:59

tu ne peux avoir deux textes différents dans un textarea comme les autres l'on fait remarqué...

il te faut deux textarea simplement..

gto55
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 40
Inscription: 22 Jan 2006

Message le Ven Juin 16, 2006 13:12

Il y a 2 textearea sur le formulaire, avec un name qui est un tableau "texteNews[]" qui permet de récupérer par la suite 2 valeurs à insérer dans la base de données.

Merci :oops: :o

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Ven Juin 16, 2006 15:45

ca ne marche pas ainsi:

il faut 2 textarea avec deux name différents.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité