Vous êtes sur la page 1sur 5

Gestionnaire de news basique avec upload d'images-----------------------------------------------Url

: http://codes-sources.commentcamarche.net/source/53032-gestionnaire-denews-basique-avec-upload-d-imagesAuteur : cod57Date
: 03/08/2013
Licence :
=========
Ce document intitul Gestionnaire de news basique avec upload d'images issu de Com
mentCaMarche
(codes-sources.commentcamarche.net) est mis disposition sous les termes de
la licence Creative Commons. Vous pouvez copier, modifier des copies de cette
source, dans les conditions fixes par la licence, tant que cette note
apparat clairement.
Description :
=============
Bonjour
<br />
<br />Apr&eacute;s avoir d&eacute;pann&eacute; un internaute su
r le forum je poste ce bout de code minimaliste
<br />pour g&eacute;rer des new
s ...
<br />
<br />j'ai ajout&eacute; un editeur js nicEdit (leger),
<br />se
curis&eacute; l'upload,
<br />securis&eacute; contre les injection sql / xss.
<br />
<br />Une pagination mysqli que l'on pourra utiliser ulterieurement
<br
/>!!!!! ATTENTION SUR FREE PAS DE Msqli FAUDRA REECRIRE AVEC MYSQL !!!!!
<br /
>dans l'affichage en 'front office' (client)
<br />
<br />un lien direct sur l
'image
<br />
<br />pour se connecter le pass est titi1234
<br />
<br />a++
<br /><a name='source-exemple'></a><h2> Source / Exemple : </h2>
<br /><pre c
lass='code' data-mode='basic'>
&lt;?php
session_start();
require('config/pass
.php');
function dateFr($dateDatetimeMysql){
$d = explode(' ',$dateDatetimeM
ysql);
/*date*/
$d1=explode('-',$d[0]);
$mois=array(0=&gt;'janvier',
1=&gt;'fvrier',

2=&gt;'mars',
3=&gt;'avril',
4=&gt;'mai',
5=&gt;'juin',
6=&gt;'juillet'
,
7=&gt;'aot',
8=&gt;'septembre',
9=&gt;
'octobre',
10=&gt;'novembre',
11=&gt;'dcembre');
$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 f
ichier protege*/
?&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;BIENVENUE N
EWS ADMIN&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;sample&
quot;&gt;
&lt;script src=&quot;nicEdit/nicEdit.js&quot; type=&quot;text/javascr
ipt&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
b
kLib.onDomLoaded(function() {
new nicEditor({iconsPath : 'nicEdit/nicEditorIco
ns.gif'}).panelInstance('area3');
});
&lt;/script&gt;
&lt;a href=
&quot;deconnect.php&quot;&gt;se deconnecter&lt;/a&gt;
&lt;form method
=&quot;post&quot; action=&quot;creer.php&quot; enctype=&quot;multipart/form-data
&quot; /&gt;
titre: &lt;br /&gt;
&lt;input type=&quot;text&quot;
style=&quot;width:500px;&quot; name=&quot;titre&quot;/&gt;&lt;br /&gt;

contenu: &lt;br /&gt;


&lt;textarea name=&quot;contenu&quot; style=&quot;
width:500px; height:200px;&quot; id=&quot;area3&quot; /&gt;&lt;/textarea&gt;&lt;
br /&gt;Image :
&lt;input name=&quot;logo&quot; type=&quot;file&quot;
size=&quot;50&quot; /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;input type=&quot;
submit&quot; name=&quot;upload&quot; value=&quot;Envoyer&quot;&gt;
&lt;/p&g
t; &lt;br /&gt;
&lt;/form&gt;
&lt;/div&gt;
&l
t;?php
require &quot;config/connection.php&quot;;
$sql=&quot
;SELECT * FROM &quot;.$table.&quot; ORDER BY id DESC LIMIT 0,5&quot;; /*a vous
de regler voir upgrade pagination*/
$req= mysql_query($sql) or die ('erreur
sql!&lt;br/&gt;'.$sql.'&lt;br/&gt;'.mysql_error());
while($data=mysq
l_fetch_assoc($req)){
echo &quot;ARTICLE &quot;.$data[&quot;id&quot;]
.&quot; publi le &quot;.dateFr($data[&quot;date_creation&quot;]).&quot; &lt;br
/&gt;&quot;;
if($data['image_news']!==&quot;&quot;){
ech
o '&lt;a href=&quot;upload/'.$data['image_news'].'&quot;&gt;&lt;img src=&quot;up
load/'.$data['image_news'].'&quot; border=&quot;0&quot; height=&quot;90&quot; wi
dth=&quot;120&quot; alt=&quot;img&quot; /&gt;&lt;/a&gt;';
}el
se{
echo $ligne='Pas d\'image dans la base&lt;br /&gt;';
}
echo &quot;&lt;h3&gt;&quot;.stripslashes(html_entity_decode($data[&quot;
titre&quot;])).&quot;&lt;/h3&gt;&quot;;
echo &quot;&lt;p&gt;&quot;.stripsla
shes(html_entity_decode($data[&quot;contenu&quot;])).&quot;&lt;/p&gt;&quot;;
echo &quot;&lt;a href=\&quot;edit.php?id=&quot;.$data[&quot;id&quot;].&quot;\&
quot;&gt;Modifier cette news&lt;/a&gt;&lt;br/&gt;&quot;;
echo &quot;&lt;a h
ref=\&quot;suppr.php?id=&quot;.$data[&quot;id&quot;].&quot;\&quot;&gt;Supprimer
cette news&lt;/a&gt;&quot;;
echo &quot;&lt;hr&gt;&quot;;
}

/*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;
}
?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<br /><a name='conclusion'></a><h2> Conc
lusion : </h2>
<br />bonjour
<br />
<br />editer
<br />config/connection
<
br />
<br />si vous changer $pass=&quot;titi1234'
<br />il faut le changer dan
s chaque fichier ou il est present
<br />bon il y a pas trop de fichiers ou fai
re un include ... (pas eu le temps)
<br />
<br />Vous pouvez tester le script
sur
<br /><a href='http://abyz.free.fr/manageur/index.php' target='_blank'>http
://abyz.free.fr/manageur/index.php</a>
<br />code pour entrer : titi1234
<br /
>
<br />free/.htaccess c'est pour free.fr le fameux php 1 pour passer &agrave;
php5
<br />creer aussi un repertoire sessions &agrave; la racine du site chez f
ree.fr
<br />autrement supprimer le .htaccess chez les autres henergeurs
<br /
>sinon une erreur 500 sera envOy&eacute;e
<br />
<br />Pour plus de securite
<br />
<br />1/ il est bien de copier le fichier .htaccess qui est dans le repe
rtoire secuplus dans upload
<br />si vous travailler avec un serveur apache
<b
r />

<br />2/ sur free.fr je vous conseille de passer en php5 en copiant le .ht
access du repertoire free
<br />&agrave; la racine de votre site pour les autre
s hebergeurs eviter cette manipulation
<br />
<br />a++

Vous aimerez peut-être aussi