commit
f7099c42d4
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
//BD
|
||||||
|
|
||||||
|
$base="dbenjolys";
|
||||||
|
$login="enjolys";
|
||||||
|
$pass="achanger";
|
||||||
|
$dsn='mysql:host=localhost;dbname=dbenjolys';
|
||||||
|
|
||||||
|
//Vues
|
||||||
|
|
||||||
|
$vues['erreur']='vues/erreur.php';
|
||||||
|
$vues['vuephp1']='vues/vuephp1.php';
|
||||||
|
$vues['home']='vues/home.php';
|
||||||
|
$vues['login']='vues/login.php';
|
||||||
|
$vues['myNews']='vues/myNews.php';
|
||||||
|
$vues['signUp']='vues/signUp.php';
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,129 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Controleur {
|
||||||
|
|
||||||
|
function __construct() {
|
||||||
|
require_once("config/config.php");
|
||||||
|
require_once("modeles/Connection.php");
|
||||||
|
require_once("modeles/gateWayNews.php");
|
||||||
|
//global $rep,$vues,$dsn,$login,$pass;
|
||||||
|
global $rep;
|
||||||
|
// nécessaire pour utiliser variables globales
|
||||||
|
// on démarre ou reprend la session
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
|
||||||
|
//debut
|
||||||
|
|
||||||
|
//on initialise un tableau d'erreur
|
||||||
|
$dVueEreur = array ();
|
||||||
|
|
||||||
|
//connection BBD
|
||||||
|
|
||||||
|
try{
|
||||||
|
$con=new Connection($dsn,$login,$pass);
|
||||||
|
}
|
||||||
|
catch( PDOException $Exception ) {
|
||||||
|
$dVueEreur[] = "Connection impossible à la BBD !!";
|
||||||
|
require($rep.$vues['erreur']);
|
||||||
|
}
|
||||||
|
$gateWayNews = new gateWayNews($con);
|
||||||
|
|
||||||
|
//VALIDER L'ACTION
|
||||||
|
|
||||||
|
try{
|
||||||
|
if (isset($_REQUEST['action'])){
|
||||||
|
$action = $_REQUEST['action'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$action = NULL ;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch($action) {
|
||||||
|
|
||||||
|
//pas d'action, on réinitialise 1er appel
|
||||||
|
case NULL:
|
||||||
|
$lesNews = $gateWayNews->affichageNewsPageHome(0,10);
|
||||||
|
require($vues['home']);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "login":
|
||||||
|
$this->login();
|
||||||
|
|
||||||
|
case "signUp":
|
||||||
|
$this->signUp();
|
||||||
|
|
||||||
|
case "myNews":
|
||||||
|
$this->myNews();
|
||||||
|
|
||||||
|
case "addNews":
|
||||||
|
$this->addNews();
|
||||||
|
|
||||||
|
case "deleteNews":
|
||||||
|
deleteNews();
|
||||||
|
break;
|
||||||
|
|
||||||
|
//mauvaise action
|
||||||
|
default:
|
||||||
|
$dVueEreur[] = "Erreur 404 !!";
|
||||||
|
require($rep.$vues['erreur']);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception $e)
|
||||||
|
{
|
||||||
|
$dVueEreur[] = "Erreur inattendue!!! ";
|
||||||
|
require ($rep.$vues['erreur']);
|
||||||
|
}
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
}//fin constructeur
|
||||||
|
|
||||||
|
function login(){
|
||||||
|
if ( !isset($_POST['submit'])){
|
||||||
|
require($rep.$vues['home']);
|
||||||
|
require($rep.$vues['login']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//Valider la saisies
|
||||||
|
//Valider l'utilisateur
|
||||||
|
//Donner un cookie
|
||||||
|
//redirection sur mes news
|
||||||
|
require($rep.$vues['login']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function signUp(){
|
||||||
|
if ( !isset($_POST['submit'])){
|
||||||
|
require($rep.$vues['home']);
|
||||||
|
require($rep.$vues['signUp']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//Valider la saisies
|
||||||
|
//Valider l'utilisateur
|
||||||
|
//redirection sur login
|
||||||
|
require($rep.$vues['signUp']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function myNews(){
|
||||||
|
$lesNews = $gateWayNews->affichageNewsPageMesNews();
|
||||||
|
require($rep.$vues['myNews']);
|
||||||
|
}
|
||||||
|
|
||||||
|
function addNews(){
|
||||||
|
if ( 1 == 1/*Vérifier si connecter */){
|
||||||
|
//Verifier si il existe
|
||||||
|
//Veridier la saisie
|
||||||
|
//add news
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
require($rep.$vues['login']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}//fin class
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
require_once("controleur/Controleur.php");
|
||||||
|
|
||||||
|
$cont = new Controleur();
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Connection extends PDO{
|
||||||
|
|
||||||
|
private $stmt;
|
||||||
|
|
||||||
|
public function __construct(string $dsn, string $username, string $password) {
|
||||||
|
|
||||||
|
parent::__construct($dsn,$username,$password);
|
||||||
|
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** * @param string $query
|
||||||
|
* @param array $parameters *
|
||||||
|
* @return bool Returns `true` on success, `false` otherwise
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function executeQuery(string $query, array $parameters = []) : bool{
|
||||||
|
$this->stmt = parent::prepare($query);
|
||||||
|
foreach ($parameters as $name => $value) {
|
||||||
|
$this->stmt->bindValue($name, $value[0], $value[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->stmt->execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getResults() : array {
|
||||||
|
return $this->stmt->fetchall();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class News {
|
||||||
|
|
||||||
|
private $date ;
|
||||||
|
private $titre ;
|
||||||
|
private $contenu ;
|
||||||
|
|
||||||
|
function __construct($date,$titre,$contenu){
|
||||||
|
$this->date = $date ;
|
||||||
|
$this->titre = $titre ;
|
||||||
|
$this->contenu = $contenu ;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class gateWayNews {
|
||||||
|
|
||||||
|
private $con ;
|
||||||
|
|
||||||
|
function __construct($con) {
|
||||||
|
require_once("modeles/News.php");
|
||||||
|
$this->con = $con;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
private function returnTabNews($data){
|
||||||
|
Foreach ($data as $row){
|
||||||
|
$tab[] = new News($row['date'],$row['titre'],$row['contenu']);
|
||||||
|
}
|
||||||
|
return $tab;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function affichageNewsPageHome($start,$limit){
|
||||||
|
|
||||||
|
$query = "SELECT * FROM News ORDER BY date LIMIT :start,:limit" ;
|
||||||
|
$this->con->executeQuery($query,array(':start' => array($start, PDO::PARAM_INT),
|
||||||
|
':limit' => array($limit, PDO::PARAM_INT)));
|
||||||
|
return $this->con->getResults();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function affichageNewsPageMesNews($user): array{
|
||||||
|
$query = "SELECT * FROM News WHERE XXXXX=user=:user";
|
||||||
|
$con->executeQuery($query,array(':user' => array($user,PDO::PARAM_INT)));
|
||||||
|
return returnTabNews($this->con->getResults());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function modifierNews($key,$newContenu,$newTitre){
|
||||||
|
$query = "UPDATE News SET contenu=:newContenu and titre=:newTitre WHERE user=:key";
|
||||||
|
$con->executeQuery($query,array(':newContenu' => array($newContenu,PDO::PARAM_STR),
|
||||||
|
':newTitre' => array($newTitre,PDO::PARAM_STR),
|
||||||
|
':user' => array($key,PDO::PARAM_INT)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function supprimerNews(){
|
||||||
|
$query = "DELETE News WHERE xxxxxxxxxxxx";
|
||||||
|
$con->executeQuery($query,array());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function creerNews(){
|
||||||
|
$query = "INSERT INTO News(xx,xx,xx,xx) VALUES ";
|
||||||
|
$con->executeQuery($query,array());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
public function printAllNews(){
|
||||||
|
$query = "SELECT * FROM News";
|
||||||
|
$this->con->executeQuery($query);
|
||||||
|
return $this->con->getResults();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function insertNews($news){
|
||||||
|
if ( strlen($news->titre) == 0 or strlen($news->contenu) == 0){
|
||||||
|
throw new Exception('Class -> NewsGateway /
|
||||||
|
Fonction -> insertNews /
|
||||||
|
Titre ou contenu est vide !!');
|
||||||
|
}
|
||||||
|
$query = "INSERT INTO News (titre,contenu) VALUES (:titre,:contenu)";
|
||||||
|
$this->con->executeQuery($query,array(':titre' => array($news->titre, PDO::PARAM_STR),
|
||||||
|
':contenu' => array($news->contenu, PDO::PARAM_STR)));
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
?>
|
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace modeles ;
|
||||||
|
|
||||||
|
class User {
|
||||||
|
|
||||||
|
private $pseudo ;
|
||||||
|
|
||||||
|
function __construct($pseudo){
|
||||||
|
$this->pseudo = $pseudo ;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,18 @@
|
|||||||
|
<html>
|
||||||
|
<head><title>Erreur</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>ERREUR !!!!!</h1>
|
||||||
|
<?php
|
||||||
|
if (isset($dVueEreur)) {
|
||||||
|
foreach ($dVueEreur as $value){
|
||||||
|
echo $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body> </html>
|
@ -0,0 +1,30 @@
|
|||||||
|
<html>
|
||||||
|
<head><title>Home</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Home !!!!!</h1>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<form method="post" name="form" id="form">
|
||||||
|
<input type="submit" value="Login">
|
||||||
|
<input type="hidden" name="action" value="login">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<form method="post" name="form" id="form">
|
||||||
|
<input type="submit" value="Sign-up">
|
||||||
|
<input type="hidden" name="action" value="signUp">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
Foreach ($lesNews as $row){
|
||||||
|
?>
|
||||||
|
<h3><?php echo $row['titre'] ?><h3>
|
||||||
|
<p><?php echo $row['contenu'] ?><p>
|
||||||
|
<p><?php echo $row['date'] ?><p>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</body> </html>
|
@ -0,0 +1,17 @@
|
|||||||
|
<html>
|
||||||
|
<head><title>Login</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Login !!!!!</h1>
|
||||||
|
|
||||||
|
<form method="post" name="formLogin" id="formLogin">
|
||||||
|
<p>Pseudo : <input type="text" name="nom" /></p>
|
||||||
|
<p>Password : <input type="text" name="passwd" /></p>
|
||||||
|
<p><input type="submit" name="submit" value="OK"></p>
|
||||||
|
<input type="hidden" name="action" value="login">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
</body> </html>
|
@ -0,0 +1,18 @@
|
|||||||
|
<html>
|
||||||
|
<head><title>Mes News</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Mes News !!!!!</h1>
|
||||||
|
<br/>
|
||||||
|
<?php
|
||||||
|
Foreach ($lesNews as $row){
|
||||||
|
?>
|
||||||
|
<h3><?php $row['titre'] ?><h3>
|
||||||
|
<p><?php $row['contenu'] ?><p>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</body> </html>
|
@ -0,0 +1,18 @@
|
|||||||
|
<html>
|
||||||
|
<head><title>Sign-up</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Sign-up</h1>
|
||||||
|
|
||||||
|
<form method="post" name="formLogin" id="formLogin">
|
||||||
|
<p>Pseudo : <input type="text" name="nom" /></p>
|
||||||
|
<p>Password : <input type="text" name="passwd" /></p>
|
||||||
|
<p>Valider password : <input type="text" name="passwd2" /></p>
|
||||||
|
<p><input type="submit" name="submit" value="OK"></p>
|
||||||
|
<input type="hidden" name="action" value="sign-up">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
</body> </html>
|
Loading…
Reference in new issue