/**
  * Fixer la configuration de la connexion à la BD.
  * @param string $dsn DNS pour la connexion BD.
  * @param string $username Utilisateur pour la connexion BD.
  * @param string $password Mot de passe pour la connexion BD.
  * @param array $driver_options Options du pilote BD.
  *
  * @return void
  */
 public static function setConfiguration($dsn, $username = '', $password = '', array $driver_options = array())
 {
     self::$_DSN = $dsn;
     self::$_username = $username;
     self::$_password = $password;
     self::$_driverOptions = $driver_options + self::$_driverOptions;
 }
    function __construct()
    {
        $pdo = Connection_DB::getInstance();
        $stmt = $pdo->prepare(<<<SQL
\t\t\t\t\tSELECT *
\t\t\t\t\tFROM TypeBillet
SQL
);
        $stmt->execute();
        $results = $stmt->fetchAll();
        foreach ($results as $result) {
            array_push($this->types, $result['libTypeBillet']);
        }
    }
    public function getHebergements()
    {
        $pdo = Connection_DB::getInstance();
        $query = $pdo->prepare(<<<SQL
\t\t\tSELECT nom, description, url_image, id_adresse, id_hebergeur
\t\t\tFROM Hebergement
\t\t\tWHERE id_herbergeur = :id
\t\t\tORDER BY nom;\t\t
SQL
);
        $query->setFetchMode(PDO::FETCH_CLASS, "Hebergement");
        $query->bindValue(":id", $this->id);
        return $query->fetchAll();
    }
function validePseudo($login)
{
    $b = false;
    $requete = Connection_DB::getInstance()->prepare(<<<SQL
\t\tSELECT login 
\t\tFROM Utilisateur 
\t\tWHERE login = :login 
SQL
);
    $requete->bindValue(':login', $login);
    $requete->execute();
    if ($ligne  = $requete->fetch()) {
        $b = true;
    }
    return $b;
}
    public function afficher()
    {
        $pdo = Connection_DB::getInstance();
        $query = $pdo->prepare(<<<SQL
            SELECT ville, code_postal, rue, numero, pays
            FROM Adresse
            WHERE id = :id; 
SQL
);
        $query->bindValue(":id", $this->id_adresse);
        $ad = $query->fetch();
        $txtAd = <<<HTML
        <p>{$ad['numero']} {$ad['rue']}</p>
        <p>{$ad['code_postal']} {$ad['ville']}</p>
        <p>{$ad['pays']}</p>
HTML;
        $nbChambre = sizeof($this->chambres);
        $res = <<<HTML
    \t\t<div class="panel panel-default">
    \t\t\t<div class="panel-heading">{$this->nom}</div>
    \t\t\t<div class="panel-body">
    \t\t\t\t<div class="col-sm-10 description">
    \t\t\t\t\t<div class="col-sm-4">
HTML;
        if ($this->url_image != null) {
            $res .= <<<HTML
                            <a href="#" class="thumbnail">
                                <img src="{$this->url_image}" alt="{$this->nom}">
                            </a>
HTML;
        }
        $res .= <<<HTML
\t    \t\t\t\t</div>
\t    \t\t\t\t<p>Description : {$this->description}</p>
\t    \t\t\t\t<p>Adresse : {$txtAd}</p>
\t    \t\t\t\t<p>Nombre de chambres disponibles : {nbChambres}</p>
\t    \t\t\t</div>
\t    \t\t\t<div class="col-sm-2">
\t    \t\t\t\t<button type="button" class="btn btn-primary btn-lg">Afficher</button>
\t    \t\t\t</div>
\t    \t\t</div>
\t    \t</div>
HTML;
        return $res;
    }
