Rechercher : dans
Par :

Bbcode+formulaire!

Dernière réponse le 20 fév 2008 à 16:00:49 boss0211, le 13 jui 2006 à 21:49:46 
 Signaler ce message aux modérateurs

Bonjour,
je souahiterais savoir quel sont mes erreur (voir ce que cela produit: http://boss021190.free.fr/bbcodemodifier/form.php) car rien ne ce met dans la BBD. voici les script:

form.php:

Code : Autre<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>BBCode en Javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">

form, .pages {text-align:center;}
body { background:url(http://boss021190.free.fr/grey.jpg);}
</style>

<script language="javascript" type="text/javascript" src="prev.js"></script><!-- on appelle le fichier prev.js pour faire fonctionne la prévisualisation -->
<script language="Javascript">
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.textarea;
input.focus();
/* pour IE (toujous un cas appar lui ;) )*/
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour les navigateurs plus récents que IE comme Firefox... */
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs comme Netscape... */
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.textarea.value += '' + img + '';
}
</script>
</head>
<body>
<form method="post" action="livreor.php" name="livretest">
Pseudo : <input name="pseudo" /><br />
Note (entre 0 et 10): <input name="note" value="/10"/><a href="http://www.guppytop.com/vote.php?id=1006" target="_blank">
<img src="http://www.guppytop.com/images/general/guppytop.gif" border="0" alt="GuppYTop - l'annuaire des sites sous CMS GuppY" title="GuppYTop - l'annuaire des sites sous CMS GuppY">
</a><br />
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[gras]', '[/gras]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[italic]', '[/italic]');return(false)" />
<input type="hidden" id="image" name="image" value="Image" onClick="javascript:bbcode('[image]', '[/image]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url=http://VOTRE_ADRESSE_DE_SITE_ICI]', '[/url]');return(false)" />
<a href="#" title="Créer une citation" onClick="javascript:bbcode('[citation=VOTRE PSEUDO]', '[/citation]');return(false)">Citation</a>
<img src="smile.png" title="" alt="" onClick="javascript:smilies(':D');return(false)" />
<img src="clin.png" title="" alt="" onClick="javascript:smilies(';}');return(false)" />
<br />
<input name="auto" id="auto" type="checkbox" onClick="automatique()" /> <label for="auto">Prévisualisation automatique</label>
<!-- on créer la case à cocher pour un prévisualisation automatique -->
<br />
<textarea cols=35 rows=10 id="textarea" name="textarea">C'est dans ce textarea que va s'afficher les balises BBCode.</textarea>
<br />
<input type="button" value="Prévisualiser" onClick="previsualisation();return(false)" /><!-- ce bouton va permettre aux utilisateurs de d'avoir un aperçu quand ils le veulent, pas en direct -->
<div style="border: 1px dashed #000000; padding: 0.2em; height: 200px; overflow: auto; width: 19%;" align="left" id="prev"></div>
<!-- on créer un div avec quelques caractéristique, on lui donne un nom et on ne le remplit pas, on le laisse vide -->
<input type="submit" name="submit" value="Envoyer" />
</form>
<!--*********************************************MYSQL********************************************************************-->
<p class="pages">
<?php
mysql_connect("localhost", "loggin", "password");
mysql_select_db("boss021190");

// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------

if (isset($_POST['pseudo']) AND isset ($_POST['note']) AND isset($_POST['textarea']))
{

$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On utilise htmlentities par mesure de sécurité
$note = htmlentities($_POST['note'], ENT_QUOTES);

$textarea = htmlentities($_POST['textarea'], ENT_QUOTES); // De même pour le message
$textarea = nl2br($textarea); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />

// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livretest VALUES('', '" . $pseudo . "', '" . $note . "', '". $textarea . "')");
}

<br />
<center>&copy Annuaire boss021190</center>
<a href="http://boss021190.free.fr"><div style="text-align:center; font-size:1;">Retour</div></a>
</body>
</html>

livreor.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">

form, .pages {text-align:center;}
body { background:url(http://boss021190.free.fr/grey.jpg);}
</style>


</head>

<body>

<p class="pages">
<?php
mysql_connect("localhost", "loggin", "password");
mysql_select_db("boss021190");

// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 10; // Essayez de changer ce nombre pour voir :o)

// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livretest');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];

// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}

?>

</p>

<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------

mysql_connect("localhost", "loggin", "password");
mysql_select_db("boss021190");
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM livretest ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{
echo '<center><table style="border:1px solid; border-color:blue; background:#9999FF;" width="75%"><tr><td style="border:1px solid;"><p><b>' . $donnees['pseudo'] . ' a écrit :</td></b></tr><tr><td>' . $donnees['textarea'] . '<br /> Note: ' .$donnees['note'] .' </td></tr></table> </p></center>';
}

mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>
<br />
<center>&copy Annuaire boss021190</center>
<a href="http://boss021190.free.fr"><div style="text-align:center; font-size:1;">Retour</div></a>
</body>
</html>

prev.js:

Code : JavaScriptvar timer=0;
var ptag=String.fromCharCode(5,6,7);
function previsualisation() {
t=document.formulaire.textarea.value
t=code_to_html(t)
if (document.getElementById) document.getElementById("prev").innerHTML=t
if (document.formulaire.auto.checked) timer=setTimeout(previsualisation,1)
<!-- le "1" est le temps que met le texte à s'afficher, "1" : le texte s'affichera en même temps que l'on écrit (en s) -->
}
function automatique() {
if (document.formulaire.auto.checked) previsualisation() <!-- si on a cocher la case d'aperçu automatique -->
}
function code_to_html(t) {
t=nl2khol(t)
// balise Gras <!-- on lui dis que telles balises correspondent à tels codes en HTML -->
t=deblaie(/(\[\/gras\])/g,t)
t=remplace_tag(/\[gras\](.+)\[\/gras\]/g,'<span style="font-weight: bold;">$1</span>',t)
t=remblaie(t)

// balise Italic
t=deblaie(/(\[\/italic\])/g,t)
t=remplace_tag(/\[italic\](.+)\[\/italic\]/g,'<span style="font-style: italic;">$1</span>',t)
t=remblaie(t)

// balise Citation
t=deblaie(/(\[\/citation\])/g,t)
t=remplace_tag(/\[citation=([\s\S]*?)\](.+)\[\/citation\]/g,'<strong>Citation $1 :</strong><div style="border: 1px solid #000000; width: 50%; font-family: Verdana, \'Trebuchet MS\', Tahoma, \'Times New Roman\', Times, serif; text-align: left; font-size: 11px;" align="center">$2</div>',t)
t=remblaie(t)

// balise Image
t=deblaie(/(\[\/image\])/g,t)
t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" />',t)
t=remblaie(t)

// balise URL
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t)
t=remblaie(t)

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:D/g,'<img src="smile.png" alt="" />',t)
t=remplace_tag(/;}/g,'<img src="clin.png" alt="" />',t)
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
return t
}
<!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->
function deblaie(reg,t) {
textarea=new String(t);
return textarea.replace(reg,'$1\n');
}
function remblaie(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'');
}
function remplace_tag(reg,rep,t) {
textarea=new String(t);
return textarea.replace(reg,rep);
}
function nl2br(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'<br/>');
}
function nl2khol(t) {
textarea=new String(t);
return textarea.replace(/\n/g,ptag);
}
function unkhol(t) {
textarea=new String(t);
return textarea.replace(new RegExp(ptag,'g'),'\n');
}

