J'ai un problème avec mes news, j'ai réussi a créé 4 champs Auteur - Titre - Image - News .
Ils se placent a la bonne place et tout, mais lorsque dans le champ image j'insère le code html de l'image et bien il se réécrit tel quel sans afficher l'image dans ma news.
index.php :
<blockquote class="news">
<!-- code HTML avant l'affiche des news (tout dépend comment est constitué votre site) -->
<?php
// on inclut l'affichage de nos news
include ('news.php');
?>
<!-- code HTML après l'affiche des news (tout dépend comment est constitué votre site) -->
</blockquote>
news.php
<?php
// on se connecte à notre base
$base = mysql_connect ('****.************.***', '*******', '********');
mysql_select_db('********', $base);
// lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
$sql = 'SELECT * FROM `news` LIMIT 0, 30 ';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on compte le nombre de news stockées dans la base de données
$nb_news = mysql_num_rows($req);
if ($nb_news == 0) {
echo 'Aucune news enregistrée.';
}
else {
// si on a au moins une news, on l'affiche
while ($data = mysql_fetch_array($req)) {
// on décompose la date
sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
// on affiche les résultats
?>
<div id="mainbar">
<blockquote class="news">
<h2>
<?php echo '' , htmlentities(trim($data['titre'])) , '';?>
<span><a href="#"> <?php echo '', htmlentities(trim($data['auteur']));?></a> <em><?php echo ' Postée le : ' , $jour , '/' , $mois , '/' , $an , ' á ' , $heure , ':' , $min , ':' , $sec ?></em></span>
</h2>
<p class="news_img"> <img src="<?php echo '' , htmlentities(trim($data['image'])) , '';?>"/></p>
<p class="p1">
<?php echo '' , nl2br(htmlentities(trim($data['texte_news']))) , '<br />'; ?>
</p>
<p class="readmore"><a href="#"><img src="img/more_news.jpg" alt="read more" /></a></p>
<p class="news_comments"><a href="#">[3] Comments.</a>
Latest By Author ~ <small>on: November 15 2008 19:51h</small></p>
</blockquote>
</div>
<?php
}
}
// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);
// on ferme la connexion à la base de données
mysql_close ();
?>
insert_news.php
<?php
// on teste si le formulaire a été validé
if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
// on se connecte à notre base
$base = mysql_connect ('****.************.***', '*******', '********');
mysql_select_db('********', $base);
// on teste la déclaration de nos variables
if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['image']) || !isset($_POST['news']) ) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['image']) || empty($_POST['news']) ) {
$erreur = 'Au moins un des champs est vide.';
}
// si tout est bon, on peut commencer l'insertion dans la base
else {
// lancement de la requête d'insertion
$sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['image']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['news']).'")';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base de données
mysql_close();
// on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
header('http://www.pulsion.tonsite.biz/a/news.php');
// on termine le script courant
exit();
}
}
}
?>
<html>
<head>
<title>Insertion d'une nouvelle news</title>
</head>
<body>
<!-- on fait pointer le formulaire vers la page traitant les données -->
<form action="insert_news.php" method="post">
<table>
<tr><td>
<span class="gras">Auteur :</span>
</td><td>
<input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
</td></tr><tr><td>
<span class="gras">Titre :</span>
</td><td>
<input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
</td></tr><tr><td>
<span class="gras">Image :</span>
</td><td>
<input type="text" name="image" maxlength="50" size="50" value="<?php if (isset($_POST['image'])) echo htmlentities(trim($_POST['image'])); ?>">
</td></tr><tr><td>
<span class="gras">News :</span>
</td><td>
<textarea name="news" cols="50" rows="10"><?php if (isset($_POST['news'])) echo htmlentities(trim($_POST['news'])); ?></textarea>
</td></tr><tr><td><td align="right">
<input type="submit" name="go" value="Poster la news">
</td></tr></table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
http://www.pulsion.tonsite.biz/a/
http://www.pulsion.tonsite.biz/a/insert_news.php (je ne l'ai pas encore protégé.)
2ème problème, moins important, lorsque j'envoie ma news a partir de insert_news, j'ai un message d'erreur, mais la news s'affiche quand même
Merci
This is siny