require_once CONFIG_DIR . "/config_base.php";
require_once INC_DIR . "/autoload.function.php";
$page = new WebPage("Validation Achat des Billets");
$page->appendCssUrl("../css/index.css");
$matchs = array();
$types = array();
$quantites = array();
// var_dump($_POST);
$requeteMatchs = Connection_DB::getInstance()->prepare('SELECT DATE_FORMAT(day, "%d-%m-%Y") AS day
								FROM infs3_prj13.Creneau, infs3_prj13.Match 
								WHERE Match.id_creneau=Creneau.id_creneau
								AND Match.id_match=?');
$requeteTypes = Connection_DB::getInstance()->prepare('SELECT libTypeBillet
								FROM infs3_prj13.TypeBillet
								WHERE id_typeBillet = ?');
$requetePrix = Connection_DB::getInstance()->prepare('SELECT prixBillet AS prix
								FROM infs3_prj13.Disponibilite
								WHERE id_match=?
								AND id_typeBillet=?');
foreach ($_POST as $key => $value) {
    if (preg_match('#match#', $key) === 1) {
        $match = $value;
    } else {
        if (preg_match('#type#', $key) === 1) {
            array_push($types, [$match, $value]);
        } else {
            if (preg_match('#quantite#', $key) === 1) {
                if (!empty($_POST[$key])) {
                    array_push($quantites, $value);
                }
            }
示例#7
0
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
require_once "../config/config_base.php";
require_once CONFIG_DIR . "/config_db.php";
require_once INC_DIR . "/autoload.function.php";
if (isset($_GET['classe']) && $_GET['classe'] != null && isset($_GET['data']) && $_GET['data']) {
    $data = json_decode($_GET['data']);
    $columns = "(";
    $values = "VALUES (";
    foreach ($data as $key => $value) {
        $columns .= $key . ",";
        if (is_string($value)) {
            $values .= "'" . $value . "',";
        } else {
            $values .= $value . ",";
        }
    }
    $columns = substr($columns, 0, -1) . ") ";
    $values = substr($values, 0, -1) . ")";
    $connection = Connection_DB::getInstance();
    $sql = "INSERT INTO " . $_GET['classe'] . " " . $columns . $values;
    $stmt = $connection->prepare($sql);
    $stmt->execute();
} else {
    echo "Echec de l'insertion";
}
echo "Insertion Effectuée";
示例#8
0
<?php

/*
-------------------------------------------------------------------------
Project S3 - Gestionnaire de tournois de Tennis

https://github.com/GroupeProjetS3/ProjectS3
-------------------------------------------------------------------------

LICENSE

This file is part of the ProjectS3.

This is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

this software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
require_once "config_base.php";
require_once INC_DIR . "/autoload.function.php";
Connection_DB::setConfiguration('mysql:host=mysql;dbname=infs3_prj13;charset=utf8', 'infs3_prj13', 'projets3');
//TODO ajouter la config de notre server
    /**
     * cree une instance d'User
     * @param $crypt String mot de passe crypté de l'utilisateur
     * @return User instance de user (depend du type d'user)
     * @throws Exception si le pseudo ou mot de passe est invalide
     */
    public static function createFromAuth($crypt)
    {
        self::startSession();
        $stmt = Connection_DB::getInstance()->prepare(<<<SQL
    SELECT id_user as 'id', login , firstName, lastName,mail
    FROM Utilisateur
    WHERE SHA1(concat(SHA1(mail),:challenge,password))=:code
SQL
);
        $stmt->execute(array(':challenge' => $crypt['challenge'], ':code' => $crypt['code']));
        $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__);
        if (($user = $stmt->fetch()) !== false) {
            $stmt = Connection_DB::getInstance()->prepare(<<<SQL
              SELECT id_arbitre
              FROM Arbitre
              WHERE id_arbitre = :id
SQL
);
            $stmt->bindValue(':id', $user->getId());
            $stmt->execute();
            if (($utilisateur = $stmt->fetch()) !== false) {
                $user->arbitre = true;
            } else {
                $user->arbitre = false;
            }
            $stmt = Connection_DB::getInstance()->prepare(<<<SQL
              SELECT id_joueur
              FROM Joueur
              WHERE id_joueur = :id
SQL
);
            $stmt->bindValue(':id', $user->getId());
            $stmt->execute();
            if (($utilisateur = $stmt->fetch()) !== false) {
                $user->joueur = true;
            } else {
                $user->joueur = false;
            }
            $stmt = Connection_DB::getInstance()->prepare(<<<SQL
              SELECT id_staff
              FROM Staff
              WHERE id_staff = :id
SQL
);
            $stmt->bindValue(':id', $user->getId());
            $stmt->execute();
            if (($utilisateur = $stmt->fetch()) !== false) {
                $user->staff = true;
            } else {
                $user->staff = false;
            }
            $stmt = Connection_DB::getInstance()->prepare(<<<SQL
              SELECT id_hebergeur
              FROM Hebergeur
              WHERE id_hebergeur = :id
SQL
);
            $stmt->bindValue(':id', $user->getId());
            $stmt->execute();
            if (($utilisateur = $stmt->fetch()) !== false) {
                $user->hebergeur = true;
            } else {
                $user->hebergeur = false;
            }
            $stmt = Connection_DB::getInstance()->prepare(<<<SQL
              SELECT id_organisateur
              FROM Organisateur
              WHERE id_organisateur = :id
SQL
);
            $stmt->bindValue(':id', $user->getId());
            $stmt->execute();
            if (($utilisateur = $stmt->fetch()) !== false) {
                $user->organisateur = true;
            } else {
                $user->organisateur = false;
            }
            self::startSession();
            $user->saveIntoSession();
            return $user;
        } else {
            throw new Exception("Pseudo ou mot de passe invalide");
        }
    }
示例#10
0
<?php

require_once "../inc/autoload.function.php";
require_once "../config/config_db.php";
$p = new Webpage("Hebergement");
$p->appendCssUrl('../css/index.css');
$p->appendJsUrl('../js/liens.js');
$p->appendBootstrap("../bootstrap");
$pdo = Connection_DB::getInstance();
$query = $pdo->prepare(<<<SQL
\tSELECT id_hebergeur, id_hebergement, nom, description, id_adresse, image
\tFROM Hebergement ;
SQL
);
$query->setFetchMode(PDO::FETCH_CLASS, "Hebergement");
$query->execute();
$tabHeb = $query->fetchAll();
foreach ($tabHeb as $heb) {
    $p->appendContent($heb->afficher());
}
echo $p->toHTML();
示例#11
0
$pass2 = $_POST['pass2'];
$phone = $_POST['phone'];
if (isset($_POST['lastName']) && isset($_POST['firstName']) && isset($_POST['login']) && isset($_POST['email']) && isset($_POST['pass1']) && isset($_POST['pass2'])) {
    if ($pass1 != $pass2) {
        header("Location: ../front/formulaireInscription.php?pass");
    } elseif (valideEmail($email)) {
        header("Location: ../front/formulaireInscription.php?mail");
    } elseif (validePseudo($login)) {
        header("Location: ../front/formulaireInscription.php?login");
    } else {
        $pass = $pass1;
        $p->appendContent(<<<HTML
            <div>Votre compte à bien était créé  {$firstName}</div>
HTML
);
        $requete = Connection_DB::getInstance()->prepare(<<<SQL
        INSERT INTO Utilisateur (firstName, lastName, login, mail, password, phone) VALUES (:firstName, :lastName, :login, :mail, SHA1(:password), :phone)
SQL
);
        $requete->bindValue(':firstName', $firstName);
        $requete->bindValue(':lastName', $lastName);
        $requete->bindValue(':login', $login);
        $requete->bindValue(':mail', $email);
        $requete->bindValue(':password', $pass);
        $requete->bindValue(':phone', $phone);
        $requete->execute();
    }
} else {
    $p->appendContent(<<<HTML
        <div>le formulaire n'est pas complet</div>
HTML
示例#12
0
 /**
  * @param null $classe
  * @param $fetchAll
  * @return Generator
  */
 function execute($classe = null)
 {
     $this->sql = $this->command();
     $this->sql .= $this->makeRequest();
     if (isset($this->join)) {
         $this->sql .= ' JOIN ' . $this->join;
     }
     if (isset($this->conditions)) {
         $this->sql .= ' WHERE ' . $this->conditions;
     }
     if (isset($this->order)) {
         $this->sql .= ' ORDER BY ' . $this->order;
     }
     $connection = Connection_DB::getInstance();
     $stmt = $connection->prepare($this->sql);
     $stmt->execute();
     if ($classe != null) {
         $stmt->setFetchMode(PDO::FETCH_CLASS, $classe);
     } else {
         if ($this->command() == 'SELECT') {
             $stmt->setFetchMode(PDO::FETCH_ASSOC);
             while ($result = $stmt->fetch()) {
                 (yield $result);
             }
         }
     }
 }
示例#13
0
<?php

require_once "../config/config_base.php";
require_once CONFIG_DIR . "/config_db.php";
require_once INC_DIR . "/autoload.function.php";
$requeteMatchs = Connection_DB::getInstance()->prepare('SELECT id_match, DATE_FORMAT(day, "%d-%m-%Y") AS day, DATE_FORMAT(hDeb, "%H:%i") AS hDeb 
								FROM infs3_prj13.Creneau, infs3_prj13.Match 
								WHERE Match.id_creneau=Creneau.id_creneau');
$requeteMatchs->execute();
$matchs = $requeteMatchs->fetchAll();
$matchs = $matchs ?: array();
header('Content-type: application/json');
echo json_encode($matchs, JSON_PRETTY_PRINT);