database.php
<?php
class Database
{
private static $dbName = 'pandacraft' ;
private static $dbHost = 'localhost' ;
private static $dbUsername = 'root';
private static $dbUserPassword = 'root';
private static $cont = null;
public function __construct() {
die("Erreur d'init");
}
public static function connect()
{
if ( null == self::$cont )
{
try
{
self::$cont = new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword);
}
catch(PDOException $e)
{
die($e->getMessage());
}
}
return self::$cont;
}
public static function disconnect()
{
self::$cont = null;
}
}
?>
newUser.php
<?php
require 'database.php';
function verifierAdresseEmail($sEmail)
{
$sMotif = '`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$`';
$bCorrect = false;
if(preg_match($sMotif,$sEmail))
{
$bCorrect = true;
}
return $bCorrect;
}
function verifBirth($vBirth)
{
$sMotif = '`\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$`';
$bCorrect = false;
if(preg_match($sMotif,$vBirth))
{
$bCorrect = true;
}
return $bCorrect;
}
if ( !empty($_POST)) {
$lastNameError = null;
$firstNameError = null;
$emailError = null;
$birthError = null;
extract($_POST);
$valid = true;
if (empty($lastName)) {
$lastNameError = "Vous n'avez pas rempli votre nom.";
$valid = false;
}
if (empty($firstName)) {
$firstNameError = "Vous n'avez pas rempli votre prénom.";
$valid = false;
}
if (empty($email)) {
$emailError = "Vous n'avez pas rempli votre e-mail.";
$valid = false;
} else if (!verifierAdresseEmail($email)) {
$emailError = "Veuillez renseigner une adresse mail valide";
$valid = false;
}
if (empty($birth)) {
$birthError = "Vous n'avez pas rempli votre date de naissance.";
$valid = false;
} else if (!verifBirth($birth)) {
$birthError = "Vous avez renseigné une date non valide, Usage: AA-MM-JJ ou AA/MM/JJ" ;
$valid = false;
}
if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO user (lastname, firstname, email, birthday) VALUES ('$lastName', '$firstName', '$email', '$birth')";
$q = $pdo->prepare($sql);
$q->execute(array($lastName, $firstName, $email, $birth));
Database::disconnect();
header("Location: index.php");
}
}
$page_title = "Création d'un nouvel utilisateur";
include_once "header.php";
$form_title = "Ajouter à la base de donnée";
$boutton = "Créer";
$action_form = "newUser.php";
include_once "user.php";
include_once "footer.php";
?>
updateUser.php
<?php
require 'database.php';
function verifierAdresseEmail($sEmail)
{
$sMotif = '`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$`';
$bCorrect = false;
if(preg_match($sMotif,$sEmail))
{
$bCorrect = true;
}
return ($bCorrect);
}
function verifBirth($vBirth)
{
$sMotif = '`\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$`';
$bCorrect = false;
if(preg_match($sMotif,$vBirth))
{
$bCorrect = true;
}
return ($bCorrect);
}
$id = null;
if ( !empty($_GET['id']))
{
$id = $_REQUEST['id'];
}
if ( null==$id )
{
header("Location: index.php");
}
if ( !empty($_POST))
{
$lastNameError = null;
$firstNameError = null;
$emailError = null;
$birthError = null;
extract($_POST);
$valid = true;
if (empty($lastName))
{
$lastNameError = "Vous n'avez pas rempli votre nom.";
$valid = false;
}
if (empty($firstName))
{
$firstNameError = "Vous n'avez pas rempli votre prénom.";
$valid = false;
}
if (empty($email))
{
$emailError = "Vous n'avez pas rempli votre e-mail.";
$valid = false;
} else if (!verifierAdresseEmail($email))
{
$emailError = "Veuillez renseigner une adresse mail valide";
$valid = false;
}
if (empty($birth))
{
$birthError = "Vous n'avez pas rempli votre date de naissance.";
$valid = false;
} else if (!verifBirth($birth))
{
$birthError = "Vous avez renseigné une date non valide, Usage: AA-MM-JJ ou AA/MM/JJ" ;
$valid = false;
}
if ($valid)
{
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE user set lastname = ?, firstname = ?, email =?, birthday = ? WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($lastName, $firstName ,$email ,$birth, $id));
Database::disconnect();
header("Location: index.php");
}
}else
{
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM user where id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
$data = $q->fetch(PDO::FETCH_ASSOC);
$lastName = $data['lastname'];
$firstName = $data['firstname'];
$email = $data['email'];
$birth = $data['birthday'];
Database::disconnect();
}
$page_title = "Création d'un nouvel utilisateur";
include_once "header.php";
$form_title = "Modification d'une donnée dans la base";
$boutton = "Mettre à jour";
$action_form ="updateUser.php?id=";
include_once "user.php";
include_once "footer.php";
?>
voila merci pour vos retour et vos conseils, si j'ai codé comme un porc dit le moi toute critique est bonne à prendre !!!!