first commit

master
Enzo JOLYS 2 years ago
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…
Cancel
Save