Téléverser les fichiers vers "api"
This commit is contained in:
commit
d904669793
28
api/login.php
Normal file
28
api/login.php
Normal file
@ -0,0 +1,28 @@
|
||||
GNU nano 8.4 login.php
|
||||
<?php
|
||||
session_start();
|
||||
require '../config/db.php';
|
||||
$env = require '../config/env.php';
|
||||
|
||||
$data = json_decode(file_get_contents('php://input'), true);
|
||||
$username = trim($data['username'] ?? '');
|
||||
$password = $data['password'] ?? '';
|
||||
|
||||
$stmt = $pdo->prepare("SELECT * FROM utilisateurs WHERE pseudo = ?");
|
||||
$stmt->execute([$username]);
|
||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if (!$user || !password_verify($password, $user['mot_de_passe'])) {
|
||||
echo json_encode(['success'=>false,'message'=>'Identifiants incorrects']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$_SESSION['user_id'] = $user['id'];
|
||||
$isAdmin = strtolower($user['pseudo']) === 'admin';
|
||||
|
||||
echo json_encode([
|
||||
'success'=>true,
|
||||
'message'=>'Connexion réussie',
|
||||
'isAdmin'=>$isAdmin,
|
||||
'flag'=>$isAdmin ? $env['FLAG'] : null
|
||||
]);
|
||||
4
api/logout.php
Normal file
4
api/logout.php
Normal file
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
session_start();
|
||||
session_destroy();
|
||||
echo json_encode(['success'=>true,'message'=>'Déconnexion réussie']);
|
||||
37
api/post.php
Normal file
37
api/post.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
session_start();
|
||||
require '../config/db.php';
|
||||
|
||||
$userId = $_SESSION['user_id'] ?? null;
|
||||
if(!$userId){
|
||||
echo json_encode(['success'=>false,'message'=>'Vous devez être connecté']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$content = trim($_POST['content'] ?? '');
|
||||
if(!$content){
|
||||
echo json_encode(['success'=>false,'message'=>'Message vide']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Insertion du message
|
||||
$stmt = $pdo->prepare("INSERT INTO messages (id_utilisateur, contenu, date_creation)>
|
||||
$stmt->execute([$userId, $content]);
|
||||
$messageId = $pdo->lastInsertId();
|
||||
|
||||
// Upload de fichier
|
||||
if(!empty($_FILES['image']['tmp_name'])){
|
||||
$file = $_FILES['image'];
|
||||
$allowedTypes = ['image/png','image/jpeg'];
|
||||
if(!in_array($file['type'],$allowedTypes) || $file['size']>2*1024*1024){
|
||||
echo json_encode(['success'=>false,'message'=>'Fichier non valide']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$data = file_get_contents($file['tmp_name']);
|
||||
$base64 = 'data:'.$file['type'].';base64,'.base64_encode($data);
|
||||
$stmt = $pdo->prepare("INSERT INTO fichiers (id_message, nom_fichier, chemin_fic>
|
||||
$stmt->execute([$messageId, $file['name'], $base64, $file['size'], $file['type']>
|
||||
}
|
||||
|
||||
echo json_encode(['success'=>true,'message'=>'Post publié avec succès']);
|
||||
26
api/register.php
Normal file
26
api/register.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
session_start();
|
||||
require '../config/db.php';
|
||||
|
||||
$data = json_decode(file_get_contents('php://input'), true);
|
||||
|
||||
$username = trim($data['username'] ?? '');
|
||||
$password = $data['password'] ?? '';
|
||||
|
||||
if ($username === '' || strlen($password) < 6) {
|
||||
echo json_encode(['success'=>false,'message'=>'Pseudo ou mot de passe invalide']>
|
||||
exit;
|
||||
}
|
||||
|
||||
$stmt = $pdo->prepare("SELECT id FROM utilisateurs WHERE pseudo = ?");
|
||||
$stmt->execute([$username]);
|
||||
if ($stmt->fetch()) {
|
||||
echo json_encode(['success'=>false,'message'=>'Pseudo déjà utilisé']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$hash = password_hash($password, PASSWORD_BCRYPT);
|
||||
$stmt = $pdo->prepare("INSERT INTO utilisateurs (pseudo, mot_de_passe, date_inscript>
|
||||
$stmt->execute([$username, $hash]);
|
||||
|
||||
echo json_encode(['success'=>true,'message'=>'Inscription réussie']);
|
||||
Loading…
Reference in New Issue
Block a user