livretest.sql:

Code : SQL-- Structure de la table `livretest`
--

CREATE TABLE `livretest` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pseudo` varchar(255) collate latin1_general_ci NOT NULL,
`note` varchar(255) collate latin1_general_ci NOT NULL,
`textarea` varchar(255) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `pseudo` (`pseudo`,`note`,`textarea`),
FULLTEXT KEY `pseudo_2` (`pseudo`,`note`,`textarea`),
FULLTEXT KEY `textarea` (`textarea`),
FULLTEXT KEY `note` (`note`),
FULLTEXT KEY `pseudo_3` (`pseudo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

--
-- Contenu de la table `livretest`
--



quel sont mes erreurs? car rien ne sinscrit dans la base de donner
merci
http://boss021190.free.fr/bbcodemodifier/form.php

Meilleures réponses pour « bbcode+formulaire! » dans :
Les formulaires HTML Voir Intérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...
Servlets - Gestion des formulaires Voir Introduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise...
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Javascript - Effacer un champ de formulaire lors du clic (focus) VoirIl vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de...
Ergonomie des formulaires en ligne VoirLes formulaires constituent un style d'interaction particulier qui comme les formulaires papier permettent de guider la saisie d'informations dans des champs spécifiques identifiés par des intitulés... Les formulaires permettent notamment de...
Bases de données - Utilisation de formulaires VoirUtilisation de formulaires Afin d'exploiter les bases de données, il faut fournir une interface à l'utilisateur lui permettant de visualiser des données en fonction de certains critères. Pour cela il existe un outil : les formulaires. Un formulaire...

1

pzuk, le 15 jui 2006 à 14:02:00
  • +4

Désolé mais ton code fais au moins 200 lignes non numérotés, non identés, donc il n'est pas lisible.
Donc t'es pas près de trouver de l'aide je pense ;)

Sinon le message d'erreur que tu obtients est généré par php et te dit qu'il n'a pas pu exécuter le script (visiblement a cause d'une erreur de logique ligne 106)

Et aussi écrits ton code tout seul ça sert à rien de faire des assemblages de code que tu pompes sur le net, et ça ne donne vraiment pas envie de t'aider.

Enfin ce n'est que mon avis hein^^

Répondre à pzuk

2

boss0211, le 15 jui 2006 à 15:52:57

Bonjour,
jai enregistrer la source en ZIP (pour mettre tout les fichiers)
Ouvrez le avec Notepad++


http://boss021190.free.fr/livreor.zip

voilà
Merci bien à ceux qui maiderons c'est très sympa de leur part!! (je suis dsl mais tout numéroté le script naurais pu été utilisable!)

Répondre à boss0211

3

 developper55, le 20 fév 2008 à 16:00:49

Cé résolu ton souci ??

Répondre à developper55