/** * 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); } }
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";
<?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"); } }
<?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();
$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
/** * @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); } } } }
<?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);