je voudrai créer un système de news mais je rencontre quelques problèmes :
ma page où on peut poster les news :
Code : Tout sélectionner
<?php
session_start();
?>
<h3> Poster une news </h3>
<br/>
<?php
$action = (isset($_GET['action']))?htmlspecialchars($_GET['action']):'';
try
{
$bdd = new PDO('mysql:host=localhost;dbname=news', 'pseudo', 'pass');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
<?php
switch ($action)
{
case "poster":
else
{
$auteur = $_SESSION['pseudo'];
?>
<form method="post" action="poster_news.php?action=poster&" name="post">
<fieldset>
<p>
<label for "titre">Titre de la news :</label>
<input type="text" size="80" id="titre" name="titre" />
</p>
<p>
<label for "icone">Image :</label>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
<input type="icone" name="icone" id="icone" />
<br/> (Les formats acceptés pour l'image sont jpg, jpeg, gif, png)
</p>
<br/>
<p>
<label for="texte_news"> Contenu de la news : <br/>
<textarea cols="120" rows="10" id="texte_news" name="texte_news"></textarea>
</p>
<input type="submit" name="submit" value="Envoyer" />
</p>
</form>
</fieldset>
<?php
}
break;
}
?>
</div>
</body>
</html>
Code : Tout sélectionner
<?php
session_start();
?>
<?php
$action = (isset($_GET['action']))?htmlspecialchars($_GET['action']):'';
try
{
$bdd = new PDO('mysql:host=localhost;dbname=news', 'pseudo', 'pass');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
<?php
switch($action)
{
//Premier cas : nouveau topic
case "poster":
$statut = "en attente";
$categorie = "manga";
$auteur = $_SESSION['pseudo'];
$texte_news = $_POST['texte_news'];
//Pareil pour le titre
$titre = $_POST['titre'];
if ($_FILES['icone']['error'] > 0) $erreur = "Erreur lors du transfert";
if ($_FILES['icone']['size'] > $maxsize) $erreur = "Le fichier est trop gros";
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
//1. strrchr renvoie l'extension avec le point (« . »).
//2. substr(chaine,1) ignore le premier caractère de chaine.
//3. strtolower met l'extension en minuscules.
$extension_upload = strtolower( substr( strrchr($_FILES['icone']['name'], '.') ,1) );
$image_sizes = filesize($_FILES['icone']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) $erreur = "Image trop grande";
$nom = "images/imagesnews/{$id}.{$extension_upload}";
$resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$nom);
if ($resultat) echo "Transfert réussi";
$date = time();
if (empty($texte_news))
{
echo'<p>Votre contenu est vide,
}
elseif (empty($titre))
{
echo'<p>Votre contenu est vide,
}
if (!empty($texte_news) AND (!empty($titre)))
{
$reponse = $bdd ->exec('INSERT INTO news (auteur, titre, date, texte_news, categorie, statut) VALUES ('.$auteur.', '.$titre.', '.$date.', '.$texte_news.', '.$categorie.', '.$statut.')');
echo'<p>Votre news a bien été prise en compte !<br />
Elle sera étudiée par les administateurs du site dans 72 heures maximum.
}
else
{
echo '<p>Une erreur s\'est produite. <br/>
Verifiez bien que vous avez rempli tous les camps et que le format de l\'image est correct. </p>';
}
break;
}
?>
</div>
</body>
</html>
Je voudrai qu'après validation, mes news s'affichent avec un titre et le contenu quand on clique sur le titre avec un lien du style news?id=1.
Pouvez vous m'aider ?
Merci d'avance