PHP

Demande d'ami 2/3

Résolu

Yo je fait le tuto de sitedudev pour faire des demande d'ami en php et a la vidéo 2 au début il fait une commande avec beaucoup de departement dans le code sauf que a l'inscription j'ai enlevé département ducoup 'jai pas de fichier comment faire et je peux pas faire la requete sql

465 vues
24 avril 2021 à 15:54
Cette pub permet au site de vivre ...

L'ensemble du PHP dans la page voir-profil:


<?php 
session_start ();


    require_once 'inc/db.php';


    $utilisateur_id = (int) trim($_GET['id']);


    if(empty($utilisateur_id)) {
        header('Location: ../membres.php');
        exit;
    } 


    if(isset($_SESSION['id'])){
        $req = $pdo->prepare('SELECT u.*, r.id_demandeur, r.id_receveur, r.statut, r.id_bloqueur 
        FROM users u LEFT JOIN relation r ON (id_receveur = u.id AND id_demandeur = :id2) OR (id_receveur = :id2 AND id_demandeur = u.id) 
        WHERE u.id = :id1');
        $req->execute(array('id1' => $utilisateur_id, 'id2' => $_SESSION['id']));
    
    } else{
        $req = $pdo->prepare('SELECT u.* FROM users u WHERE u.id = :id1');
        $req->execute(array('id1' => $utilisateur_id));
    }
    
    $voir_utilisateur = $req->fetch();


    if(!isset($voir_utilisateur->id)){
        header('Location: ../membres.php');
        exit;
    }



if(!empty($_POST)){
    extract($_POST);
    $valid = (boolean) true;


    if(isset($_POST['user-ajouter'])){


        $req = $pdo->prepare('SELECT id FROM relation WHERE (id_receveur = ? AND id_demandeur = ?) OR (id_receveur = ? AND id_demandeur = ?)');
        $req->execute(array($voir_utilisateur->id, $_SESSION['id'], $_SESSION['id'], $voir_utilisateur->id));
            
        $verif_relation = $req->fetch();
        if(isset($verif_relation->id)){
            $valid = false;
        }


        if($valid){
            $req = $pdo->prepare('INSERT INTO relation (id_demandeur, id_receveur, statut) VALUES (?, ?, ?)');
            $req->execute(array($_SESSION['id'], $voir_utilisateur->id, 1));
        }
        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();
    }elseif(isset($_POST['user-supprimer'])){


        $req = $pdo->prepare('DELETE FROM relation WHERE (id_receveur = ? AND id_demandeur = ?) OR (id_receveur = ? AND id_demandeur = ?)');
        $req->execute(array($voir_utilisateur->id, $_SESSION['id'], $_SESSION['id'], $voir_utilisateur->id));


        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();
    }elseif(isset($_POST['user-bloquer'])){


        $req = $pdo->prepare("SELECT id 
                FROM relation 
                WHERE (id_receveur = :id1 AND id_demandeur = :id2) OR (id_receveur = :id2 AND id_demandeur = :id1)");
        $req->execute(array('id1' => $voir_utilisateur->id, 'id2' => $_SESSION['id']));     
        
        $verif_relation = $req->fetch();
        
        if(isset($verif_relation->id)){
            $req = $pdo->prepare("UPDATE relation SET id_bloqueur = ? WHERE id = ?");
            $req->execute(array($voir_utilisateur->id, $verif_relation->id));   
        }else{
            $req = $pdo->prepare("INSERT INTO relation (id_demandeur, id_receveur, statut, id_bloqueur) VALUES (?, ?, ?, ?)");
            $req->execute(array($_SESSION['id'], $voir_utilisateur->id, 3, $voir_utilisateur->id)); 
        }
        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();


    }elseif(isset($_POST['user-debloquer'])){


        $req = $pdo->prepare("SELECT id, statut
                FROM relation 
                WHERE (id_receveur = :id1 AND id_demandeur = :id2) OR (id_receveur = :id2 AND id_demandeur = :id1)");
            $req->execute(array('id1' => $voir_utilisateur->id, 'id2' => $_SESSION['id']));     
            
            $verif_relation = $req->fetch();
            
            if(isset($verif_relation->id)){


                if($verif_relation->statut == 3){                   
                    $req = $pdo->prepare("DELETE FROM relation WHERE id = ?");
                    $req->execute(array($verif_relation->id));
                    
                }else{
                    $req = $pdo->prepare("UPDATE relation SET id_bloqueur = ? WHERE id = ?");
                    $req->execute(array(NULL, $verif_relation->id));
                }
                
            }


        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();
    }
}
Cette pub permet au site de vivre ...

5 commentaires

L'ensemble du PHP dans la page voir-profil:


<?php 
session_start ();


    require_once 'inc/db.php';


    $utilisateur_id = (int) trim($_GET['id']);


    if(empty($utilisateur_id)) {
        header('Location: ../membres.php');
        exit;
    } 


    if(isset($_SESSION['id'])){
        $req = $pdo->prepare('SELECT u.*, r.id_demandeur, r.id_receveur, r.statut, r.id_bloqueur 
        FROM users u LEFT JOIN relation r ON (id_receveur = u.id AND id_demandeur = :id2) OR (id_receveur = :id2 AND id_demandeur = u.id) 
        WHERE u.id = :id1');
        $req->execute(array('id1' => $utilisateur_id, 'id2' => $_SESSION['id']));
    
    } else{
        $req = $pdo->prepare('SELECT u.* FROM users u WHERE u.id = :id1');
        $req->execute(array('id1' => $utilisateur_id));
    }
    
    $voir_utilisateur = $req->fetch();


    if(!isset($voir_utilisateur->id)){
        header('Location: ../membres.php');
        exit;
    }



if(!empty($_POST)){
    extract($_POST);
    $valid = (boolean) true;


    if(isset($_POST['user-ajouter'])){


        $req = $pdo->prepare('SELECT id FROM relation WHERE (id_receveur = ? AND id_demandeur = ?) OR (id_receveur = ? AND id_demandeur = ?)');
        $req->execute(array($voir_utilisateur->id, $_SESSION['id'], $_SESSION['id'], $voir_utilisateur->id));
            
        $verif_relation = $req->fetch();
        if(isset($verif_relation->id)){
            $valid = false;
        }


        if($valid){
            $req = $pdo->prepare('INSERT INTO relation (id_demandeur, id_receveur, statut) VALUES (?, ?, ?)');
            $req->execute(array($_SESSION['id'], $voir_utilisateur->id, 1));
        }
        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();
    }elseif(isset($_POST['user-supprimer'])){


        $req = $pdo->prepare('DELETE FROM relation WHERE (id_receveur = ? AND id_demandeur = ?) OR (id_receveur = ? AND id_demandeur = ?)');
        $req->execute(array($voir_utilisateur->id, $_SESSION['id'], $_SESSION['id'], $voir_utilisateur->id));


        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();
    }elseif(isset($_POST['user-bloquer'])){


        $req = $pdo->prepare("SELECT id 
                FROM relation 
                WHERE (id_receveur = :id1 AND id_demandeur = :id2) OR (id_receveur = :id2 AND id_demandeur = :id1)");
        $req->execute(array('id1' => $voir_utilisateur->id, 'id2' => $_SESSION['id']));     
        
        $verif_relation = $req->fetch();
        
        if(isset($verif_relation->id)){
            $req = $pdo->prepare("UPDATE relation SET id_bloqueur = ? WHERE id = ?");
            $req->execute(array($voir_utilisateur->id, $verif_relation->id));   
        }else{
            $req = $pdo->prepare("INSERT INTO relation (id_demandeur, id_receveur, statut, id_bloqueur) VALUES (?, ?, ?, ?)");
            $req->execute(array($_SESSION['id'], $voir_utilisateur->id, 3, $voir_utilisateur->id)); 
        }
        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();


    }elseif(isset($_POST['user-debloquer'])){


        $req = $pdo->prepare("SELECT id, statut
                FROM relation 
                WHERE (id_receveur = :id1 AND id_demandeur = :id2) OR (id_receveur = :id2 AND id_demandeur = :id1)");
            $req->execute(array('id1' => $voir_utilisateur->id, 'id2' => $_SESSION['id']));     
            
            $verif_relation = $req->fetch();
            
            if(isset($verif_relation->id)){


                if($verif_relation->statut == 3){                   
                    $req = $pdo->prepare("DELETE FROM relation WHERE id = ?");
                    $req->execute(array($verif_relation->id));
                    
                }else{
                    $req = $pdo->prepare("UPDATE relation SET id_bloqueur = ? WHERE id = ?");
                    $req->execute(array(NULL, $verif_relation->id));
                }
                
            }


        header('Location: ../voir-profil.php?id=' . $voir_utilisateur->id);
        exit();
    }
}

Yo @Flomir,


du coup il fait sa requête dans le fichier voir-profil.php

Hey @Zeatyse 😃


Humm moi j'ai fais ça avant, j'ai retrouvé le code de mon ancien site, il faudrait que tu me dises, quels fichiers que tu aurais besoin pour tes requêtes ...

Cette pub permet au site de vivre ...