Gestionnaire de news basique avec upload d'images

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 / Exemple :


<?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++

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.