PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
];
$this->pdo = new PDO($dsn, DB_USER, DB_PASS, $options);
$this->logMessage("Connexion à la base de données établie avec succès");
} catch (PDOException $e) {
$this->error = "Erreur de connexion : " . $e->getMessage();
$this->logMessage($this->error);
die($this->error);
}
}
public function getConnection() {
return $this->pdo;
}
private function logMessage($message) {
$logFile = 'pdo_log.txt';
$timestamp = date('Y-m-d H:i:s');
file_put_contents($logFile, "[$timestamp] $message\n", FILE_APPEND);
}
public function createSampleTable() {
try {
$sql = "CREATE TABLE IF NOT EXISTS utilisateurs (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
age INT,
ville VARCHAR(100),
date_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4";
$this->pdo->exec($sql);
$this->logMessage("Table 'utilisateurs' créée avec succès");
return true;
} catch (PDOException $e) {
$this->logMessage("Erreur création table : " . $e->getMessage());
return false;
}
}
public function insertUser($nom, $email, $age, $ville) {
try {
$sql = "INSERT INTO utilisateurs (nom, email, age, ville) VALUES (:nom, :email, :age, :ville)";
$stmt = $this->pdo->prepare($sql);
$stmt->execute([
':nom' => $nom,
':email' => $email,
':age' => $age,
':ville' => $ville
]);
return $this->pdo->lastInsertId();
} catch (PDOException $e) {
$this->logMessage("Erreur insertion : " . $e->getMessage());
return false;
}
}
public function getUsers() {
try {
$sql = "SELECT * FROM utilisateurs ORDER BY date_creation DESC";
$stmt = $this->pdo->query($sql);
return $stmt->fetchAll();
} catch (PDOException $e) {
$this->logMessage("Erreur récupération : " . $e->getMessage());
return [];
}
}
public function deleteUser($id) {
try {
$sql = "DELETE FROM utilisateurs WHERE id = :id";
$stmt = $this->pdo->prepare($sql);
return $stmt->execute([':id' => $id]);
} catch (PDOException $e) {
$this->logMessage("Erreur suppression : " . $e->getMessage());
return false;
}
}
}
// Initialisation
$db = new Database();
$db->createSampleTable();
$message = '';
// Traitement des formulaires
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'add':
if (isset($_POST['nom'], $_POST['email'], $_POST['age'], $_POST['ville'])) {
$id = $db->insertUser($_POST['nom'], $_POST['email'], $_POST['age'], $_POST['ville']);
if ($id) {
$message = '
✅ Utilisateur ajouté avec succès (ID: ' . $id . ')
';
} else {
$message = '❌ Erreur lors de l\'ajout (email peut-être déjà utilisé)
';
}
}
break;
case 'delete':
if (isset($_POST['id'])) {
if ($db->deleteUser($_POST['id'])) {
$message = '✅ Utilisateur supprimé avec succès
';
} else {
$message = '❌ Erreur lors de la suppression
';
}
}
break;
}
}
}
$users = $db->getUsers();
?>
Apprentissage PHP & PDO - Page Echo
📢 La fonction echo en PHP
";
echo "echo 'Hello World!'
";
echo "echo 'Date du jour : ' . date('d/m/Y') . '
'";
echo "
Résultat :
";
echo "Hello World!
";
echo "Date du jour : " . date('d/m/Y') . "
";
?>
💡 Astuce : echo permet d'afficher du texte, des variables et du HTML dans votre page web.
👥 Liste des utilisateurs ()
Aucun utilisateur pour le moment. Ajoutez-en un !
| ID |
Nom |
Email |
Âge |
Ville |
Date création |
Action |
|
|
|
|
|
|
|
📁 Installation via FTP (WinSCP / FileZilla)
Étapes :
1. Téléchargez et installez
FileZilla ou
WinSCP
2. Ouvrez votre client FTP
3. Connectez-vous avec vos identifiants FTP (hôte, utilisateur, mot de passe)
4. Naviguez vers le répertoire web (public_html, www, htdocs)
5. Glissez-déposez ce fichier echo.php dans le répertoire
6. Modifiez les permissions : clic droit → "File permissions" → 644
7. Accédez à http://votresite.com/echo.php
🔧 Configuration de la base de données : Modifiez les constantes DB_HOST, DB_NAME, DB_USER, DB_PASS au début du fichier.
📚 Ressources pour apprendre PHP, PDO et phpMyAdmin
🔍 Exemple de variables PHP
";
echo "\$version = $version
";
echo "\$estFacile = " . ($estFacile ? "true" : "false") . "
";
echo "
🔹 Affichage avec echo : \"J'apprends $nom $version\"
";
echo "Résultat : J'apprends $nom $version";
?>
📅 Page générée le |
🐘 PHP Version : |
📊 Base de données :