Accueil > > > GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES
GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES
Information sur la source
Description
Bonjour Aprés avoir dépanné un internaute sur le forum je poste ce bout de code minimaliste pour gérer des news ... j'ai ajouté un editeur js nicEdit (leger), securisé l'upload, securisé contre les injection sql / xss. Une pagination mysqli que l'on pourra utiliser ulterieurement !!!!! ATTENTION SUR FREE PAS DE Msqli FAUDRA REECRIRE AVEC MYSQL !!!!! dans l'affichage en 'front office' (client) un lien direct sur l'image pour se connecter le pass est titi1234 a++
Source
- <?php
- session_start();
- require('config/pass.php');
-
- function dateFr($dateDatetimeMysql){
- $d = explode(' ',$dateDatetimeMysql);
- /*date*/
- $d1=explode('-',$d[0]);
-
- $mois=array(0=>'janvier',
- 1=>'février',
- 2=>'mars',
- 3=>'avril',
- 4=>'mai',
- 5=>'juin',
- 6=>'juillet',
- 7=>'août',
- 8=>'septembre',
- 9=>'octobre',
- 10=>'novembre',
- 11=>'décembre');
-
- $d[0]=$d1[2].' '.$mois[($d1[1]-1)].' '.$d1[0];
- /*heure*/
- $h=explode(':',$d[1]);
- $d[1]=' à '.$h[0].' heure(s) '.$h[1].' mn';
-
- $dateFR=$d[0].$d[1];
- return $dateFR;
- }
-
-
- if($_SESSION['pass']===$pass){
- /*le haut dans chaque fichier protege*/
- ?>
-
- <html>
- <head>
- <title>BIENVENUE NEWS ADMIN</title>
- </head>
- <body>
-
- <div id="sample">
- <script src="nicEdit/nicEdit.js" type="text/javascript"></script>
- <script type="text/javascript">
- bkLib.onDomLoaded(function() {
- new nicEditor({iconsPath : 'nicEdit/nicEditorIcons.gif'}).panelInstance('area3');
- });
- </script>
-
- <a href="deconnect.php">se deconnecter</a>
-
- <form method="post" action="creer.php" enctype="multipart/form-data" />
-
- titre: <br />
- <input type="text" style="width:500px;" name="titre"/><br />
-
- contenu: <br />
- <textarea name="contenu" style="width:500px; height:200px;" id="area3" /></textarea><br />Image :
-
- <input name="logo" type="file" size="50" /><br />
- <p>
- <input type="submit" name="upload" value="Envoyer">
- </p> <br />
-
- </form>
-
- </div>
-
- <?php
- require "config/connection.php";
-
- $sql="SELECT * FROM ".$table." ORDER BY id DESC LIMIT 0,5"; /*a vous de regler voir upgrade pagination*/
- $req= mysql_query($sql) or die ('erreur sql!<br/>'.$sql.'<br/>'.mysql_error());
-
- while($data=mysql_fetch_assoc($req)){
-
- echo "ARTICLE ".$data["id"]." publié le ".dateFr($data["date_creation"])." <br />";
-
- if($data['image_news']!==""){
- echo '<a href="upload/'.$data['image_news'].'"><img src="upload/'.$data['image_news'].'" border="0" height="90" width="120" alt="img" /></a>';
-
- }else{
- echo $ligne='Pas d\'image dans la base<br />';
- }
-
- echo "<h3>".stripslashes(html_entity_decode($data["titre"]))."</h3>";
- echo "<p>".stripslashes(html_entity_decode($data["contenu"]))."</p>";
- echo "<a href=\"edit.php?id=".$data["id"]."\">Modifier cette news</a><br/>";
- echo "<a href=\"suppr.php?id=".$data["id"]."\">Supprimer cette news</a>";
- echo "<hr>";
- }
-
- /*le bas dans chaque fichier protege*/
-
-
- /*Dans pagination.php il y a une mise en page basique avec pagination pour votre site*/
- /*mysqli ne fonction pas sur free.fr*/
- if(file_exists('pagination_mysqli.php')){
- @include('pagination_mysqli.php');
- }else{
- //rien
- }
-
-
-
-
-
- }else{
- header('Location: deconnect.php');exit;
- }
- ?>
- </body>
- </html>
<?php
session_start();
require('config/pass.php');
function dateFr($dateDatetimeMysql){
$d = explode(' ',$dateDatetimeMysql);
/*date*/
$d1=explode('-',$d[0]);
$mois=array(0=>'janvier',
1=>'février',
2=>'mars',
3=>'avril',
4=>'mai',
5=>'juin',
6=>'juillet',
7=>'août',
8=>'septembre',
9=>'octobre',
10=>'novembre',
11=>'décembre');
$d[0]=$d1[2].' '.$mois[($d1[1]-1)].' '.$d1[0];
/*heure*/
$h=explode(':',$d[1]);
$d[1]=' à '.$h[0].' heure(s) '.$h[1].' mn';
$dateFR=$d[0].$d[1];
return $dateFR;
}
if($_SESSION['pass']===$pass){
/*le haut dans chaque fichier protege*/
?>
<html>
<head>
<title>BIENVENUE NEWS ADMIN</title>
</head>
<body>
<div id="sample">
<script src="nicEdit/nicEdit.js" type="text/javascript"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
new nicEditor({iconsPath : 'nicEdit/nicEditorIcons.gif'}).panelInstance('area3');
});
</script>
<a href="deconnect.php">se deconnecter</a>
<form method="post" action="creer.php" enctype="multipart/form-data" />
titre: <br />
<input type="text" style="width:500px;" name="titre"/><br />
contenu: <br />
<textarea name="contenu" style="width:500px; height:200px;" id="area3" /></textarea><br />Image :
<input name="logo" type="file" size="50" /><br />
<p>
<input type="submit" name="upload" value="Envoyer">
</p> <br />
</form>
</div>
<?php
require "config/connection.php";
$sql="SELECT * FROM ".$table." ORDER BY id DESC LIMIT 0,5"; /*a vous de regler voir upgrade pagination*/
$req= mysql_query($sql) or die ('erreur sql!<br/>'.$sql.'<br/>'.mysql_error());
while($data=mysql_fetch_assoc($req)){
echo "ARTICLE ".$data["id"]." publié le ".dateFr($data["date_creation"])." <br />";
if($data['image_news']!==""){
echo '<a href="upload/'.$data['image_news'].'"><img src="upload/'.$data['image_news'].'" border="0" height="90" width="120" alt="img" /></a>';
}else{
echo $ligne='Pas d\'image dans la base<br />';
}
echo "<h3>".stripslashes(html_entity_decode($data["titre"]))."</h3>";
echo "<p>".stripslashes(html_entity_decode($data["contenu"]))."</p>";
echo "<a href=\"edit.php?id=".$data["id"]."\">Modifier cette news</a><br/>";
echo "<a href=\"suppr.php?id=".$data["id"]."\">Supprimer cette news</a>";
echo "<hr>";
}
/*le bas dans chaque fichier protege*/
/*Dans pagination.php il y a une mise en page basique avec pagination pour votre site*/
/*mysqli ne fonction pas sur free.fr*/
if(file_exists('pagination_mysqli.php')){
@include('pagination_mysqli.php');
}else{
//rien
}
}else{
header('Location: deconnect.php');exit;
}
?>
</body>
</html>
Conclusion
bonjour
editer config/connection
si vous changer $pass="titi1234' il faut le changer dans chaque fichier ou il est present bon il y a pas trop de fichiers ou faire un include ... (pas eu le temps)
Vous pouvez tester le script sur http://abyz.free.fr/manageur/index.php code pour entrer : titi1234
free/.htaccess c'est pour free.fr le fameux php 1 pour passer à php5 creer aussi un repertoire sessions à la racine du site chez free.fr autrement supprimer le .htaccess chez les autres henergeurs sinon une erreur 500 sera envOyée
Pour plus de securite
1/ il est bien de copier le fichier .htaccess qui est dans le repertoire secuplus dans upload si vous travailler avec un serveur apache
2/ sur free.fr je vous conseille de passer en php5 en copiant le .htaccess du repertoire free à la racine de votre site pour les autres hebergeurs eviter cette manipulation
a++
Historique
- 05 avril 2011 11:18:12 :
- securisation du repertoire upload par un tableau des extensions autorisées ...
- 05 avril 2011 13:03:21 :
- table sql rajoutée dans le zip
- 11 avril 2011 18:03:05 :
- securisation + pagination
- 11 avril 2011 18:11:48 :
- PROBLEME MSQLI FREE.FR
- 12 avril 2011 20:07:48 :
- Nouvelle capture ...
- 13 juillet 2011 14:55:15 :
- le mot de passe est accessible depuis le repertoire config/pass.php pour faciliter le gestion
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Upload d'Image et resize de cette image [ par 4feeling ]
je cherche un petit bout de script qui permettrai d'uploader une image jpeg et l'enregistrer dans une taille précise. Par exemple on uploade, et on en
upload dans table [ par eax ]
salut!je voudrais savoir s'il est possible d'uploader un fichier (une image par exemple) et le stocker dans un champ d'une base de données mysqlje vou
Upload image et limitation taille [ par millo ]
Je suis entrain de dévellopé un script ou je propose l'upload de photo mais pour des raisons évidentes je souhaite limiter l'espace disque réservé pou
upload d'image [ par guikiki ]
Bonjour à tous!!!voilà..encore un problème que je n'ai toujours pas réussit à résoudre et ce n'est pas faute d'essayer!!voilà, j'ai fait une page en i
upload d'images [ par G_ki_aime_pas_le_php ]
Salut à tous!G un petit problème j'essaie d'uploader un fichier et ça fonctionne pas.G TOUT essayé j'en ai marre!Est ce que quelqu'un aurait la soluti
afficher les image d'un repertoir et un sous repertoir + upload [ par angelx ]
bonjour je voudrais afficher les image d'un reperoire et SOUS Repertoire + faire un uploade sans donner le chemin de l'image en utilisant les image ge
Upload image .. j'ai cherché mais je ne comprends pas .. :S [ par Hash2o ]
Voila, je suis a la recherche d'une solution pour uploader une image sur un serv. J'ai essayé la plus part des solutions proposer sur le site mais je
Upload :) [ par GuilleW ]
Bonjour bonjour,Je souhaite faire un Upload de fichier.pour cela j'ai un image , et je souhaiterai que lorsque l'on click sur cette image, elle lance
pb de upload [ par filrouge13 ]
Bonjour,Petit problème de upload et de vérification de l'existence du fichier.J'ai récupéré ce code sur un forum, il devrait
Upload apres Redimension d'une image jpg sous Free [ par MrManchot ]
Tout déja Bonjour a tous (c'est mon premier poste ici).Je suis débutant en php, et je n'arrive pas a Uploader apres avoir redimensionn
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
GOOGLE MAPGOOGLE MAP par fatmanajjar
Cliquez pour lire la suite par fatmanajjar
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|