Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Bonjour,
j'ai trouver un petit code sur le SiteDuZero, mais je ne saisd pas comment l'inclure dans le code de ma page
voici le code que j'ai essayé (page en entier) envoyer.php:<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
// si ce n'est pas le cas, on le redirige vers l'accueil
header ('Location: index.php');
exit();
}
// on teste si le formulaire a bien été soumis
if (isset($_POST['Envoyer']) && $_POST['Envoyer'] == 'Envoyer') {
function parsecode($content) {
// Parsage des balises
$code = array(
'`<italique>(.+)</italique>`isU',
'`<gras>(.+)</gras>`isU',
'`<barre>(.+)</barre>`isU',
'`<lien>(.+)</lien>`isU',
'`<lien url="(.+)">(.+)</lien>`isU',
'`<image>(.+)</image>`isU',
'`<citation>(.+)</citation>`isU',
'`<citation nom="(.+)">(.+)</citation>`isU',
'`<citation lien="(.+)">(.+)</citation>`isU',
'`<taille valeur="(.+)">(.+)</taille>`isU'
);
$html = array(
'<em>$1</em>',
'<strong>$1</strong>',
'<del>$1</del>',
'<a href="$1">$1</a>',
'<a href="$1">$2</a>',
'<img src="$1" alt="Image utilisateur" />',
'<br /><span class="citation">Citation</span><div class="citation2">$1</div>',
'<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>',
'<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>',
'<span class="$1">$2</span>'
);
$content = htmlspecialchars($content);
$content = preg_replace($code, $html, $content);
// parsage des smilies
$smiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
$smiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$smiliesPath = "http://monsite§.fr/images/smilies/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$content = preg_replace('`' . $smiliesName[$i] . '`isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $content);
}
// Rtours à la ligne
$content = preg_replace('`\n`isU', '<br />', $content);
return $content;
}
if (isset($_POST["string"])) {
$content = $_POST["string"];
if (get_magic_quotes_gpc()) {
$content = stripslashes($content);
}
echo parsecode($content); // Ecriture du contenu parsé.
}
if (empty($_POST['destinataire']) || empty($_POST['titre']) || empty($_POST['message_text'])) {
$erreur = 'Au moins un des champs est vide.';
}
else {
$base = mysql_connect ('host', 'idbdd', 'psswrd');
mysql_select_db ('nom_base', $base);
mysql_query("SET NAMES 'utf8'");
// si tout a été bien rempli, on insère le message dans notre table SQL
$date_mois = date('d/m/Y');
$hour_heure = date('H:i:s');
$datenvoi = $date_mois. " à " .$hour_heure;
$sql = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.$datenvoi.'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['message_text']).'", "0")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
header('Location: membre.php');
exit();
}
}
?>
<!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">
<head>
<title>Ecrire un message à un membre!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="bbcode/mep.css" rel="stylesheet" type="text/css" media="all" />
<link rel="stylesheet" type="text/css" href="bbcode/skin.css">
<script type="text/javascript" src="bbcode/bbc.js"></script>
<link href="includes/design.css" rel="stylesheet" type="text/css" />
</head>
<body>
<a href="membre.php">Retour à l'accueil</a><br /><br />
Envoyer un message :<br /><br />
<?php
$base = mysql_connect ('sql.free.fr', '', '');
mysql_select_db ('nom_base', $base);
mysql_query("SET NAMES 'utf8'");
// on prépare une requete SQL selectionnant tous les login des membres du site en prenant soin de ne pas selectionner notre propre login, le tout, servant à alimenter le menu déroulant spécifiant le destinataire du message
$sql = 'SELECT membre.login as nom_destinataire, membre.id as id_destinataire FROM membre WHERE id <> "'.$_SESSION['id'].'" ORDER BY login ASC';
// on lance notre requete SQL
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows ($req);
if ($nb == 0) {
// si aucun membre n'a été trouvé, on affiche tout simplement aucun formulaire
echo 'Vous êtes le seul membre inscrit.';
}
else {
// si au moins un membre qui n'est pas nous même a été trouvé, on affiche le formulaire d'envoie de message
?>
<form action="envoyer.php" method="post">
Pour :<select name="destinataire">
<?php
// on alimente le menu déroulant avec les login des différents membres du site
while ($data = mysql_fetch_array($req)) {
echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>';
}
?>
</select><br />
Titre : <input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo stripslashes(htmlentities(trim(($_POST['titre']), ENT_QUOTES, "UTF-8"))); ?>"><br />
Message :
<div>
<p>
<input type="button" value="G" onclick="insertTag('<gras>', '</gras>', 'message_text')" />
<input type="button" value="I" onclick="insertTag('<italique>', '</italique>', 'message_text')" />
<input type="button" value="Lien" onclick="insertTag('', '', 'message_text', 'lien')" />
<input type="button" value="Image" onclick="insertTag('<image>', '</image>', 'message_text')" />
<input type="button" value="Citation" onclick="insertTag('', '', 'message_text', 'citation')" />
<select onchange="insertTag('<taille valeur="' + this.options[this.selectedIndex].value + '">', '</taille>', 'message_text');">
<option value="none" class="selected" selected="selected">Taille</option>
<option value="ttpetit">Très très petit</option>
<option value="tpetit">Très petit</option>
<option value="petit">Petit</option>
<option value="gros">Gros</option>
<option value="tgros">Très gros</option>
<option value="ttgros">Très très gros</option>
</select>
<img src="http://users.teledisnet.be/web/mde28256/smiley/smile.gif" alt=":)" onclick="insertTag(' :) ', '', 'message_text');" />
<img src="http://users.teledisnet.be/web/mde28256/smiley/unsure2.gif" alt=":euh:" onclick="insertTag(' :euh: ', '', 'message_text');" />
</p>
<p>
<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
<label for="previsualisation">Prévisualisation automatique</label>
</p>
</div>
<Textarea name="message_text" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="message_text" cols="150" rows="10"><?php if (isset($_POST['message_text'])) echo stripslashes(htmlentities(trim(($_POST['message_text']), ENT_QUOTES, "UTF-8"))); ?></Textarea>
<div id="previewDiv"></div>
<p>
<input type="button" value="Visualiser" onclick="view('message_text','viewDiv');" />
</p>
<div id="viewDiv"></div>
<input type="submit" name="Envoyer" value="Envoyer">
</form>
</div>
<?php
}
mysql_free_result($req);
mysql_close();
?>
</select>
<br /><br /><a href="deconnexion.php">Déconnexion</a>
<?php
// si une erreur est survenue lors de la soumission du formulaire, on l'affiche
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
La prévisualisation fonctionne très bien mais quand je lis le message envoyé , ya aucun effet sur le texte ( le texte n'est pas en forme désiré)! je ne sais pas c'est quoi le problème!
merci d'avance
|
Admin
|
Bonjour,
essaye ça:
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
// si ce n'est pas le cas, on le redirige vers l'accueil
header ('Location: index.php');
exit();
}
// on teste si le formulaire a bien été soumis
if (isset($_POST['Envoyer']) && $_POST['Envoyer'] == 'Envoyer') {
function parsecode($content) {
// Parsage des balises
$code = array(
'`<italique>(.+)</italique>`isU',
'`<gras>(.+)</gras>`isU',
'`<barre>(.+)</barre>`isU',
'`<lien>(.+)</lien>`isU',
'`<lien url="(.+)">(.+)</lien>`isU',
'`<image>(.+)</image>`isU',
'`<citation>(.+)</citation>`isU',
'`<citation nom="(.+)">(.+)</citation>`isU',
'`<citation lien="(.+)">(.+)</citation>`isU',
'`<taille valeur="(.+)">(.+)</taille>`isU'
);
$html = array(
'<em>$1</em>',
'<strong>$1</strong>',
'<del>$1</del>',
'<a href="$1">$1</a>',
'<a href="$1">$2</a>',
'<img src="$1" alt="Image utilisateur" />',
'<br /><span class="citation">Citation</span><div class="citation2">$1</div>',
'<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>',
'<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>',
'<span class="$1">$2</span>'
);
$content = htmlspecialchars($content);
$content = preg_replace($code, $html, $content);
// parsage des smilies
$smiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
$smiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$smiliesPath = "http://monsite§.fr/images/smilies/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$content = preg_replace('`' . $smiliesName[$i] . '`isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $content);
}
// Rtours à la ligne
$content = preg_replace('`\n`isU', '<br />', $content);
return $content;
}
if (isset($_POST["string"])) {
$content = $_POST["string"];
if (get_magic_quotes_gpc()) {
$content = stripslashes($content);
}
echo parsecode($content); // Ecriture du contenu parsé.
}
if (empty($_POST['destinataire']) || empty($_POST['titre']) || empty($_POST['message_text'])) {
$erreur = 'Au moins un des champs est vide.';
}
else {
$base = mysql_connect ('host', 'idbdd', 'psswrd');
mysql_select_db ('nom_base', $base);
mysql_query("SET NAMES 'utf8'");
// si tout a été bien rempli, on insère le message dans notre table SQL
$date_mois = date('d/m/Y');
$hour_heure = date('H:i:s');
$datenvoi = $date_mois. " à " .$hour_heure;
$sql = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.$datenvoi.'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string(parsecode($_POST['message_text'])).'", "0")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
header('Location: membre.php');
exit();
}
}
?>
<!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">
<head>
<title>Ecrire un message à un membre!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="bbcode/mep.css" rel="stylesheet" type="text/css" media="all" />
<link rel="stylesheet" type="text/css" href="bbcode/skin.css">
<script type="text/javascript" src="bbcode/bbc.js"></script>
<link href="includes/design.css" rel="stylesheet" type="text/css" />
</head>
<body>
<a href="membre.php">Retour à l'accueil</a><br /><br />
Envoyer un message :<br /><br />
<?php
$base = mysql_connect ('sql.free.fr', '', '');
mysql_select_db ('nom_base', $base);
mysql_query("SET NAMES 'utf8'");
// on prépare une requete SQL selectionnant tous les login des membres du site en prenant soin de ne pas selectionner notre propre login, le tout, servant à alimenter le menu déroulant spécifiant le destinataire du message
$sql = 'SELECT membre.login as nom_destinataire, membre.id as id_destinataire FROM membre WHERE id <> "'.$_SESSION['id'].'" ORDER BY login ASC';
// on lance notre requete SQL
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows ($req);
if ($nb == 0) {
// si aucun membre n'a été trouvé, on affiche tout simplement aucun formulaire
echo 'Vous êtes le seul membre inscrit.';
}
else {
// si au moins un membre qui n'est pas nous même a été trouvé, on affiche le formulaire d'envoie de message
?>
<form action="envoyer.php" method="post">
Pour :<select name="destinataire">
<?php
// on alimente le menu déroulant avec les login des différents membres du site
while ($data = mysql_fetch_array($req)) {
echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>';
}
?>
</select><br />
Titre : <input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo stripslashes(htmlentities(trim(($_POST['titre']), ENT_QUOTES, "UTF-8"))); ?>"><br />
Message :
<div>
<p>
<input type="button" value="G" onclick="insertTag('<gras>', '</gras>', 'message_text')" />
<input type="button" value="I" onclick="insertTag('<italique>', '</italique>', 'message_text')" />
<input type="button" value="Lien" onclick="insertTag('', '', 'message_text', 'lien')" />
<input type="button" value="Image" onclick="insertTag('<image>', '</image>', 'message_text')" />
<input type="button" value="Citation" onclick="insertTag('', '', 'message_text', 'citation')" />
<select onchange="insertTag('<taille valeur="' + this.options[this.selectedIndex].value + '">', '</taille>', 'message_text');">
<option value="none" class="selected" selected="selected">Taille</option>
<option value="ttpetit">Très très petit</option>
<option value="tpetit">Très petit</option>
<option value="petit">Petit</option>
<option value="gros">Gros</option>
<option value="tgros">Très gros</option>
<option value="ttgros">Très très gros</option>
</select>
<img src="http://users.teledisnet.be/web/mde28256/smiley/smile.gif" alt=":)" onclick="insertTag(' :) ', '', 'message_text');" />
<img src="http://users.teledisnet.be/web/mde28256/smiley/unsure2.gif" alt=":euh:" onclick="insertTag(' :euh: ', '', 'message_text');" />
</p>
<p>
<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
<label for="previsualisation">Prévisualisation automatique</label>
</p>
</div>
<Textarea name="message_text" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="message_text" cols="150" rows="10"><?php if (isset($_POST['message_text'])) echo stripslashes(htmlentities(trim(($_POST['message_text']), ENT_QUOTES, "UTF-8"))); ?></Textarea>
<div id="previewDiv"></div>
<p>
<input type="button" value="Visualiser" onclick="view('message_text','viewDiv');" />
</p>
<div id="viewDiv"></div>
<input type="submit" name="Envoyer" value="Envoyer">
</form>
</div>
<?php
}
mysql_free_result($req);
mysql_close();
?>
</select>
<br /><br /><a href="deconnexion.php">Déconnexion</a>
<?php
// si une erreur est survenue lors de la soumission du formulaire, on l'affiche
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
Et la prochaine fois, fait attention à ne pas donner tes identifiants MYSQL lorsque tu envoi un code.(Je les ai aussi enlevés de ton message)
Cordialement
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Oh la connerie!
merci d'avoir enlever mes identifiants mysql merci beaucoup!
;)
Je n'ai pas fais attention :-/ .
que dieu te protège!
Sinon ça ne fonctionne pas malheureusement !
|