Oxyan
Messages postés695Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention 2 juin 2011
-
17 avril 2009 à 12:35
Oxyan
Messages postés695Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention 2 juin 2011
-
17 avril 2009 à 13:36
Bonjour, voila j'ai suivit un tuto et je vien de finir de créer un éditeur de news... problème il n'enregiste absolument rien dans la DB x_x, si j'édit une news le contenu de la news aparé dans le textarea je peux le modifier mais après si j'envoi le formulaire il n'enregistre rien il suprime meme le contenu de la news et je me retrouve avec seulement le titre : http://azote51.olympe-network.com
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="edit_news.css">
<title>Création d'un inséreur de balises comme la zForm</title>
<script type="text/javascript">
<!--
function insertTag(startTag, endTag, textareaId, tagType) {
var field = document.getElementById(textareaId);
field.focus();
if (window.ActiveXObject) {
var textRange = document.selection.createRange();
var currentSelection = textRange.text;
} else {
var startSelection = field.value.substring(0, field.selectionStart);
var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
var endSelection = field.value.substring(field.selectionEnd);
}
if (tagType) {
switch (tagType) {
case "lien":
endTag = "</lien>";
if (currentSelection) {
if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) {
var label = prompt("Quel est le libellé du lien ?") || "";
startTag = "<lien url=\"" + currentSelection + "\">";
currentSelection = label;
} else {
var URL = prompt("Quelle est l'url ?");
startTag = "<lien url=\"" + URL + "\">";
}
} else {
var URL = prompt("Quelle est l'url ?") || "";
var label = prompt("Quel est le libellé du lien ?") || "";
startTag = "<lien url=\"" + URL + "\">";
currentSelection = label;
}
break;
case "citation":
endTag = "</citation>";
if (currentSelection) {
if (currentSelection.length > 30) {
var auteur = prompt("Quel est l'auteur de la citation ?") || "";
startTag = "<citation nom=\"" + auteur + "\">";
} else {
var citation = prompt("Quelle est la citation ?") || "";
startTag = "<citation nom=\"" + currentSelection + "\">";
currentSelection = citation;
}
} else {
var auteur = prompt("Quel est l'auteur de la citation ?") || "";
var citation = prompt("Quelle est la citation ?") || "";
startTag = "<citation nom=\"" + auteur + "\">";
currentSelection = citation;
}
break;
}
}
if (window.ActiveXObject) {
textRange.text = startTag + currentSelection + endTag;
textRange.moveStart('character', -endTag.length-currentSelection.length);
textRange.moveEnd('character', -endTag.length);
textRange.select();
} else { // Ce n'est pas IE
field.value = startSelection + startTag + currentSelection + endTag + endSelection;
field.focus();
field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
}
}
function preview(textareaId, previewDiv) {
var field = textareaId.value;
if (document.getElementById('previsualisation').checked && field) {
var smiliesName = new Array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
var smiliesUrl = new 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');
var smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
field = field.replace(/&/g, '&');
field = field.replace(/</g, '<').replace(/>/g, '>');
field = field.replace(/\n/g, '<br />').replace(/\t/g, ' ');
field = field.replace(/([\s\S]*?)<\/gras>/g, '<strong>$1</strong>');
field = field.replace(/([\s\S]*?)<\/italique>/g, '<em>$1</em>');
field = field.replace(/<lien>([\s\S]*?)<\/lien>/g, '<a href="$1">$1</a>');
field = field.replace(/<lien url="([\s\S]*?)">([\s\S]*?)<\/lien>/g, '<a href="$1" title="$2">$2</a>');
field = field.replace(/<image>([\s\S]*?)<\/image>/g, '<img src="$1" alt="Image" />');
field = field.replace(/<citation nom=\"(.*?)\">([\s\S]*?)<\/citation>/g, '<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>');
field = field.replace(/<citation lien=\"(.*?)\">([\s\S]*?)<\/citation>/g, '<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>');
field = field.replace(/<citation nom=\"(.*?)\" lien=\"(.*?)\">([\s\S]*?)<\/citation>/g, '<br /><span class="citation"><a href="$2">Citation : $1</a></span><div class="citation2">$3</div>');
field = field.replace(/<citation lien=\"(.*?)\" nom=\"(.*?)\">([\s\S]*?)<\/citation>/g, '<br /><span class="citation"><a href="$1">Citation : $2</a></span><div class="citation2">$3</div>');
field = field.replace(/<citation>([\s\S]*?)<\/citation>/g, '<br /><span class="citation">Citation</span><div class="citation2">$1</div>');
field = field.replace(/<taille valeur=\"(.*?)\">([\s\S]*?)<\/taille>/g, '<span class="$1">$2</span>');
for (var i=0, c=smiliesName.length; i<c; i++) {
field = field.replace(new RegExp(" " + smiliesName[i] + " ", "g"), " <img src=\"" + smiliesPath + smiliesUrl[i] + "\" alt=\"" + smiliesUrl[i] + "\" /> ");
}
document.getElementById(previewDiv).innerHTML = field;
}
}
function getXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function view(textareaId, viewDiv){
var content = encodeURIComponent(document.getElementById(textareaId).value);
var xhr = getXMLHttpRequest();
if (xhr && xhr.readyState != 0) {
xhr.abort();
delete xhr;
}
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200){
document.getElementById(viewDiv).innerHTML = xhr.responseText;
} else if (xhr.readyState == 3){
document.getElementById(viewDiv).innerHTML = "<div style=\"text-align: center;\">Chargement en cours...</div>";
}
}
xhr.open("POST", "view.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("string=" + content);
}
//-->
</script>
</head>
<body>
<?php
require "config.php";
//Connection à la DB
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
if(!empty($_POST))
{
extract($_POST);
$sql="UPDATE news SET titre='$titre', contenu='$textarea' WHERE id=$id";;
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />' .mysql_error());
echo "News Modifiée";
$_GET["id"]=$id;
}
$sql="SELECT * FROM news WHERE id={$_GET["id"]}";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />' .mysql_error());
$data = mysql_fetch_assoc($req);
?>
<div id="main">
<form action="edit2.php" method="post">
<div>
<p>
<input name="id" type="hidden" value="<?php echo $data["id"]; ?>"/>
<input type="button" value="G" onclick="insertTag('<gras>', '', 'textarea')" />
<input type="button" value="I" onclick="insertTag('<italique>', '', 'textarea')" />
<input type="button" value="Lien" onclick="insertTag('', '', 'textarea', 'lien')" />
<input type="button" value="Image" onclick="insertTag('<image>', '</image>', 'textarea')" />
<input type="button" value="Citation" onclick="insertTag('', '', 'textarea', 'citation')" />
<select onchange="insertTag('<taille valeur="' + this.options[this.selectedIndex].value + '">', '</taille>', 'textarea');">
<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="../emoticones/smile.png" alt=":)" onclick="insertTag(':)', '', 'textarea');" />
<img src="../emoticones/unsure.gif" alt=":euh:" onclick="insertTag(':euh:', '', 'textarea');" />
<img src="../emoticones/ange.png" alt=":ange:" onclick="insertTag(':ange:', '', 'textarea');" />
<img src="../emoticones/angry.gif" alt=":colere:" onclick="insertTag(':colere:', '', 'textarea');" />
<img src="../emoticones/blink.gif" alt="O.o" onclick="insertTag('O.o', '', 'textarea');" />
<img src="../emoticones/clin.png" alt=";)" onclick="insertTag(';)', '', 'textarea');" />
<img src="../emoticones/diable.png" alt=":diable:" onclick="insertTag(':diable:', '', 'textarea');" />
<img src="../emoticones/heureux.png" alt=":D" onclick="insertTag(':D', '', 'textarea');" />
<img src="../emoticones/hihi.png" alt="^^" onclick="insertTag('^^', '', 'textarea');" />
<img src="../emoticones/huh.png" alt=":o" onclick="insertTag(':o', '', 'textarea');" />
<img src="../emoticones/langue.png" alt=":p" onclick="insertTag(':p', '', 'textarea');" />
<img src="../emoticones/magicien.png" alt=":magicien:" onclick="insertTag(':magicien:', '', 'textarea');" />
<img src="../emoticones/mechant.png" alt=":colere2:" onclick="insertTag(':colere2:', '', 'textarea');" />
<img src="../emoticones/ninja.png" alt=":ninja:" onclick="insertTag(':ninja:', '', 'textarea');" />
<img src="../emoticones/pinch.png" alt=">_<" onclick="insertTag('>_<', '', 'textarea');" />
<img src="../emoticones/pirate.png" alt=":pirate:" onclick="insertTag(':pirate:', '', 'textarea');" />
<img src="../emoticones/pleure.png" alt=":'(" onclick="insertTag(':'(', '', 'textarea');" />
<img src="../emoticones/rire.gif" alt=":lol:" onclick="insertTag(':lol:', '', 'textarea');" />
<img src="../emoticones/rouge.png" alt=":honte:" onclick="insertTag(':honte:', '', 'textarea');" />
<img src="../emoticones/siffle.png" alt=":wind:" onclick="insertTag(':wind:', '', 'textarea');" />
<img src="../emoticones/soleil.png" alt=":soleil:" onclick="insertTag(':soleil:', '', 'textarea');" />
<img src="../emoticones/triste.png" alt=":(" onclick="insertTag(':(', '', 'textarea');" />
<img src="../emoticones/unsure.gif" alt=":euh:" onclick="insertTag(':euh:', '', 'textarea');" />
<img src="../emoticones/waw.png" alt=":waw:" onclick="insertTag(':waw:', '', 'textarea');" />
<img src="../emoticones/zorro.png" alt=":zorro:" onclick="insertTag(':zorro:', '', 'textarea');" />
</p>
<p>
<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
<label for="previsualisation">Prévisualisation automatique</label>
</p>
</div>
<label for="titre">Titre : </label><input type="text" name="titre" id="titre" value="<?php echo $data["titre"]; ?>" style="width:300px"/>
<textarea onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="textarea" cols="150" rows="10"><?php echo $data["contenu"]; ?></textarea>
<div id="previewDiv"></div>
<p>
<input type="button" value="Visualiser" onclick="view('textarea','viewDiv');" />
<input type="submit" value="Modifier"/>
</p>
<div id="viewDiv"></div>
</form>
<p><a href="index.php"> Retour au panneau d'administration des news </a></p>
</div>
</body>
</html>
heu... juste une question : est-ce que tu pourrais "nettoyer" un peu le code du javascript pour que ce soit plus simple à "lire" parce que là...
sinon, je ne vois pas d'où viennent ces variables :
<code
$sql="UPDATE news SET titre='$titre', contenu='$textarea' WHERE id=$id";
</code>
(tu ne déclare la variable $titre et $textarea à aucun moment...)
sinon rien à voir mazis j'adore le design de ton site !