Creer un blog collaboratif avec php
fati_fiore
Messages postés
543
Date d'inscription
Statut
Membre
Dernière intervention
-
fati_fiore Messages postés 543 Date d'inscription Statut Membre Dernière intervention -
fati_fiore Messages postés 543 Date d'inscription Statut Membre Dernière intervention -
notre prof nous a demandé comme miniprojet de creer un blog avec php pour tous les etudiants de notre departements et il faut qu'ils puissent tous poster des articles et je ne sais pas quoi faire ni comment le faire aidez moi je suis tres angoissée par ce sujet je vous en pris
A voir également:
- Creer un blog collaboratif avec php
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Creer un blog - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
16 réponses
Bah tu sais deja ce que tu veux y mettre dedans ?
fati_fiore
Messages postés
543
Date d'inscription
Statut
Membre
Dernière intervention
12
non non seulemt je suppose mais vraiment je ne sais pas quoi faire aidez moi s'ils vous plait!!!!!!!!!!!!!!!!!!!!!!
Premiere question deja :
Le projet consiste t-il a creer UN blog ? Ou un site permettant de creer son blog ?
Si il s'agit de la premiere option, la chose va etre relativement simple.
Il faudra se baser sur des categories, creer 1 page admin, 1 page d'ajout d'article, 1 page d'ajout de commentaires et evidemment la page de visualisation des articles. Le plus complique selon moi sera juste la page d'ajout d'articles.
Quelques notions en php et savoir utiliser une db mysql suffit.
Pour la seconde aussi, mais la difference sera qu'il faudra y ajouter la notion de comptes, et la commence les petits casses-tetes de secures, mdp, et tout le toutime.
Vous avez combien de temps pour faire ca ?
Le projet consiste t-il a creer UN blog ? Ou un site permettant de creer son blog ?
Si il s'agit de la premiere option, la chose va etre relativement simple.
Il faudra se baser sur des categories, creer 1 page admin, 1 page d'ajout d'article, 1 page d'ajout de commentaires et evidemment la page de visualisation des articles. Le plus complique selon moi sera juste la page d'ajout d'articles.
Quelques notions en php et savoir utiliser une db mysql suffit.
Pour la seconde aussi, mais la difference sera qu'il faudra y ajouter la notion de comptes, et la commence les petits casses-tetes de secures, mdp, et tout le toutime.
Vous avez combien de temps pour faire ca ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
De quoi as tu besoin alors ?
TU ES DANS QUEL éCOLE ???
Sinon si c'est le prof de base de donnée c'est qu'il veut un travail les appels et envoie de donnée sur la BBD.
Donc faire un site ou on peut faire des news et y ajouter des commentaires. Au pire va voir siteduzero.com il dise comment faire des news ou un forum je sais plus. Enfin c'est pas bien compliqué ne vous inquietez pas.
Sinon si c'est le prof de base de donnée c'est qu'il veut un travail les appels et envoie de donnée sur la BBD.
Donc faire un site ou on peut faire des news et y ajouter des commentaires. Au pire va voir siteduzero.com il dise comment faire des news ou un forum je sais plus. Enfin c'est pas bien compliqué ne vous inquietez pas.
A trois personne en deux semaine on peut faire un CMS, avec donc la possibilité de faire un site des news, un forums (catégorie, sujet, discution), un chat et des menus et puisque c'est un cms on a le choix du placement de chaque entité et biensur deux, trois design différent. projet de fin de première année après trois semaines de php.
Oui, surtout si c'est le prof de base de donnée c'est pour cela que j'ai posté un autre poste :
"""
Sinon si c'est le prof de base de donnée c'est qu'il veut un travail les appels et envoie de donnée sur la BBD.
Donc faire un site ou on peut faire des news et y ajouter des commentaires. Au pire va voir siteduzero.com il dise comment faire des news ou un forum je sais plus. Enfin c'est pas bien compliqué ne vous inquietez pas.
"""
^^
"""
Sinon si c'est le prof de base de donnée c'est qu'il veut un travail les appels et envoie de donnée sur la BBD.
Donc faire un site ou on peut faire des news et y ajouter des commentaires. Au pire va voir siteduzero.com il dise comment faire des news ou un forum je sais plus. Enfin c'est pas bien compliqué ne vous inquietez pas.
"""
^^
Ben, tu peux choisir.... enfin c'est comme tu veux s'il ne la pas dit mais je te conseil de le faire c'est pas mal et ça t'apprendra des trucs.
euh ... je suis loin d'etre specialiste, je n'est pas encore commencer mon BTS et pourtant j'ai reussi a faire ce que tu cherche. Un script d'espace membres ce trouve sur le net, et de plus, ca t'apprends a comprendre comment il se forme.
Il te faut juste integrer un espace membre et un system de news ?
Il te faut juste integrer un espace membre et un system de news ?
Voila, ici tu aura tout ce que tu doit savoir, en plus des script php, pour creer tin espace membres
http://www.asp-php.net/tutorial/asp-php/creer-un-espace-membre-en-php.php
http://www.asp-php.net/tutorial/asp-php/creer-un-espace-membre-en-php.php
Voila mtnt dans un prmier temps, ton index de news:
index_news.php:
<!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" xml:lang="fr" >
<head>
<title>index news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body> <br />
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS messages FROM news');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="index.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
?>
<?php
// On récupère les 5 dernières news
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM news ORDER BY id LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<h3>
<font size="6"> <?php echo $donnees['titre']; ?> </font>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
// On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
<br />
<br />
<center> <img src="images/rose_tribal.jpg" width="20%" height="15%"> </center>
<h5> <a href="#haut"> Haut de page </a> </h5>
</p>
</p>
<?php
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="index.php?page=' . $i . '">' . $i . '</a> ';
}
} // Fin de la boucle des news
?>
</body>
</html>
Il te faut ensuite:
liste_news.php:
<!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" xml:lang="fr" >
<head>
<title>Liste des news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2, th, td
{
text-align:center;
}
table
{
border-collapse:collapse;
border:2px solid black;
margin:auto;
}
th, td
{
border:1px solid black;
}
</style>
</head>
<body>
<h2><a href="rediger_news.php">Ajouter une news</a></h2>
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
}
}
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
</body>
</html>
et pour finir
rediger_news.php:
<!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" xml:lang="fr" >
<head>
<title>Rédiger une news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h3, form
{
text-align:center;
}
</style>
</head>
<body>
<h3><a href="liste_news.php">Retour à la liste des news</a></h3>
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
// On protège la variable "modifier_news" pour éviter une faille SQL
$_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
// On récupère les infos de la news correspondante
$retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
$donnees = mysql_fetch_array($retour);
// On place le titre et le contenu dans des variables simples
$titre = stripslashes($donnees['titre']);
$contenu = stripslashes($donnees['contenu']);
$id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on rédige une nouvelle news
{
// Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
$titre = '';
$contenu = '';
$id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="liste_news.php" method="post">
<p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
<p>
Contenu :<br />
<textarea name="contenu" cols="50" rows="10">
<?php echo $contenu; ?>
</textarea><br />
<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
Voila, désolé pour le maxi post mais je ne voyais pas comment lui donner les scripts ^^'
index_news.php:
<!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" xml:lang="fr" >
<head>
<title>index news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body> <br />
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS messages FROM news');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="index.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
?>
<?php
// On récupère les 5 dernières news
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM news ORDER BY id LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<h3>
<font size="6"> <?php echo $donnees['titre']; ?> </font>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
// On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
<br />
<br />
<center> <img src="images/rose_tribal.jpg" width="20%" height="15%"> </center>
<h5> <a href="#haut"> Haut de page </a> </h5>
</p>
</p>
<?php
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="index.php?page=' . $i . '">' . $i . '</a> ';
}
} // Fin de la boucle des news
?>
</body>
</html>
Il te faut ensuite:
liste_news.php:
<!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" xml:lang="fr" >
<head>
<title>Liste des news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2, th, td
{
text-align:center;
}
table
{
border-collapse:collapse;
border:2px solid black;
margin:auto;
}
th, td
{
border:1px solid black;
}
</style>
</head>
<body>
<h2><a href="rediger_news.php">Ajouter une news</a></h2>
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
}
}
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
</body>
</html>
et pour finir
rediger_news.php:
<!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" xml:lang="fr" >
<head>
<title>Rédiger une news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h3, form
{
text-align:center;
}
</style>
</head>
<body>
<h3><a href="liste_news.php">Retour à la liste des news</a></h3>
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
// On protège la variable "modifier_news" pour éviter une faille SQL
$_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
// On récupère les infos de la news correspondante
$retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
$donnees = mysql_fetch_array($retour);
// On place le titre et le contenu dans des variables simples
$titre = stripslashes($donnees['titre']);
$contenu = stripslashes($donnees['contenu']);
$id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on rédige une nouvelle news
{
// Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
$titre = '';
$contenu = '';
$id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="liste_news.php" method="post">
<p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
<p>
Contenu :<br />
<textarea name="contenu" cols="50" rows="10">
<?php echo $contenu; ?>
</textarea><br />
<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
Voila, désolé pour le maxi post mais je ne voyais pas comment lui donner les scripts ^^'
Ah tu veux que tout le monde puisse poster des video , sons etc ?
hum.. mais le probleme, c'est que pour pouvoir envoyer une video ou autre sur ta bdd, cela signifie quil auront aces a ta bdd donc tu risque de rencontrer qq probleme aupres des plus malveillants ...
Il te suffit de 2 tables. La premiere etant decrite sur le tuto que je t'ai donné (table Comptes_Utilisateur) , il ne te reste qua creer une table "news" avec un id autoincrementable, une zone titre en format text, un contenu, et un timestamp, pour avoir l'heure du post