Image dans système de news

Résolu/Fermé
showMe9031 Messages postés 21 Date d'inscription dimanche 15 septembre 2013 Statut Membre Dernière intervention 20 novembre 2015 - 15 sept. 2013 à 17:01
showMe9031 Messages postés 21 Date d'inscription dimanche 15 septembre 2013 Statut Membre Dernière intervention 20 novembre 2015 - 16 sept. 2013 à 23:56
Bonjour,
Je voudrais savoir comment mettre une image dans mon système de news.
C'est a dire que l'image sois comme la photo que vous pouvez voir a cette adresse : www.pro-dubstep.fr/admin/ex-image.png

Voici les codes pour le système de news:

new.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 auteur, titre, date, texte_news FROM news ORDER BY date DESC;';

// 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
echo "<h2>" , htmlentities(trim($data['titre'])) , "</h2>";
echo '' , nl2br(htmlentities(trim($data['texte_news']))) , '<br><br />';
echo "<font size=\"1\">Postée le : " , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec , ' par ' , htmlentities(trim($data['auteur'])) ,"</font> <br /><br /><hr></hr>";;
}
}
// 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 ();
?>

que j'affiche dans mon index graçe à la balise incluse()

et la page pour rédiger les news (je voudrai que je puisse rajouter la photo directement depuis cette page si c'est possible) :

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['news'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['auteur']) || empty($_POST['titre']) || 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']).'", "'.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('Location: ../index.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" enctype="multipart/form-data">
<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">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>

A voir également:

2 réponses

gign44 Messages postés 124 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 5
Modifié par gign44 le 16/09/2013 à 11:33
Bonjour,

Dans un premier temps, il te faut un champ File dans ton formulaire.
Ensuite en PHP, il faut gérer l'upload de l'image sur ton serveur en interdisant tout autres fichiers. Puis enregistrer l'adresse relative de l'image sur ton serveur dans ta base SQL.
Voici un bon tuto ;)
https://openclassrooms.com/fr/courses

Cordialement
0
showMe9031 Messages postés 21 Date d'inscription dimanche 15 septembre 2013 Statut Membre Dernière intervention 20 novembre 2015 1
16 sept. 2013 à 23:56
Merci beaucoup ! Je vais suivre le tuto.

Cordialement
0