problème sur un appel d'une fonction

yonel3082
Invité n'ayant pas de compte PHPfrance

12 nov. 2016, 18:48

Bonjour,

Je souhaiterai avoir un avis de quelqu’un d'avisé,
Je suis en train de créé un site sur lequel je suis confronté à un problème. Ce site permet de s’inscrire et d’avoir des amis.
le développement est terminé mais j'ai un souci, je bute sur un appel de focntion.
En effet lorsqu'une une personne est inscrite, celle ci peut avoir une liste de plusieurs amis, cette personne peut à tout moment supprimer des personnes sur cette liste.
Mon problème est la suppression d'un de ses amis.
Je vous copie colle une partie du code:

Première partie du code se trouvant dans une classe:
<?php
/*
     * fonction qui va supprimer un couple de majorfriend, 
     * à conditions que celui qui supprime n'ait pas été ajouté en majorfriend garantis
     */

    function supMajorfriend($membre_id, $majorfriend_id) {
        //sont il amis
        if (self::isFriends($membre_id, $majorfriend_id)) {
            //controler : si garantis impossible
            $select = "SELECT majorfriend_type FROM majorfriend 
            WHERE mf_membre_id1='" . Core::controleChaineBdd($membre_id) . "' AND mf_membre_id2='" . Core::controleChaineBdd($majorfriend_id) . "'";
            $select = mysql_query($select);
            if (mysql_num_rows($select) > 0) {
                //on supprime
                $delete = "DELETE FROM majorfriend WHERE mf_membre_id1='" . Core::controleChaineBdd($membre_id) . "' AND mf_membre_id2='" . Core::controleChaineBdd($majorfriend_id) . "'";
                mysql_query($delete) or die(mysql_error());
                $delete = "DELETE FROM majorfriend WHERE mf_membre_id2='" . Core::controleChaineBdd($membre_id) . "' AND mf_membre_id1='" . Core::controleChaineBdd($majorfriend_id) . "'";
                mysql_query($delete);
                //TODO doit on supprimer d'autres éléments (commentaires, publications etc)
            }
        }
    }
Seconde partie du code se trouvant dans un include:
<?php
ini_set('session.save_path', '/home/majorfri/sessions');
session_start();
//inclusions
require_once('../config.php');
require_once('../classes/connect_bdd.php');
if(isset($_SESSION["membre_id"]))
{
	require_once('../classes/Membre.php');
    require_once('../classes/Core.php');
	$Membre=New Membre();
	if (Membre::isFriends($membre_id, $majorfriend_id)) {
	echo $Membre->supMajorfriend($membre_id,$majorfriend_id);}
}
Merci d'avance à ceux qui pourront m'aiguiller.
Modifié en dernier par moogli le 08 déc. 2016, 17:15, modifié 1 fois.
Raison : BB Code

Mammouth du PHP | 2703 Messages

12 nov. 2016, 19:06

il faudrait mettre le code entre balise php pour que cela soit plus lisible.
qu'est-ce qui se passe, ne se passe pas comme prévu ?

Eléphant du PHP | 385 Messages

16 nov. 2016, 09:50

Salut, tu es sous php combien? La meilleurs solution et de tester ton script ligne par ligne pour voir que le résultat retourné par les requêtes est correct teste tes paramètres pour voir si ils ont bien les valeurs attendu.