Création système de news
Posté : 30 août 2012, 15:19
Bonjour,
je voudrai créer un système de news mais je rencontre quelques problèmes :
ma page où on peut poster les news :
Et ma page de traitement :
Le php m'indique que ma news s'est exécutée sans aucune erreur ais les données que je rentre ne sont pas enregistrées pas dans ma base de donnée.
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
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